这个问题是回应我上一篇博文的。因为我正在雇用一个测试员,我觉得应该给他点刺激。以下是软件测试这个职位一般应该具备的品质。
一个好的软件测试员应该…
● 经常思考,什么是我现在能执行的好的测试。
● 提交的bug含义明确,有清晰的复现步骤,能用简洁的语言把问题描述清楚。
● 不会因为开发人员的做法受影响。测试员不应该仅仅是因为他们能够理解那些决定开发人员做法的技术难点,去全力维护自动化。应该做的是交流在当前有意义的领域,自动化是怎么工作的。
● 有能力理解利益相关者的业务。
● 足够专业,能认识到一个系统的某个部分对整个系统的影响;
● 有很强的解决问题的技巧。他们能够控制很多变数,并终找到引发问题的那一个。他们能恰到好处的坚持。他们知道何时应该停止这个问题转向下一个。
● 能够熟练的沟通和倾听,务必做到完全彻底的理解。
● 非常谦逊的去问所有的问题(甚至是愚蠢的问题),同时又有足够的怀疑精神,能从众多资源中找到答案(保持信任但仍需验证)。
● 服从组织安排,坚持完成任务,同时留意未来的新任务。
● 有能力从海量的相互关联中隔离观察到的软件行为,并与整个团队交流这些软件行为。他们能够看着一个不完整的系统的部件,通过想象整个系统来推断该系统实际的优缺点。
● 是开发人员和业务分析人员的受尊敬的伙伴。他们越能理解测试人员的工作有多么努力,越能表现的更友好。
● 自己发现了产品初期的bug很兴奋,用户发现了产品后期的bug很沮丧。
● 有能力处理让人紧张的截止日期,快速做出决定,并且为了利益相关者的终利益而放弃一些喜欢的流程。
● 是软件测试社区的积极的参与者,阅读测试书籍和测试博客,并参加本地的测试团体。
● 有良好的职业道德;能按时完成任务,完不成时进行良好的沟通,必要的时候一周工作40个小时以上,专业的,能服从组织安排, 关注整个团队的成功,诚实的,遵守规定的工作流程,遵守SOX法案,等等。
我还漏掉了什么吗?以下是有价值的评论回复:
另一个没有提到的品质是,测试人员应该有能力阅读和理解代码。举例说,如果测试人员看过单元测试的代码了,他能用不同的方式实现自动化。如果单元测试做了完备的边界检查,然后测试人员可以更专注于业务逻辑验证了。
1、好能具备良好的代码能力
2、快速学习能力
3、这还有一些(至少在我们这里)
① 一个好的测试员知道目前自动化测试的实现程度,在需要的时候能够做一些更新;
② 一个好的测试员能够在执行测试用例期间对用例进行维护(如果跳过了任何一个用例,给出解释);
③ 一个好的测试员知道什么时候违背一条测试用例是正确的,什么时候是不正确的;
④ 一个好的测试员尊重开发人员和其他的测试员的时间。
4、①一个好的测试员知道什么时候应该测试盒子外面;
②一个特别好的测试员永远不会停止问问题;
③知道验证和确认之间的区别;
别以为我会支持你说的这条,“测试员工作越努力,开发人员和业务分析人员越友好”。这会导致人们问一些愚蠢的问题,比如说这个,“测试员是否应该为有缺陷的软件负责”。