我理解,准备通过整个系统堆栈的测试用例和场景应该由QA人员编写。但是我的问题是自动化这些测试,我的意思是e2e测试。谁应该负责e2e测试的实现,是开发人员吗?还是qa工程师?为什么?
发布于 2021-05-09 00:11:04
测试自动化可以和编写它所测试的应用程序一样复杂。由于所涉及的技能不同,编写自动化测试的方式决定了由谁编写测试。
如果使用GUI工具创建测试,编程技能就变得不那么重要了。这增加了有资格编写这些测试的人数,这通常意味着“不是开发人员或QA自动化工程师”。这往往是由技术技能较少的手工QA测试人员完成的。
如果实践行为驱动开发,业务分析师或产品人员用Gherkin编写测试。开发人员或QA自动化工程师将创建实现Gherkin步骤定义的测试基础结构代码。
当然,您可以用您的团队所熟悉的任何编程语言编写测试用例。然后,开发人员或QA自动化工程师将为测试编写测试用例和基础结构代码。
谁编写自动化测试取决于您的团队拥有的技能集,以及您选择如何编写测试,以及如何编写测试取决于团队的技能集。
发布于 2021-05-09 12:09:59
QA人员必须准备测试场景和用例,然后执行这些用例的想法通常不正确。尽管有些组织是以这种方式构建的,但只有少数最关键的系统需要专门的QA人员来完成这种工作,即使这样,趋势也是让其他组织也这样做,QA团队提供额外的安全层并满足法规要求。
对于绝大多数的开发,团队作为一个整体,应该负责质量活动。让不同的QA专家--那些在分析可测试性需求、识别测试用例或探索性测试或测试自动化框架方面具有特殊技能的人--在团队中可能是有帮助的。然而,专家的存在并不意味着所有的工作都必须由这个人来完成。相反,他们的存在是为了教导团队的其他成员如何掌握这些技能,使他们能够生产出高质量的产品,并审查那些在这些领域可能不那么精通的人的工作。
除非您有特定的监管限制,否则我建议任何开发人员都应该学习测试自动化框架和工具,并能够编写自动化测试。在更大的组织中,让一个团队(或者由QA自动化专家组成的团队附属于开发团队)最终负责与测试自动化工具和框架相关的决策也是有用的,但这并不意味着他们负责创建和维护所有的自动化测试。
我还要指出,仅仅因为理想的状态是开发人员在某种程度上帮助测试自动化,并不意味着您的组织可以支持这一点。有些组织并不是以这种方式建立跨功能团队的,特别是如果开发人员的性能是通过交付特性(或bug修复)来衡量的话。可以在组织层面上进行转换,以支持这种协作和整个团队的思维方式。
https://softwareengineering.stackexchange.com/questions/426187
复制相似问题