拥有开发背景,我坚信记录和重播测试工具有其缺点,尤其是使测试变得脆弱。有关良好的摘要,请参见自动化测试!=记录回放工具:


记录回放脚本的维护成本更高,因为它们生成的代码长,复杂,不面向对象并且必须被进一步操纵以放入可重用的组件中。


鉴于为QA提供了一个稳定的框架,对它们进行自动化测试编码是否是合理的期望?我显然会假设他们至少具有一定的编程背景。


更新:我只对特定于自动化测试的QA感兴趣。我非常了解手动探索性测试的好处,但这超出了这个问题的范围。

#1 楼

要回答您的问题,是的,如果有人具有技能,则质量检查人员应该对测试进行编码。

除了简单的问题之外,还有一个更大的问题。作为专业的测试工程师,您需要知道什么时候可以在项目中使用自动化/编码测试。您是否需要全面的自动化,快速的脚本,一些本地开发的工具,还是需要由测试人员执行的手动测试计划?在任何给定的项目上,答案都可能是所有/全部组合在一起。

我从不劝阻测试工程师进行编码,但要确保他们有了解何时适合使用的知识。当不是的时候。

评论


感谢您的回答。我假设Q&A也会进行探索性/手动测试。这个问题仅涉及自动回归测试。

– Robert Munteanu
2011年5月4日13:30

我对CKLEIN的答案投了赞成票,并想补充一件事。您说“给Q&A提供了一个稳定的框架...”我不得不不同意,因为这不是“给定的”。我很少有一个“稳定”的测试环境。

–劳拉·亨斯利(Laura Hensley)
2011年5月4日14:35



#2 楼

显而易见的答案是肯定的,但是这就是为什么...

恕我直言,ITHO业界仍然普遍将测试视为一项工作,任何人都可以以最低的技术技能来执行。雇用了许多测试人员,他们不需要编程技能,没有特定行业知识,仅X年的测试时间,良好的沟通能力以及对特定测试工具供应商产品的一定经验。

想象一下对话在测试驾驶员和工程师之间进行如下操作:

“新车在前面感觉有点可笑”

“你是什么意思?”

“好吧,我在那儿转个圆……”

“哦,你是说方向盘”

相比之下,一名测试驾驶员了解汽车的工作原理可以与工程师进行更有意义的对话:

“上交后,它的转向角处于中间。”

“好吧,我们可以解决

“让我们尝试一下弹簧调节,因为改变外倾角也会影响轮胎的磨损。”

技术测试人员,或者除了出色的测试工具外,还具有深厚的领域知识的测试人员疾病比非技术性疾病有效得多,因为它们与工程师具有相似,等同或优越的知识,但只是专注力和专业技能不同。

这是博客文章I的精简版本

记录和回放主要是为了获得入门级工具的销售。我管理的团队每天要进行1000多个测试,而没有一个记录的测试在眼前。

评论


从开发人员的角度来看,我们真的需要另一组人告诉我们如何编写代码并解决问题吗?提醒您,开发人员的工作是解决问题。我们已经有了我们的经理(他们只写很少的代码),他们的经理(他们写得更少的代码),规范作者(他们深信10年前的编程速成课程使他们有资格告诉我们确切的编码内容),想要把测试人员也放在那里吗?不,请,不!

–corsiKa♦
2011年5月4日14:50

甚至测试人员也不在那儿制造问题,我们只是(**主要是)揭示问题...

–塔伦
2011年5月4日15:58

@glowcoder-不知道您从事的行业是什么,但是肯定不是一个很好的环境。 QA是否应该能够编程的问题与开发工作无关,而与自动化测试有关。

– Suchit Parikh
2011年5月4日17:45



以我的经验@glowcoder,优秀的编码人员渴望获得良好的反馈。我提供的反馈通常是在需求或功能级别上,而不是在实现级别上,因为这是关键的测试功能,以验证和确认开发人员的创造性解释。

–布鲁斯·麦克劳德(Bruce McLeod)
2011年5月4日在21:39

