扫码阅读
手机扫码阅读

高效能测试基础架构

95 2024-02-24
刚回到上海,这几天自驾了几千公里,很疲惫。
下周开始更新测试团队基础架构建设的系列文章。
今天这篇文章,算是提前打个底子,也算温故而知新。
内容来自极客时间和InfoQ举行的公开课,分享的老师是茹炳晟。
分享话题:eBay高效能测试基础架构的前世今生
本文是我五年前整理的文字版本,现在来看依然很值得测试同学参考学习。

课程提纲
  • GUI Automation Test Framework 的前世今生
  • Test Data Platform 的起源与发展
  • API Automation Test Framework 的演进之路
  • Test Execution Environment 的演变
  • Test Report Platform的演变
目前业界流行的趋势:去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(测试报告平台)
演进过程
①、单元测试源生测试报告框架
②、开源测试报告框架
③、二开定制化测试报告框架
④、从测试结果数据中心,根据需要抽取不同的数据生成不同的测试报告(根据测试报告的展示对象不同来定义)
虽然现在来看,这些五年前的内容大部分已经为测试同学所熟知。但放在五年前,内容确实给了我很多的启发,也开拓了我的视野。






原文链接: http://mp.weixin.qq.com/s?__biz=Mzg2NDAwMjM1NQ==&mid=2247487235&idx=1&sn=06f927626454b915d72944c4765c8aea&chksm=ce71475ff906ce49a161b5267f52b26c9f28d0cb07b69ad437ff1c183a2e7fdf664a4e2760b4#rd