我是一个后端开发人员,总是为我的应用程序创建测试。最近,我研究并应用了接口测试(使用selenium),但我怀疑应该由谁来创建这些测试、开发人员还是QA?
我们如何决定自动化接口测试应该是QA责任,还是开发人员责任,或者两者兼而有之?
如果两者兼而有之,是否存在创建重复测试的风险?
发布于 2014-10-20 13:47:20
这完全取决于你工作的公司或组织,所以问问那些负责定义组织结构的人。然而,有一些经验法则,任务的分配将更好地工作。
例如,如果您的QA部门由没有编程知识的人员组成,那么给他们编写自动化测试的任务是没有意义的。如果您心目中的“接口测试”不是完全的“黑匣子”测试,并且需要一些关于程序内部工作的知识,那么这也就没有什么意义了。
但是,如果您的接口测试是黑匣子测试,而QA部门有一些编程知识,并且它们识别繁琐、反复的测试任务,那么他们为什么不通过编写自动化测试来自动化这些任务呢?
在一些组织中,QA部门专注于硬自动化测试,不需要任何编程知识。在这样的组织中,经常性测试的自动化可以从QA人员委托给devs。
关于创建重复测试的风险:相互交谈会有帮助!不时地澄清责任。如果两次进行少量的测试,那么问题就会少得多,因为每个组都认为这些测试是另一个组的责任,所以没有应用必要的测试。
发布于 2014-10-20 14:31:47
在编写代码之前,应先编写验收测试。当它们通过时,您知道这个特性是完整的,并且完成了它应该做的事情。然而,这些测试大多只遵循愉快的路径。让我们考虑两种情况:
在这种情况下,您为他们省去了编写愉快路径测试的麻烦,这样他们就可以专注于边缘测试、变异测试、压力测试、探索性测试和回归测试。此外,如果他们希望拥有自己的验收测试,他们也可以将您的测试从自己的测试运行中删除。您已经生成了不太可能出现buggy的代码,节省了他们的时间,并使他们能够专注于他们擅长的事情。QA并不是要确保软件做它应该做的事情--如果有任何问题的话,你不应该将代码发送给他们--而是确保软件没有做它不应该做的事情。
在这种情况下,您已经编写了他们无法编写的自动化测试,这是有帮助的。也许他们会学会阅读自动化测试,了解您正在测试的内容,这将帮助他们制定测试计划。你还发布了你知道的软件,这意味着QA部门有更多的时间专注于探索,回归等等。他们的工作是破坏你的软件,而不是验证你的能力是最低的。
在这两种情况下,遵循行为驱动的开发计划都节省了时间和金钱,并产生了更健壮的软件。
https://softwareengineering.stackexchange.com/questions/260437
复制相似问题