目前业界流行的趋势:去QA化
测试工程师:角色弱化,模糊化——开发做测试
一、GUI automation Test Framework(UI自动化测试框架)
瀑布模型下的GUI测试演进过程
①、业务需求-产品需求-测试需求-测试用例-手动执行测试用例-本地测试环境测试被测系统
②、录制脚本维护成本高,基础操作录制为可重用的测试脚本,然后调用
③、page object模式
④、业务流
⑤、参数化
⑥、数据和脚本分离(基础数据准备)——脚本化、工具化、平台化
⑦、测试数据(基础数据)和测试环境准备同步进行,开箱即用
二、Test Data Platform(测试数据平台)
演进过程
①、通过swagger类似的API管理平台(restful),封装成web service,然后通过平台产生数据或者通过JDBC的sql语句来生成测试数据
②、builder pattery(构建模式):初始化环境,生成默认数据,然后根据不同的业务需求解析封装成对应格式
三、API automation Test Framewor(API自动化测试框架)
1、演进过程
手动——工具——脚本——平台——分布式job分发,调度服务管理
注意事项:版本控制——接口的质量变化——抽取日志分析
2、微服务架构下的API测试挑战
①、API种类变多:dubbo、MQ、webservice、http
②、API测试覆盖率的代价大
③、微服务架构之间的耦合
④、第三方服务的耦合
3、自动化测试的目的
①、快速迭代、持续集成持续交付的目标
②、质量保障,覆盖率,快速反馈
4、自动化测试的追求是什么?
ROI:投入产出比,最少的时间做最多的最有价值的事情(事故可接受能力)
mock—service实现API依赖解耦
四、Test Execution Environment(测试执行)
演进过程
①、jenkins任务构建
②、jenkins job调度——集成管理不同的job
③、jenkins分布式任务分发,调度管理
④、docker容器化,动态扩展和收缩
五、Test Report Platform(测试报告平台)
演进过程
①、单元测试源生测试报告框架
②、开源测试报告框架
③、二开定制化测试报告框架
④、从测试结果数据中心,根据需要抽取不同的数据生成不同的测试报告(根据测试报告的展示对象不同来定义)