将自动化测试引入现有项目是一项复杂且多层次的任务。
问题背景:
在长期手动测试的组织中,流程、文档和代码架构并不总是符合自动化的要求。测试人员不掌握自动化工具,而测试和应用程序的架构可能不支持快速运行自动化测试。
问题:
引入的主要困难:
解决方案:
团队应该经历以下步骤:
关键特征:
自动化测试能否完全替代手动测试?
不能。即使自动化覆盖率很高,自动化测试只适用于重复、确定性的场景。无法发现的可用性缺陷、探索性、设计缺陷和非典型的“人为”错误通常需要手动捕捉。
是否需要自动化所有测试用例?
不需要。并不是所有测试用例都值得自动化:频率低或复杂的场景更适合手动测试,因为其成本高且回报低。
测试人员是否一定需要成为程序员才能成功实现自动化?
不需要,但具备基本的编程能力是理想的。团队通常建立在这样的组合上:经验丰富的测试人员——自动化测试架构师,自动化人员——开发人员。
公司决定同时自动化所有手动测试,未成立专门团队或讨论优先事项。购买了流行的工具,但它不支持部分必要的浏览器。结果,三个月后一半的测试失效。
优点:
缺点:
团队手动选择了10个最常见的回归场景。进行了Python(Selenium)的自动化培训,将测试添加到CI中。六个月后,70%的回归检查都是自动运行的,手动测试人员专注于创造性工作。
优点:
缺点: