4399AT UI自动化CI与CD

2019-09-30 14:08:13 浏览数 (1)

首先先了解下CI,CD(持续交付)与CD(持续部署)的三者的区别如下图:

看完了这三者的区别,目前4399AT是达到了CI和CD(持续交付)阶段,接下来我们说下4399AT的CI与CD; 以下均以安卓项目APP为基础来进行讲解: 软件:jenkins gradle 4399AT sonar gitlab tomcat nginx

语言:json,python,javascript jenkins:需要下载插件邮件,gitlab,gradle,sonar等,jenkins是大脑,需要指引每一个操作 gradle:用于编译,可用电脑配置以及项目配置得gradle 4399AT:安卓UI自动化测试工具,用于自动化测试和报告产生 sonar:用于代码检查 gitlab:用于代码的推送以及通过jenkins 的webhook构建机制触发自动构建 tomcat和nginx:用于服务器代理地址,本路是用tomcat就可,但只能局域网,后面大佬用反代理配置的域名,这样就不会因IP段不一样而无法访问的问题 json:用于测试用例脚本的编写 python:用于整体自动化测试执行,测试报告迁移,构建报告的判断及邮件部分参数获取 javascript:用于报告的生成; 测试场景: 不是CD(持续)交付的每次代码提交就构建测试(这个有试过,不合适我们目前的模式,主要是看不到效果啊),而是通过跟开发约定,在gitlab开几个分支,以环境命名,如测试环境和生产环境,当开发完功能并自测完,在发测试邮件同时并推送代码到测试分支,就直接自动触发jenkins webhook,然后就自动进行持续构建编译代码扫描自动化测试~ 以下为大概的流程图:

执行的报告如下:

效果: 整体前期可以解决发测试包安装不了或者容易闪退得问题。后期用例完善以后可以进行功能及遍历测试,来降低测试量,另外可以根据执行的情况及时调整测试内容,把时间和重心放在有风险的模块。

整体目前没有一个很好的评估可以提高多少效率,但相比以前,可以缩短项目周期10%-20%左右~目前还在持续不断调整跟实践中~

0 人点赞