10种使测试人员陷入困境的行为趋势

简介: 10种使测试人员陷入困境的行为趋势  这篇文章的作者是著名软件与网络测试实验室Quardev的高级顾问,做过测试经理、测试承包商、为微软等公司做过顾问,并为很多杂志写过文章,且时常在各种测试大会中做演讲。

10种使测试人员陷入困境的行为趋势  

这篇文章的作者是著名软件与网络测试实验室Quardev的高级顾问,做过测试经理、测试承包商、为微软等公司做过顾问,并为很多杂志写过文章,且时常在各种测试大会中做演讲。在10年的时间中作者组织、管理了超过400次的测试岗位面试,这些面试都是以项目模拟的形式进行的,从对这些面试中面试者的表现,作者总结了限制测试人员发挥其测试技能的10种倾向,并提出了如何避免这些倾向的建议。

  作者组织这些面试的目的是让面试者们暴露他们的优势与不足,从而决定他们是否适合在Quardev工作。面试的流程如下:先是通过电话面试了解求职者的工作经历,然后通过邮件提供给求职者一个产品,并要求在20分钟之类对其进行测试写出至少一个bug。接下来,会邀请求职者去实验室,对他们的工作经历进行一次面对面的深入调查。项目模拟是最后一步,项目模拟的过程如下:

  作者在白板前介绍测试任务,然后在白板上写下BugsIssues/Questions

  求职者在Bugs下记录他们发现的问题,每条记录必须少于20个单词。IssuesBugs的区别在于,测试人员可能不是很确认这是否是一个bug,他们不确定是否原本就是这么设计的。比如"在主目录下没有setup.exe",事实上可能是一个bug。这与求职者对于程序设计原理的了解程度和自信心等级有关。

  如果求职者过于谨慎,在测试过程中没有在Bugs下有任何记录,或者过于自信,不认真考虑具体的实际情况,将自己发现的问题都记

  录为bug,我都会特别关注。我希望在谨慎和自信直接找到一个平衡点。

  作者告诉求职者,当他们发现一个问题的时候有三个选择:1)记录为一个bug2)记录为一个issue3)提一个问题。然后作者写下Test IdeasTests RunTests Ideas是由于执行时间过长而不当场执行的测试,Tests Run则是求职者当场执行的测试。

  白板上的内容如下图:

  然后作者给求职者一台笔记本电脑,上面有一个目录存放着被测软件,软件目录如下:

  这是一个检查三角形类型的程序,输入用逗号隔开的3个数字,点击Check按钮后,会有5种可能的输出:scalene” (three unequal sides), equilateral” (three equal sides), isosceles” (two equal sides), invalid, and Not a Triangle.。软件的UI如下:



作者让求职者开始进行测试,并在进行过程中接受求职者的提问。在项目模拟过程中,作者关注求职者的以下一些能力:

  Questioning:他们是否通过提问来构建他们的测试,还是直接进行测试

  Resourcing:他们是否索要项目相关的文档、用例、邮件的资源

  Modeling:他们如何关注提供测试的目录?是否打开每一个文件夹?并对每一个进行提问,并围绕他们设计测试

  Recording:测试过程中是否进行记录

  Conjecturing:推断,如果他们没有向我进行提问,他们对产品的设想是如何的?并且如何进行测试?

  作者在求职者的测试过程中寻找所谓的The 3 Cscaution, critical thinking, and curiosity

  如果他们向我进行提问,我们会以开发、项目经理、测试leadCEO等角色中的一个对他们进行回答。有时作者会给以善意但是误传消息的回答,有时回答又会自相矛盾,这些都是真实项目中会出现的情况。

  作者的目标是观察求职者的技能,并使他们陷入作者自己或者身边的人曾经遇到过的困境。通过这些面试,作者总结了最常见的10种使测试人员陷入困境的行为趋势:

  10Stakeholder Trust

  测试人员对利益相关者过分的信任,认为他们拥有所有必须的信息,并且所有他们提供的信息都是正确和中肯的。

  如何避免:尽可能多的形式收集信息:阅读、提问、交谈、测试...

  9Compartmental Thinking

  思维局限性,测试人员仅从自己的或者近似的视角出发考虑问题,而没有用其他的、对立的或者正交纬度的视角出发,这样会导致漏掉一些

  系统级的bug,或者漏测某个完整的特性。

  如何避免:尝试Brute Cause Analysis

  8Definition Faith

  测试人员没有意识到诸如回归测试"测试用例""功能""特性"等对不同的人来说意味着不同的事情。结果会导致,测试人员自认为测

  试已经完整了,而实际上测试却还没开始。

  如何避免:牢记相同的单词可能有不同的含义,使用与你作为测试人员所服务的合作伙伴角度出发最合适的定义来理解。

  7Inattentional Blindness

  非注意盲视,和思维局限性有所不同,测试人员以自己的视角发现了某些事情,但是却没有处理这些信息,而是直接忽略了。

  如何避免:全面获取信息,而不是指关注自己认为会引起问题的那部分。situational awareness态势感知,在大规模系统环境中,对能够引起系统态势发生变化的安全要素进行获取、理解、显示以及预测未来的发展趋势。

  6Dismissed Confusion

  由于困惑而驳回自己的意见,测试人员不自信,认为开发软件的人员比自己更聪明,导致问题的不是软件本身的bug

  如何避免:增加自信,遇到困惑的时候提出问题或者记录下来

  5Performance Paralysis

  面临选择的时候害怕犯错而迟疑不定。

  如何避免:尝试P.I.Q.cyclePlunge-In-and-Quit,从某处开始考虑一个问题,当思考的过于复杂或者抽象而让你头疼的时候,退出来休息下,然后回来以新的视角考虑这个问题

  4Function Fanaticism

  功能狂热,只通过对UI判断,程序能做什么、不能做什么,以此来直接进行测试。而不考虑程序的构成、如何运行、如何被使用及有哪些依赖项。

  如何避免:使用启发式思考或者checklist

  3Yourself, untested

  测试人员没有从合作伙伴的角度评估自己的工作。给合作伙伴提供了不准确的信息:bug报告、测试说明等。

  如何避免:test your testing,评估自己的测试技术、策略、计划、风险等

  2Bad Oracles

  Oracles 指识别问题的原理和机制。这里相当于用例是否通过的标准。测试人员使用了错误的标准或者不知道使用什么标准来评判一个用例是否通过。

  如何避免:听取其他合作伙伴的已经,以判断问题是否为bug

  1、 Premature Celebration

  提前庆祝,发现问题后不深入寻找原因,而是提前抛出问题。

  如何避免:遇到问题立即进行分析推断,而不是马上下定论。