“技术测试人员或具有深厚领域知识的测试人员比非技术等效人员更为有效” –我的问题是,它没有测试技能。给定3名成员之间的选择,一位具有出色的技术技能,一位具有出色的测试技能,以及一位具有出色的领域知识-然后在十分之九的情况下,我将选择没有深厚的技术或领域知识的出色测试员。他们将知道如何学习所需的东西。 (当然,理想情况下,我希望团队中的所有三个人都参加)。

– testerab
2011年5月9日21:22

#3 楼

确实取决于您作为公司雇用的人员。

如果您有具有编码技能的测试人员,则可以期望他们进行编码。

但是,如果您有从未使用过Java或从不听说过Java的手动测试人员,那么不要指望他们编写自动测试的代码,或者如果他们想学习自动测试的话...那是一个漫长的过程直到他们达到可以编写适当测试的地步。

尝试使用Cucumber ...

http://cukes.info/

它在具有框架的情况下使编写测试变得更加容易具有大多数已编码功能的背景。就像乐高。只是拼凑起来。

评论


您仍然需要知道组装在一起的意思。否则,您将不知道您的测试实际上在做什么。是的,您可以从“编写方案”级别开始,逐步熟悉它们的实现,但是在学习Cucumber之前,我永远不会建议测试人员仅将“点滴插入” —最好将没有经验的编码器与经验丰富的编码人员,他们便可以学习。

– testerab
2012年5月13日在12:50

是的,我在11年时非常幼稚。 :)

–汉尼拔
15年3月3日在16:29

#4 楼

是的!

归根结底,自动化测试是一种软件产品。可交付成果是一段代码,完全可以预期负责创建自动化测试的人员实际上会知道如何编写测试脚本。

#5 楼

我这样看,能够知道多个测试面是+1。这不仅在团队中赢得了声誉,而且还使您对高级开发人员的思想和发展有一些见识。有时最终会注入缺陷。期望测试人员对测试进行编码是绝对合理的,尤其是当他们具有一定的编程经验时。请记住,测试自动化可以为您节省大量时间,否则您可以使用它....可能正在探索性测试中以发现新的缺陷。

#6 楼

是的,他们应该这样做。

仅通过单击鼠标就很难在合理的时间内获得有关软件质量的足够数据。当您有一个大型项目时,自动执行回归测试的脚本可以节省大量时间。当您拥有生成复杂报告的软件时,手动比较相关报告可能会很麻烦且不可靠。没有SQL知识就不可能进行数据库测试。

我也没有进行性能测试。

评论


我不同意。您听说过探索性测试吗?与James Bach谈谈它,他会告诉您它是如何工作的。 :)另外...对于手动测试仪而言,性能测试还不是真正的领域。这就是为什么我说,这取决于您雇用什么样的人。

–汉尼拔
2011年5月4日13:09



我在这里同意Hannibal的观点,但还要补充一点,SQL知识似乎有点奇怪,因为具有非常好的SQL知识的测试人员有时可以将自己描述为“非技术”或“非编码者”。因此,您可能会发现一个由“手动”测试人员组成的团队,一旦您开始研究他们的实际工作,他们实际上就会拥有相当不错的SQL技能。我一直认为一定程度的SQL知识对于在我工作过的任何环境中的测试人员都是绝对至关重要的,而且大多数同事都将自己描述为手动测试人员。

– testerab
2012年5月13日在12:54

#7 楼

正如一些评论者已经提到的那样,这取决于行业,公司和个人团队。

如果此人被聘为测试人员,他们可能没有任何编程背景,他们的工作可能不需要任何编码技巧。我曾在一家在线游戏公司工作过。我在一家银行的IT部门工作时也是如此。如果是在技术行业中,则对自动化的重视会更多,并且编程的知识正成为必不可少的技能。但是,再次聘请执行前端测试的测试人员可能无需编程就可以逃脱。

如果该人员被聘为QA工程师,则必须具备编程技能和自动化能力。
/>