• 2
  • 2
分享

2017年8月开始接手做持续集成平台的工作,该平台包含打包发布,每日构建,稳定

测试

  首先收集现状,源码管理混乱,底层打包空间共用,apk打包在本地,没有稳定性测试,专项测试。需求整理,需要做源码管理,分离底层共用的空间,打包统一使用服务器打包,增加

自动化测试

 下面说下我们的每日构建跟稳定性测试:

1.客户端每日构建  1.1、单元测试

  单元测试主要是由开发负责编写的,主要是因为开发对产品更加的了解,同时测试开发团队人太少了,要做的事情好多,优先做其他的。关于框架选择,最初想要使用的方案是robolectric + junit4 + mockito + dagger2,然后被项目经理及总监否定了,选择了

android互联网

  执行过程,每天的凌晨会有定时任务去svn 上check out代码,连接设备,然后使用gralde命令执行测试生成测试报告。

 1.2、集成测试

  在这里我们的集成测试跟单元测试很像,在

用例设计

  对于集成测试,可以加入ui自动化测试,比较喜欢的一个自动化测试是macaca。

 1.3、静态代码分析

  静态分析的话会在服务器上安装sonar-scanner,执行扫描后将结果上传到sonaerqube上,代码规则的的配置会在sonarqube上,最初开始做静态代码分析不建议开启很多的规则项,需要给开发团队适应的过程,规则如果一开始就开很多,开发估计就直接不改了吧,而且自带的规则会有一定的误报率,需要人工筛查。

 1.4、报告邮件通知

  执行失败或者成功都回给开发测试发送邮件通知。

 2、客户端稳定性测试

  稳定性测试主要是为了暴露apk的性能问题,提高产品的稳定性。

  执行流程,凌晨定时任务会去拉取svn上的代码,代码更新好后,会使用脚本sed命令去把leakcannary加入到代码当中,接着执行apk打包,固件打包,将生成的固件通过OTA升级,(ota升级:将包放到指定的服务器,在通过接口配置由哪个版本到哪个版本的升级,应用本身有个

server

  对于

性能测试功能测试

 3、服务端每日构建

  对于服务端的每日构建主要是做部署,

接口测试

4、其他  4.1、不足

  对于我们的整个流程缺乏ui方面的自动化

  静态代码分析规则不够完善

  单元测试用例太少了

  稳定性测试缺乏cpu,io,网络等的监控

  部分接口业务无法覆盖(eg:支付)

 4.2、躺过的坑

  旧的服务器谁都能上去改东西...

  同个服务器使用多个版本的gradle打包

  底层源码(sdk)管理混乱,开发随意更新源码

  不支持接口更新ota配置

  源码管理混乱,分支无规范,非主干开发

  在做持续集成的工作中,开始做流程的优化,优化功能测试流程,自动化流程;接触了较多的工具,开始做方案的分析,去做整体的架构设计跟实现,去跟项目经理沟通,沟通是一个很大的学问,当中你可能会遇到脾气好的同时也会遇到脾气差的,遇到脾气不好的告诉自己多笑笑,多找他几次也许问题就能解决。开始更加关注代码的质量,去了解专项测试。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   前言  此次文章的连载,目的是笔者从自身经历出发,梳理出来的一套完整的测试体系,涵盖了功能测试、接口测试、单元测试、代码扫描、性能测试、稳定性测试、异常测试、前端测试、线上质量跟踪、线下质量改进、安全测试等各个测试环境。  希望可以通过自己的文章输出,让大家对测试工作有一个更整体性的认知,也方便大家构建自身的测试体系,在测试行业上越走越好~  代码扫描的起源  静态源代码扫描是近年来软件测试过程当中,被人提及较多的软件应用安全解决方案之一,也是大厂必备考题。  它是指在软件工程当中,程序员在写好源代码后,无需经过编译器编译,而直接使用一些扫描工具对其进行扫描,找出代码当中存在的一些语义缺陷...
            1 1 1939
            分享
          •   如果你曾经用过Fiddler来调试某个web应用程序,你就会知道它是一个多么好用且具有价值的工具!  如果这个web应用恰好你也在iPhone或iPad上调试过,那你也会知道,要从web服务器日志中找出问题是多么困难的一件事情。  别着急,下面笔者将解释如何配置Fiddler来代理iPhone/iPad,让你的测试变得更加容易且高效。  HTTP通信  首先,您需要启用来自远程设备的连接。启动Fiddler,并从工具菜单中选择Fiddler选项,选中“Fiddler监听端口”,在下一步中需要我们会用到这个选项。  现在,选择“允许电脑远程连接”选项并单击确定,这一步之后Fiddler会提醒...
            12 12 1766
            分享
          • 1. Charles安装官网下载安装Charles:https://www.charlesproxy.com/download/2. HTTP抓包(1)查看电脑IP地址  例如:192.168.1.169(2)设置手机HTTP代理手机连上电脑,点击“设置->无线局域网->连接的WiFi”,设置HTTP代理:服务器为电脑IP地址:如192.168.1.169端口:8888设置代理后,需要在电脑上打开Charles才能上网(3)电脑上打开Charles进行HTTP抓包手机上打开某个App或者浏览器什么的,如果不能上网,检查前面步骤是否正确点击“Allow”允许,出现手机的HT...
            1 0 4699
            分享
          • 在日常工作的摸索中,我将如何做好app的测试简单归结为如下内容。(1)功能测试每项开发的新功能都需要进行测试。app测试中功能测试是一个重要方面。测试人员应该要进行手动测试和后期的自动化测试维护。刚开始测试时,测试员必须把app当做"黑盒"一样进行手动测试,看看提供的功能是否正确并如设计的一样正常运作。除了经典软件测试,像点击按钮、提交订单看看会发生什么,测试员还必须执行更多功能的app测试。除了整个手动测试过程,测试自动化对移动app也很重要。每个代码变化或新功能都可能影响现存功能及它们的状态。通常手动回归测试时间不够,所以测试员不得不找一个工具去进行自动化回归测试。现在...
            0 0 1652
            分享
          • 1、引言小屌丝:鱼哥,这金三银四的季节,你作为资深测试开发大佬(面试官),能不能分享一下关于UI自动化测试的技术呢?小鱼:不用给我戴高帽,你的小心思,我能不知道?小屌丝:嘿嘿,我主要提咱粉丝问的小鱼:你操的心还怎不少呢?小屌丝:主要是你分享的那篇《吊打面试官系列之:移动APP测试开发面试题汇总,对标P7~ ~》太给力了。小鱼:你可知道,移动测试app我准备了一周时间,小屌丝:那就麻烦鱼哥再花一个星期,来准备 UI自动化测试开发相关的知识,也让更多的人,能感受吊打"面试官"快感。小鱼:这.....作为一名合格面试官,岂能是被随便吊打的,不过,你的提议确实不错,我考虑下。小屌丝...
            2 3 14574
            分享
      • 51testing软件测试圈微信