首先先了解下 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% 左右~目前还在持续不断调整跟实践中~

以上,基本就是关于 4399AT CI 与 CD 的 “完美结合”.如需要了解

安卓 APP 专项性能监控
安卓 APP 专项启动监控
安卓 APP 专项电耗监控
安卓 APP 专项过度绘制监控
安卓 APP 自动化 monkey GUI 工具使用
安卓 APP 自动化测试工具 4399AT 使用

请抽空拿下你的手机进行扫描关注,进行免费工具下载,3 秒钟换长久的知识~


↙↙↙阅读原文可查看相关链接,并与作者交流