自动化测试
最初的问题:什么是自动化测试?当前团队是否需要做?带来什么收益?
自动化测试就是用一段程序去测试另一段程序 是否需要做?(核心:团队发展情况) 自动化测试成本:1、门槛 2、团队的负担能力 需要持续的人力投入 自动化测试收益:测试能力固化(成为测试资产)、效率提升 自动化测试重点:可靠的检查点设计、脚本稳定性、脚本的组合、连跑、脚本可维护性、可移植性
观点1: 自动化测试不是单靠测试人员可以搞定(成功的自动化需要产品、架构、开发、管理层的支持,需要协调资源、并不廉价) 观点2:自动化起步:应该将繁琐工作自动化处理开始,能立竿见影的效果才是最好的(能让团队产生有意义的感觉、而不是毫无意义、无用功、一次失败的工程实践) 观点3:持续优化自动化测试的判断标准、让团队充分信任自动化测试的结果(维护信任感、做好断言)
自动化发展历程
自动化测试:
- 第一代:捕捉/回放,通过屏幕录制的方法录制页面操作,生成脚本,回放测试(复用性差)
- 第二代:脚本为核心
- 第三代:自动化平台框架,像不同领域产品化、规模化发展
- 第四代:devOps平台
成功的自动化测试是一个工程问题:管理、策略、如何发挥最大价值
自动化测试框架
通用的自动化测试框架
- 第一层:被测系统:实际被测物理设备/虚拟环境
- 第二层:自动化测试架构层:脚本运行环境、框架集合、业务负载发生器(模拟业务负载、我理解可能是压测等会需要)、测试数据发生器、被测系统管理(配置文件、数据库配置等,这部分需要解耦)、测试资源管理(我理解可能需要的初始化操作等)、AW(框架定义的关键字、给上层脚本使用的、用户只需要使用aw来使用测试框架的内部能力)