4399AT UI自动化CI与CD

2019-10-17   出处:FunTester  作/译者:FunTester  

 首先先了解下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以及相关自动化工具的分享,这部分也会告一段落,后续只会工具的更新,如有兴趣了解及使用,请拿手机扫二维码进行关注~


欢迎给测试窝投稿或参与内容翻译工作,请邮件至editors@testwo.com。也欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,并与我们的编辑和其他窝友交流。
150°|1496 人阅读|1 条评论

测试窝  2019-10-22


登录 后发表评论