假设整个产品团队都同意实现一些自动化的端到端测试*首先是值得的.实现自动化端到端测试的工作量应该按照什么标准在开发人员和专用QA (自动化)工程师(或其他角色)之间进行分配?
*我不喜欢太精确地定义端到端测试;任何非常普遍的定义都是公平的。我倾向于指UI测试或公共API测试,但可以随意更改该定义(答案可以包括或引用一个简短的定义)。如果这证明是有问题的,我可能会更新这个问题,使之更加狭窄。
具体而言,我并不是问要决定测试什么,这可能有一个单独的答案。我询问的是如何实现自动化测试,其需求(基本上是测试计划)可能由一组完全不同的人员(专用QA、产品管理、客户、某些外部机构.)决定或接受输入。虽然我承认,也许如何设计测试计划的问题可能会影响到答案。
例如,执行工作负载的分配可以是下列之一:
什么标准应该指导谁执行什么?
也许某些特定类型的端到端测试更适合于某一组或另一组?例如:
也许产品团队及其环境的细节(管理,市场,现场与SaaS.)会影响这个决定吗?
我对SaaS上下文特别感兴趣,但前提是公平的。
也许重要的是要考虑开发人员是否会为他们自己的特性实现自动化的端到端测试,而不是其他开发人员的特性。即使我对测试实现感兴趣,而不是测试设计,也许测试设计问题仍然会影响答案。
以下优秀的问题是相关的,但更多关注的是没有测试人员的角色是否可以:
相反,我承认有些团队可能有一个专门的测试人员角色,而有些则可能没有(这两种选择对于这个问题来说都是公平的)。与之形成对比的是,这个问题特别关注于实现自动化的端到端测试,而不是更大的QA或测试角色问题,甚至是测试计划本身。这些现有的问题和答案很重要,但更多地集中在测试和测试计划上,而且过于宽泛,无法解决实现自动化端到端测试的问题。这些测试在开发人员和QA角色经常遇到的传统边界上是正确的;一方面自动化单元测试通常是开发人员的领域,另一方面手动端到端测试通常是QA的领域;使用自动化端到端测试,角色可能模糊,分配也就不那么明显了。因此,这个话题在这里仔细分析的时机似乎已经成熟。
以前我问过关于“编写”自动化端到端测试的问题,但我对实现(编程)自动化的问题特别感兴趣,而不是设计测试计划。我已经更新了这个问题,以反映这一点,并避免讨论开发人员是否应该是测试人员,或者诸如此类。
所有这些都回避了一个问题:让一个人设计一个测试计划,而另一个人实现这些测试的自动化版本,这是否真的是好的。在我的问题中,我想对此保持不可知论,但是如果需要的话,答案应该是自由的。
发布于 2018-02-10 07:58:36
从本质上说,自动化测试与任何其他类型的程序并没有很大的不同:有一个测试规范(测试计划),在这个主题上有不同的专家,他们知道规范中的内容意味着什么,对程序的功能有一些期望。然后某个人(可能是同一个人,也许是其他人)必须用代码构建这个东西。然后有人(可能是同一个人,也许是其他人)跑过去管理它。
您的团队中可能有不同的人,他们对测试的编码有一定的知识和教育。如果你的团队中的QA工程师有这方面的知识,那就让他们去做吧。如果在您的团队中,测试程序的开发人员只有这些知识,那么他们就需要参与进来。如果需要双方都知道,好吧,把这些人聚在一起,让他们自己解决。如果你的团队中有这么多人,他们都有资格胜任这份工作,而实际上你不知道该由谁来做,那就跟他们谈谈,做出一个管理决策。
最后,您需要找到一个适合您的团队和系统的解决方案,在可用的资源、知识、工具以及系统的大小和结构的范围内。没有“一刀切”的解决方案或标准。
https://softwareengineering.stackexchange.com/questions/365660
复制相似问题