1、APP性能测试和自动化测试
1.1、APP性能测试
1.1.1、客户端
主要测试以下8个指标,可通过Testin的标准兼容测试获取这些指标
在终端列表-详情页的最下方可查看具体某台手机上的性能指标。
1.1.2、服务器
测试方法和Web服务端测试一样,大多都走的接口,有些项目是http接口,有些是webservice接口,针对接口的压力测试或者并发测试可以使用Jmeter、LoadRunner等工具。虽然有些性能测试工具比如Loadrunner高版本已经支持录制APP端的脚本,但实际操作起来还是比较困难的。
1.2、APP自动化测试
1.2.1、UI自动化测试
UI测试是测试APP与一个真实或模拟用户的交互情况。确保应用程序在用户执行一系列手势(点击、长按、滑动或滚动等)操作之后返回的UI输出是否符合产品需求和设计稿,如键盘输入或按工具栏单、对话框、图像等UI控件,其中最重要产品操作流程是否符合需求。进行UI测试,一般有两个选择:
一是在真机或模拟器中来使用这个APP,根据产品需求、设计稿和测试用例把这个APP的所有流程、每一页都尽可能走一遍,并且尝试各种方法来发现应用是否有不符合产品需求和设计稿的异常表现。
二是使用UI自动化测试工具,在这些工具提供的框架里编写代码直接操作APP所用到的UI控件,模拟用户点击、长按、滑动或滚动等手势操作,编码之前可以先用uiautomatorviewer工具获取被测控件的属性,常用工具 uiautomato、Monkerunner、Robotium、Appium和Monkey(这个严格不算)等。
1.2.2、接口自动化
a、自己用Java编写接口自动化测试程序
b、详见《HTTP协议和接口测试》
c、详见《第2章以后》
1.2.3、持续集成
详见《第2章以后》
2、持续集成
这是项目管理中的一个概念,通常大型项目都会有一个主线版本和很多个分支版本(可以理解为一个项目分为多个模块组),每一轮产品迭代都要把这些分支版本集成到主线中统一发布(就是合代码)。实际的项目管理中,要进行频繁的集成,几天就要一次或者一天一次(就是dailybuild),这样就能快速尽早发现问题,否则分支版本就会大幅度偏离主线,导致以后集成的难度变大,甚至难以集成。
它的核心措施就是,集成之前,小组里的每个人必须通过自动化的构建(包括编译、发布、自动化测试)&