性能测试工具
https://www.oschina.net/p/emmagee
功能测试考虑点:
1、产品有什么特点。(产品需求)
2、产品所在的系统结构。(产品与其他系统的交互)
3、产品本身的系统结构,(了解产品的实现原理)
4、用户最关心产品的什么功能。(用户体验,解决了什么问题)
客户端测试细分
界面自动化:可使用类似Instrumentation工具 ,来检查各个界面控件的位置、使用MonkeyRunner对每个界面做图形对比测试等;
内存测试:使用类似Android的MAT、systrace或者IOS的Instruments针对某些内存消耗特别大的功能做测试;
代码规范:使用Lint 和FindBugs等工具测试
压力测试:客户端的压力测试除了使用Monkey测试外,还可以根据需求直接编写压力测试的代码
客户端接口测试:类似于服务端的接口测试,只是使用的框架不同而已。
单元测试:Mock各种场景对客户端的代码做测试。
方案设计:
1、android多分辨率自动化测试方案:运行在模拟器上的测试方案要用到:Android Emulator、Python、Shell、MonkeyRunner、Instrumentation。python负责总体集成:Shell脚本控制启动和关闭不同分辨率的Emulator。MonkeyRunner负责模拟非应用的操作及协助截图;Instrumentation负责应用内的操作;最后由Python进行图片对比测试。
2、APP自动化搭建方案:python作为自动化测试方案的主导,python调用shell脚本负责启动和关闭模拟器;adb负责安装和卸载应用:MonkeyRunner负责屏幕的解锁;Instrumentation负责应用内的操作及界面控件的验证;MonkeyRunner负责界面的截图和保存;Python的PIL模块负责图片像素级的对比。其中Instrumenttation必须使用命令驱动。
3、APP自动化搭建方案:以python作为自动化的主导。python的OS模块负责调用adb,负责模拟器的启动和关闭,abd负责安装和卸载应用;Monkey·Runner负责模拟应用必须的操作(如登录),MonkeyRunner负责截图以及对比最终结果
4、APP自动化搭建方案:以python作为自动化的主导。python的OS模块负责调用adb,负责模拟器的启动和关闭,abd负责安装和卸载应用;appium负责操作,MonkeyRunner负责截图以及对比最终结果。
ps :如果Android要使用Instrumentation做自动化测试的话,最好改先做的是每个界面的启动,截图、网路状态、控件显示、控件位置,xml文件的参数定义(如果是多语言化的应用介就更应该做这个测试了)