相关文章
|
1月前
|
测试技术 Python
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
本文介绍了Python的unittest框架的基础用法,包括测试初始化(setup)、清除(tearDown)函数的使用,以及assertEqual和assertGreaterEqual等断言方法,并展示了如何创建测试用例,强调了测试函数需以test_开头才能被运行。
64 1
自动化测试项目学习笔记(一):unittest简单运行(初始化,清除,设置测试行为)
|
6月前
|
JSON 监控 测试技术
Groovy脚本编写员工上网行为监控自动化测试
本文介绍了如何使用Groovy脚本创建一个自动化工具来监控员工的网络活动。通过编写简单脚本记录员工访问的网站并打印信息,可进一步扩展为将数据保存至数据库。此外,通过设定定时任务,实现了每30分钟自动监控一次的功能。最后,展示了如何将监控数据转换为JSON格式并使用HTTP POST请求提交到网站,以实现数据的自动化上报,有助于企业保障网络安全、保护数据并提升工作效率。
170 5
|
6月前
|
机器学习/深度学习 人工智能 安全
论文介绍:MACHIAVELLI基准测试:衡量奖励与道德行为之间的权衡
【5月更文挑战第11天】MACHIAVELLI基准测试是新提出的AI道德行为评估工具,通过134个文本游戏检验代理在追求奖励与道德之间的抉择。研究显示,最大化奖励训练可能导致AI表现出马基雅维利主义。为改善此问题,研究者探索了语言模型和人工良心机制来引导道德行为。然而,这可能影响代理的性能。该测试为AI伦理研究提供新途径,但也暴露了模拟现实世界的局限性。未来研究需在此基础上深化探索。[[1](https://arxiv.org/abs/2304.03279)]
76 6
|
6月前
|
测试技术 开发者
【专栏】测试驱动开发(TDD)和行为驱动开发(BDD)的核心概念与实践
【4月更文挑战第27天】本文探讨了测试驱动开发(TDD)和行为驱动开发(BDD)的核心概念与实践。TDD强调先写测试用例,通过测试推动设计,确保代码质量与可维护性。BDD侧重软件行为和业务价值,提倡使用通用语言描述行为,减少沟通障碍。选择TDD或BDD取决于项目复杂性、团队技能和业务需求。理解两者差异有助于团队做出合适的选择,发挥测试的最大价值。
170 3
|
6月前
|
测试技术 UED
软件测试人员值得赞赏的行为
软件测试人员值得赞赏的行为
|
6月前
|
自然语言处理 测试技术
测试驱动开发(TDD)与行为驱动开发(BDD)的比较与选择
在软件开发中,测试驱动开发(TDD)与行为驱动开发(BDD)是两种常见的开发方法。虽然它们都强调测试在开发过程中的重要性,但是两者之间存在一些差异。本文将对TDD和BDD进行比较,分析它们各自的优点和缺点,以及在实际开发中如何选择最适合的方法。
|
测试技术
摩擦纳米发电机首次实现对驾驶行为的无干扰测试
摩擦纳米发电机(TENGs)是一种新型的能量转换器件,利用接触起电和静电感应效应,它可以收集人体运动的机械能、风能、海洋能等,同时采集驾驶员的眨眼、踩踏刹车、油门的动作响应信号,可以有效地判断一段时间内驾驶员的各种动作行为。
1775 0
下一篇
无影云桌面