(受此问题启发)

我的团队目前正在通过我们工具的记录和回放功能进行自动化测试。我已经了解了通过编写自己的脚本来开发更强大的测试解决方案的好处,但是我们的一些团队成员并非来自编程背景,因此培训它们的成本可能很高。如何缓解这种过渡?

评论

您想执行哪种测试?功能,性能?您想测试什么接口(例如网站,SOAP Web服务)?

开发人员如何测试他们的代码,他们可以提供帮助吗?

第二,菲尔的问题-我还要问您的公司文化是否适合长期配对(有些地方愚蠢地认为这是浪费)。通过与已经可以编写脚本的另一位测试人员配对,可以逐步提高对测试人员的了解。

#1 楼

具有更多编程经验的测试人员可能能够编写一个框架,使那些缺乏编程经验的测试人员可以更轻松地进行编程。我无法描述有关该框架的细节,因为它取决于您自己的情况,但是如果您的测试人员具有编程经验,他们可能已经了解该过程的工作原理。

您确定希望每个人都参与其中团队改用脚本?您确定团队中的每个人都希望切换到脚本编制吗?我从未在一个团队中工作过,每个人都依赖于记录和反馈,或者就此而言,依赖于任何类型的自动化。通常,有些人不适合编程。这些人仍然可以成为有效的测试人员。

评论


+1为最后一段。强迫所有测试人员开始自动化是消除某些出色测试人员精神的好方法。

– Lyndon Vrooman
2012年12月7日12:47

同意,人们应该一直在做使他们快乐的事情。

–山姆·伍兹(Sam Woods)
2012年12月7日在17:15

在这两段上都找到重点。我曾经在一个团队中工作,当时我正在编写脚本,并且会向非程序员QA解释某些部分并进行一些并行培训,并且他们能够提取,运行和维护代码。从这个意义上讲,导师当然需要耐心,但是在分配负载方面效果很好。但是第一件事是他们应该有参与的愿望。

– Suchit Parikh
2012-12-7 18:41

#2 楼

如果您已阅读与该问题相关的问题的答案,那么将提供一些示例,说明如何简化自动化代码并使之更易于维护和可靠。我所工作的团队经常将工作分散,由经验丰富的开发人员来处理页面对象和辅助功能,而很少或完全没有经验的QA人员自己来处理测试用例。

有一个学习曲线,但是即使对于非开发人员来说,也可以很容易地在一个具有智能感知能力的IDE中针对现有页面库和帮助函数编写测试用例。文档和培训。我之所以知道这一点,是因为我曾多次担任过该职位的人员,他们始终能够加快工作速度并为自动化工作做出贡献。作为附带的好处,他们可以接触一种编程语言(至少是它的基础知识),并且随着时间的推移,他们可以并且经常从那里继续学习并获得更多技能。

正如Phil所提到的,如果团队中没有人具备必要的技能,您甚至可以招募开发人员来帮助您解决自动化的更复杂部分。

#3 楼

有几种解决方案。


您可能会花费培训一些或所有团队成员的费用。
您可以将某些或所有团队成员替换为知道如何做的人编写测试脚本的代码。
您可以将团队分为编码人员和非编码人员,并让编码人员负责开发测试自动化脚本。
您可以开发测试自动化框架。通常,这些发明不需要任何编码背景的轻量级“语言”。这种方法通常需要一个(或只有几个)流利的脚本语言。通常,非编码人员会使用简单的Excel电子表格指定测试。
您可以继续使用轻量级方法,并尽可能避免编写脚本。

在我的团队中,我喜欢使每个人都有编写和执行测试自动化的能力。尽管有时我们会使用录音来形成脚本的早期草稿,但随后我们对其进行了增强以使其更加健壮。这要求至少使用某种脚本语言本身。在团队中只有几名专家的情况下,其余的人都可以根据需要获得帮助,以增强其自动化程度。

#4 楼

有一些工具可以抽象出对特定编码知识的需求,以便开发脚本。我的团队使用了Critical Logic的专有工具TMX,但过去我也使用Cucumber进行此类事情。基本思想是让一个人能够开发和自动化笔录,而另一个人则可以编写所需的框架方法来支持测试。

使用Cucumber,自动机最需要写的就是简单的英语句子,例如“当我按下Submit时,我应该在Record Submitted页面上,并且我应该在表格中看到我的新记录” 。同时,另一位团队成员负责编写代码,该代码确定在表中查看记录的含义。这样,每个人都会尽力而为。

使用TMX,编码人员可以定义特定的操作或过程,每个操作或过程都附带一块代码。然后,自动器使用GUI定义测试将执行的操作顺序,然后按“ Generate”(生成),生成所有准备执行的脚本文件。我们使用它来生成Java代码,每个动作通常是针对我们的框架库的一个方法调用。

我敢肯定还有更多工具,但是我没有其他人的亲身经历。

评论


DSL(特定于领域的语言,例如Cucumber's Gherkin)的+1,使人们可以用开发人员编写的隐藏代码以英语或近似英语编写脚本。

– Ethel Evans
2012年12月6日19:32

我真的不喜欢像Cucumber这样的工具。以我的经验,学习和使用编程语言实际编写自动化测试一样困难和专有,而且您仍然必须让开发人员仍然编写所有自动化代码。

–山姆·伍兹(Sam Woods)
2012年12月6日在21:01