背景介绍
项目:物联网SCRM管理系统
项目介绍:用数字化技术致力于为每一件商品赋予独一无二的身份,打通品牌与消费者之间的沟通边界,并且连接各种硬件设备,第三方系统,为企业提供供应链上的各环节数据/各种营销/大数据分析服务。
业务介绍
主业务系统分两部分:
SCRM系统:主要是生成、收集、提供各种整条供应链上的数据。
消费端:B端_APP/C端_小程序(营销侧)
SCRM系统完成每一个环节数据收集之后,B端进行数据的操作,之后C端可以进行营销的参与。最终完成C端消费数据的收集,根据数据进行分析消费数据各种场景以及喜好。
架构介绍
测试方案
测试痛点解决方案
痛点:
公司每次项目需求改动,上线之前都是由人工去回归系统的功能,并且完成主业务的回归。多个项目如果都有改动,就需要回归对此。并且回归一次系统的功能,不完全回归的情况下也需要将近一天的时间。
解决方案:进行系统+主业务的UI自动化/接口自动化来提高回归效率。
UI(web+app)框架构成:
接口框架构成:
技术总结:python+selenium/request+pytest+allure来完成框架的搭建用例的编写。
其中UI+接口都采用了PageObject的(po)设计来使数据与业务分离。依托pytest的用例管理框架完成用例的参数化,数据驱动,用例管理/执行等操作。最终执行的结果利用allure框架出具测试报告。
测试流程化:脚本与jenkins集成。
由于公司未提供服务器来进行部署这些环境,申请一台电脑作为服务器(还是windows的)
前置条件:首先在主机上安装jenkins(直接用的设计msi文件安装,安装完毕之后会直接注册到后端服务,并且默认是自启动的)
1、安装完jenkins之后安装需要用到的插件,allure/git/等插件
2、开始创建job任务来完成脚本的执行
1)创建自由风格的job任务,之后配置相关的配置,执行的代码从gitlab拉取,执行通过pytest的命令进行执行用例
2)配置构建后步骤,选择allure的报告。
ps:在执行的时候碰到了命令不是可执行命令的错误,需要在jenkins的系统配置–全局属性–Environment中把本机的环境变量引入到jenkins中(就可以解决了)
3)执行完毕之后就可以呈现allure报告了
成果:
1、每次项目需求改动跑接口/UI自动化分别的时间是:接口不到1分钟能跑完将近600的用例,UI时间半小时左右跑完300左右的用例,从时间上大大提升了发版速度提升80%以上,并且在跑用例的同时测试人员还可以做别的工作,执行完毕之后会发送邮件,有失败的用例直接看下报告的失败原因即可。
2、避免了每次上线之后连锁的修改出来的问题
维护:
1、目前的接口用例还在持续增加
2、有遗漏的测试用例补充
3、UI上/接口上有改动需要对应修改脚本的地方进行修改
介绍
- 痛点是什么
- 解决方案是什么
- 技术总结与介绍
- 解决方案效果如何
- 回归效率提升10%
- 节省人力xxx
- 质量提升xxx(bug比上一个版本少了多少)