[转]译文:五个测试人员必须具有的优点(软件测试人员需要转换视角)

出处:CHJ‘s BLOG

原文:Top 5 Things a Tester Must Have to Excel (And the Software Tester’s Shifting Perspectives) 作者:Ratha Jegatheson

在软件测试领域工作10年中,我曾有幸直接见证这个领域在相对短时间内跨越性的改变。在我刚进入这个领域的时候,除去软件开发周期里面所说的,大家刚开始真正意识到软件测试的重要性和把它从“应该做”提升到“必须做”。

在过去,由于会产生额外的成本,软件测试从来没有被真正重视。为了进行测试活动,人们需要被雇佣和培训,时间表必须被延长以包含测试时间,必须购买和维护更多的机器和软件;并且,也许在增加这些成本后,只会让软件运行得更好和让顾客更加开心。为了保持“质量成本”,到底有多少固定成本需要增加,并且增加到多少能到达平衡点而我们开始会看到好处?

同时,人们对于“你测试这个软件仅仅是因为你不能写代码”的误解使得人们并不仅仅只瞄准软件测试,进而降低了软件测试概念的地位。我需要承认,这个情况在很多场景中是真实的。从一流学位毕业的软件工程师进入工作环境时拥有非常少、甚至没有编程技能,因此选择软件测试职位。这些测试人员会继续变得对自己的空间感到安逸,并不再努力去学习和提升。他们详细他们所知道的并且到目前为止所做的工作已经足够。他们觉得这样就足够了。他们变得自满。

在测试人员看不到的地方,消费市场仍在进化——人们的集中力持续时间变短,快速部署得需求变得更重要,技术的迅速变化使得难以持续保持某个标签(keep tabs on)。业界要求用更少的时间完成更多的事情。敏捷测试的概念变得流行。我承认我也希望融入敏捷这个流行元素。在我的职业生涯中,我曾受命去创建一个测试部门,我有很好的主意去实施敏捷测试方法,使用精益流程和快速测试周期达到尽可能低的缺陷率。我决定保持团队在一个小的规模,因为我们将对所有事情进行自动化,并且在生产环境中测试产品!(译者注:就是每发一个新版本就自动进行自动化测试,用机器代替人工实现更敏捷的反应和拥有更多的测试时间和覆盖率)

就像我们陷入凹槽一样,我们也会陷入无聊且致命的手工测试的陷阱。进入这个陷阱十分简单,因为这不需要努力和脑力。但正视它,并摆脱它并不简单。秘诀就是在一开始的时候就不要陷入这个陷阱。

下面的列表就是一个测试人员必须具备的最重要的五项优势:

1. 持续不断的自我提升

软件测试人员必须持续学习。技术的世界并不迟缓。在眨眼之间它都在变化。今天,我们正在讨论把人通过喷射飞机在太空中飞行实现3小时内从英国转送到澳大利亚。

我不是说每个人需要退出来并开始学习航空科技。我说的是测试人员不应该坐在他们舒适的区域,并用世界上著名的自卫格言“我只测试这个”为他们缺乏能力进行辩护。在这么多东西之中,其中测试人员需要学习的最重要的东西之一就是持续增长产品领域的知识。测试人员普遍存在一个错觉:产品知识等同于领域知识。这是完全错误的。了解产品固然非常重要,但拥有领域知识也是至关重要的。不了解所测试系统所在的领域不仅不负责任而且十分危险。

2. 编程技能

软件测试人员需要了解一些基础的编程知识。一个不会编程——至少了解编程基础——不能真正成为一个软件测试人员。我记得在我第一个工作的公司,有一个产生相同作用的规定:要成为一个测试人员,必须先完成一个程序的开发。这个规定的意义在于,测试人员在测试的时候能联想到代码结构,这个在测试阶段能为开发人员和系统工程师带来巨大的价值。这是一个测试团队真正为他们测试的产品带来的增值服务。

3. 创新思维

测试人员必须持续思考他们怎么完成,并正确地完成以下两件事:
a) 丰富测试用例
b) 优化测试方法

装备上这两项技能,丰富测试用例现在变成只是制定战略层面上的问题。实施已经不是一个问题了。这个解放了测试人员,让他们集中注意力在制定测试计划,而不是测试工作的细节。他们停止“为小事烦恼”,抱歉我没找到更好的形容(原文如此:for the lack of better words)。很多软件测试工具和程序就是这种向前思考的产物。

4. 交流能力

