• 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配置

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

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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   免费领资料的活动还没参与吗?点击链接填写软件测试调查问卷,即刻领取:http://vote.51testing.com/  1. 如果不考虑上限的话我认为是后端,然后是前端、测试、运维。  后端程序员起薪6K左右,然后会上升很快,一般有3-5年经验的20K左右,当然做的好的30K的也不在少数。  前端程序员起薪7K,然后会平稳上升,有3-5年的工作经验的话一般会有15K-18K,做的好的也有20K+的。  测试工程师的薪资一般会在6K左右,然后上升就比较慢了,之后会在13K左右吧。  运维工程师就有点尴尬了,薪酬是一般程序员的80%,但相对付出的时间不到一般程序员的50%。  当然这是我在...
            0 0 1743
            分享
          •   1.接口测试:针对软件对外提供服务的接口的输入输出进行测试,以及接口间相互逻辑的测试,验证接口功能与接口描述文档的一致性。  2.接口测试流程:   1)获取接口信息:通过接口文档或抓包来获取接口的基本调用方式和返回,抓包可以通过fiddler、charles或者chrome的开发者工具等   2)接口测试用例设计:根据获取到的接口信息,按照接口测试用例设计方法,设计参数和预期返回结果   3)接口发包:使用工具或者编程向接口传递参数   4)返回信息验证:获取接口返回的结果,进行解析和验证  3.测试某网站的接口,包括:鉴权、登录和注销   1)鉴权接口url:http://www.XX...
            4 6 2967
            分享
          •  1、简介 麦德龙: - 麦德龙是一家面向HoReCa(酒店、餐厅和餐饮)行业客户的国际批发公司,业务遍及30多个国家,在全球拥有超过9.5万名员工。 - 它旗下Metro和Makro 两个品牌经营着661家批发门店(截至2022年9月30日)。麦德龙超市 - 麦德龙超市是一家零售批发超市集团, - 在麦德龙和万客隆(仅限欧洲)品牌旗下拥有多家麦德龙现购自运商场, - 是德国股票指数DAX的成分公司,世界500强之一,分店遍布32个国家。麦德龙仓储式超市 - 麦德龙仓储式超市是将超市和仓储合二为一的零售业态。&nb...
            0 0 1166
            分享
          • 1.按测试阶段划分(1) 单元测试单元测试(模块测试):针对软件设计最小的单位-程序模块,进行正确性检查的测试工作单元测试需要从程序内部结构出发设计测试用例,多个模块可以平行的独立进行单元测试单元定义:C中个一个函数,Java中的一个类在图像化软件中是一个窗口( Android的首页,我的,商品详情)(2) 集成测试集成测试(组装测试):在单元测试基础上,将所有的程序模块进行有序的,递增的测试,重点测试模块之间的接口部分(3) 系统测试系统测试:整个软件系统,全面的在进行一次测试2.是否覆盖源代码白盒测试白盒测试:看代码,研究程序源代码,和程序结构黑盒测试黑盒测试:没有代码,就是看表面的效果,...
            13 13 2202
            分享
          • 因为工作需要,常常需要我们做停库测试。停Oracle服务器一共分为2大类:一类是11g数据库,一类是19C数据库,大致方法类似,19C服务器比11g服务器多一个切换容器的步骤。具体如下:一、停11g数据库方法:首先申请root权限需要跟管理员申请,然后登录通过工具登录服务器用普通账户先登录成功。su - root切换到管理员 root 用户su - ora11g  切换到ora11g 用户sqlplus / as sysdba启 动 SQL*PLUS 连 接 数 据 库 作 为 sysdba 进 行 管 理 的 工 具shutdown immediate;停服务器通过数据库...
            0 0 590
            分享
      • 51testing软件测试圈微信