自动化测试实战宝典:Robot Framework+Python从小工到专家
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.8 自动化测试引入时机和适用场景

如果项目已经符合做自动化测试的一些特点,那么我们该在项目的什么时机引入自动化测试呢?

通常项目只有经历了完整的系统测试之后才算具备了引入自动化测试的条件。

随着互联网产品的快速迭代,无论什么测试,越早介入越有利于降低成本,降低风险。特别是新型的开发模式兴起,自动化测试也具备了尽早介入的条件。比如在敏捷开发中,某核心模块的核心功能完成后,即可针对该模块的该功能开始实施自动化测试。

除了在时机上遵循尽早引入、尽早预防,自动化测试的用途和适用场景包括但不限于:

回归测试:能够很好地验证你是否引入了新的缺陷,老的缺陷是否修改过来了。

冒烟测试:通过自动化测试在人工测试介入之前,对产品主流程或环境服务连通性进行快速冒烟测试。

每日线上巡检:构建自动化测试每日巡检,用于每日实时监测线上产品重要功能的稳定性和可用性。

构造测试数据:通过自动化测试构造生成大批量测试数据,为人工测试或其他(例如性能)测试提供数据上的便利。

固化资产:通过自动化测试可固化测试资产(流程、工具、代码、文档)。

建立测试与代码的覆盖联系:通过自动化工具能够确定测试用例的覆盖路径,确定测试用例集对程序逻辑流程和控制流程的覆盖。

目前,自动化测试的研究领域主要集中在软件测试流程的自动化管理及动态测试的自动化(如单元测试、功能测试及性能测试方面)。在这两个领域,与手工测试相比,测试自动化的优势是明显的。首先自动化测试可以提高测试效率,使测试人员更加专注于新的测试模式的建立和开发,从而提高测试覆盖率;其次,自动化测试更便于测试资产的数字化管理,使得测试资产在整个测试生命周期内可以得到复用,这个特点在功能测试和回归测试中尤其有意义。

知识小结

自动化测试往往用于核心业务流程或者重复执行率高的功能,自动化测试不是100%测试,不可能达到手工测试的覆盖率,项目团队需要筛选关键功能点优先开展自动化测试。