根据我的经验,测试人员很多时候认为他们是“处于办公室后面”的人群,因此不需要想“处于办公室前方”的人那样说那么多话。在一些环境下,他们也许是对的,但并不代表一个测试人员需要减少交流。在几乎所有环境中,交谈和交流是两项完全不同的事物。

一个测试人员必须能够清晰地交流,用词精准并展示出高超的理解能力。 交流技能在这里包括一系列活动,如阅读和理解产品说明书,把它们转化为结构化的测试用例,报告软件缺陷(bug),并清晰、简明地写出给管理者的测试报告,但并不仅仅如此。在会议中,测试人员必须能合理地讨论,并用具有逻辑、清晰的方法传达他们的发现。一句话,为了在企业中保持优势,一个软件测试人员必须拥有超常的说和写的技能。

5. 责任感

这是一个很多我在过去一起共事的软件测试人员可能感到不大舒服的词。我通过两种不同的方式来表达这个词:

a) 对于你测试的产品负责任。许多测试者在早上来到办公室,完成他们的任务,然后在晚上离开办公室。当他们完成当天的任务后,他们就会收拾东西并离开。听起来很正常?是的,而我也曾读到和看到很多人实际上都在努力达成这种“常规”的工作方式。然而,这并不是我想说的重点(也许另一天就会有另一个文章说这事)。

我的重点是,大部分时候测试人员看不到他们的产品实际上在怎么样的大环境下工作。他们是怎么影响经济和市场的,商业和商业运作,顾客和最终用户,等等。要是测试人员可以了解到这些并明白他们正在创造的贡献,他们正在做的工作有这么大的意义,他们将会由于发展而来的拥有感而工作得更好。

b) 对你制造的错误(errors or mistakes)负责任。人们普遍认为测试人员就是找其他人的错误的人。并且测试人员也乐于相信这个概念。但是,测试人员(和其他普通人一样)也会犯错。承认这些错误的是正直的测试人员。

我经常说,承认自己错误、不会说不必要的解释来浪费大家的时间和精力的测试人员是可靠的测试人员。我们马上就会从责备转变成专注于如何解决这个问题。用手指指别人活着转而责备其他人也是很危险的。我曾经经历过这个事情:测试人员发现其他人在责备他们的错误,然后不断地解释或不承认,最后导致了很多不必要的情形和不好的感受。你只需要承认这个错误然后继续前进。

世界在不断往前走,企业也在往前走,测试人员也需要往前走并不被落下。“学习,提升,创新”。

关于作者: Ratha Jegatheson是Actix Malaysia(一个被Amdocs收购的公司)的质量保证经理。她在软件行业工作14年,其中10年在软件测试行业工作。现在她带领着一个涉及测试、部署、支持和维护通讯行业商业网络管理产品的测试部门。她也提供了她的项目,以及她参与过的项目的产品管理经验。她渴望在不久的将来拥有(这个不大确定,原文为:tackle)自己的产品团队,并从她自身领域扩展到更多的其他的商业关键领域。

时间: 2024-08-10 20:43:10

[转]译文:五个测试人员必须具有的优点(软件测试人员需要转换视角)的相关文章

【转。摘】五个测试人员必须具有的优点

下面的列表就是一个测试人员必须具备的最重要的五项优势: 1. 持续不断的自我提升 软件测试人员必须持续学习.技术的世界并不迟缓.在眨眼之间它都在变化.今天,我们正在讨论把人通过喷射飞机在太空中飞行实现3小时内从英国转送到澳大利亚. 我不是说每个人需要退出来并开始学习航空科技.我说的是测试人员不应该坐在他们舒适的区域,并用世界上著名的自卫格言"我只测试这个"为他们缺乏能力进行辩护.在这么多东西之中,其中测试人员需要学习的最重要的东西之一就是持续增长产品领域的知识.测试人员普遍存在一个错觉

[译文]casperjs使用说明-测试

capserjs自带了一个测试框架,它提供了一个使你能够更容易的测试你的web应用的工具集. 注意: 1.1版本变更 这个测试框架,包括它的所有API,仅能使用在casperjs test子命令下 如果你在测试框架的范围以外使用casper.test的属性,会报error 从1.1-beta3开始,你能够在测试环境下改写casper的初始化配置,想知道更多,可以去dedicated FAQ entry.了解 单元测试 设想Cow为我们想要测试的对象: function Cow() { this.

SWTBOK测试实践系列(6) -- 开发人员为什么不做静态分析?

场景 某年某月某日,产品环境的2000多封自动发出的Email让我们项目组许多人的邮箱爆了.追查下来根源是一个很不起眼的缺陷.我们的程序对一个布尔值做了if(XXX = true)的判断,可来自上游系统的这个值不光是有true和false,还有空.也就是说上游系统中使用的是一个大布尔,是有true, false,null三态的,  而我们程序使用的是小布尔,只有true和false两态. 掉在大小布尔这个坑里也不是头一回了.记忆中前两年我们也掉进来过.有执著的QA一枚,翻箱倒柜地找,终于找到了当

2018.11.16 浪在ACM 集训队第五次测试赛

2018.11.16 浪在ACM 集训队第五次测试赛 整理人:李继朋 Problem A : 参考博客:[1]朱远迪 Problem B : 参考博客: Problem C : 参考博客: Problem D : 参考博客:[1]朱远迪 Problem E : 参考博客: 原文地址:https://www.cnblogs.com/QLU-ACM/p/9977949.html

在国外,资深的软件测试人员大多是手动测试,他们厉害之处在于测试用例的设计,但在国内,很多测试人员都把自动化测试当成很厉害的资本,为什么?

导语:”在国外,资深的软件测试人员大多是手动测试,他们厉害之处在于测试用例的设计,但在国内,很多测试人员都把自动化测试当成很厉害的资本,为什么?” 偶然在知乎上看到一篇关注度很高的话题,标题如上. 作为一名从业8年有余的软件测试工程师,并且一直在外企做测试的我, 忍不住想发表一些自己的看法和见解. 我觉得在国内,很多公司或者个人把自动化测试当成一个了不起的资本,根本是源于国内大家对代码的无上崇拜,这也造就了国内现在IT互联网行业内一个鄙视链: 开发---> 测试开发--->自动化测试---&g

五、测试-六、优化方案

五.测试 1.单元测试 单元测试的方式是黑盒测试,即通过每个环节的输入输出情况进行测试.程序由四个类组成,对应生成四个测试类,使用Junit5对其中的主要方法进行测试.测试的大致思路是预先设计较为简单的数独用例,生成新的对象,运行方法,并将阶段性的结果与预先计算的结果相比较. 有些方法具有返回值,便于设计测试类,例如对 Main::isNumber()进行测试: //Main::isNumber public static boolean isNumber(String str){ String

要想成为高级软件测试人员,需要做全才吗?

在回答要不要做全才之前,我们应该先弄清楚一个问题,作为一个全才应该需要哪些能力? 我认为作为一个测试人员,应该具备四方面知识:测试基础,行业业务储备,测试工具和技术,测试管理能力和经验. 以上四方面也是测试人员晋升的参考,当然测试基础咱们都有就看储备了多少,其他三方面是咱们努力的方向. 测试基础是所有测试人员应该具备的,其他三项精于一项可以一招鲜,精于两项可以称之为高手,精于三项的话?我的天啦 行业业务知识,基本上可以说能够称为行业的,基本上其业务知识就不是一年两年可以弄清楚的,比如金融,ERP

软件测试人员到底需不需要通过培训来提升技术能力

这二天在为要不要给小朋友报培训班而发愁,身边朋友大多都早早地为小朋友报了好几个培训班,大多都是美术兴趣班,英文班,珠心算,跳舞等. 王豆豆一直想给小朋友报,但却一直没报,基于二点:第一个是小朋友年龄还小,到底是应该去学还是去玩,第二个是现在这些培训班收费都不便宜啊,基于这些所以迟迟没报班. 大多父母都是舍得为孩子付出,就算是自己吃得差一点,穿得土一点都要给孩子报一个学费非常贵的兴趣班,为孩子花起钱来眼都眨一下,但经常又有“鸡汤”文说一定不要忘记爱自己,投资最好的人就是自己,那到底我们应该怎么做才

软件测试人员应该知道的

软件测试人员应该居安思危 每当经济不好,公司业绩不好的时候,公司都可能进行裁员. 首先裁的就是测试人员. 因为测试人员的技术水平相对来说比较低,容易被替代,招起来也比较容易.,公司往往先拿测试人员开刀.身为测试人员,虽然我们平常的工作大部分都比较安逸. 但是千万不能温水煮青蛙. 应该自强不息, 要像开发人员一样, 不断学习,提高自己的编程水平.这样就算被裁也能很快找到新的工作. 测试人员应该比开发人员更熟悉业务需求 测试人员的水平主要体现在测试用例的设计上. 要设计出全面,覆盖广的测试用例,需要