一、大纲
1.功能性测试
2.兼容性测试
3.弱网络测试
4.稳定性测试
5.安全性测试
6.性能测试
7.H5测试
二、重点测试点:
(1)功能性测试
根据软件说明或者用户需求验证APP的各个功能实现;
根据需求,提炼APP的用户使用场景,验证功能;
根据相关测试标准,验证功能;
根据被测功能点的特性,采用特别的方法进行测试;
在测试过程中,即使修正业务或者理解需求错误;
使用思维导图进行测试点的编写和设计等。
常见的功能缺陷:
功能不起作用(菜单、按钮、链接、控件等失效);
功能错误(和预期的结果不一致,计算错误,显示错误等);
功能缺失(缺少应具备的菜单、按钮、选项等);
执行功能之后,全系统瘫痪(崩溃,CPU不足,ANR等);
执行功能之后,当前功能无法继续操作等。
安装(升级)和卸载:
是否可以在android不同版本上正常安装(有的软件有最低适配版本);
安装后是否可以正常操作;
异常情况下是否有相应的正常提示;
如果有网络之类的因素,要考虑在断网情况下是否正常;
安装过程中如果出现短信,闹铃,电话,断电等异常情况,是否能正常安装成功。
运行:
安装完成后,是否可以正常打开;
正常使用时,是否有操作引导和加载提示;
运行速度,界面切换是否流畅。
比如登录功能:
用户名或密码错误时,要有正确提醒;
用户退出登录后,要在下次启动APP时,显示为登录界面;
如果自动登录,打开要直接显示主页;
如果有APP何Web端,更新数据后,要在数据库中同步更改。
如果有移动端登录的互踢机制,下次异常登录时,对原用户要有正确的提醒等等。
数据的离线和缓存,在没网的情况下,显示的缓存数据。有网后,数据要及时更新。
清除缓存:
在手机设置中,可以清楚当前APP的数据和缓存。(清除数据 > 清除缓存)
APP在运行过程中,清除数据之后,是否程序有什么异常;
再次打开之后,会不会闪退。
(2)网络环境
测试软件在2G,3G,4G,wifi情况下的运行情况;
在公司内网和户外外网进行测试;
网速特差的情况下,交换数据是否能成功,若失败如何提示;
从有网到无网再到有网,数据是否能正常回复。
(3)UI测试
确保用户通过界面能正确、快速、有效的使用软件的各项功能;
确保APP界面符合公司或行业的标准,包括用户友好型,人性化,已操作等。
(4)异常测试
多个APP切换,不能被强制杀死进程;
App在强制清空数据后,还能正常运行;
长时间开启APP,是否会出现程序异常,(尤其是地图,扫码,定位之类的软件)
网络切换之后,是否能正常响应。
(5)兼容性测试
主要看以下几点:
操作系统版本(最低兼容);
屏幕分辨率/尺寸;
不同手机品牌;
安卓碎片化问题,疑难杂症。
(6)安全性测试
权限问题:对于没有必要获取的权限,要让开发删除。
数据库中保存敏感信息:关于用户的密码,支付密码或者指纹等关键信息,不但要加密保存,而且在用户注销的同时,所有这些敏感信息要删除。
日志信息:在开发或者调试版本中,会打开APP的日志记录,但是在正式环境上要关闭日志,否则容易被暴力破解日志信息,获取用户信息。
(7)性能测试
APP在不同网速下操作的流畅程度;
测试APP操作数据库的性能;
压力测试;
资源占用和消耗等。
(8)稳定性测试
Adb命令的总结:
Adb命令是安卓通用的调试工具,可以发送shell命令,对手机进行,安装、卸载、系统升级、运行shell命令等进行操作。
监听端口:5037
获取端口的状态:netstat -ano | findstr 5037
Windows 常用命令:
D: 切换D盘
Cd.. 返回上一层目录
Cd abc 进入当前目录下的
Dir 列出当前目录下的文件和目录
Mkdir 创建目录
Rd 删除目录
安装apk: adb install 。 (指:apk在电脑上的存储目录和名称)
卸载apk: adb uninstall ** (***指:apk的包名)
获取当前手机上所有的包名:adb shell pm list packages
(第三方的+系统自带的)
获取当前手机上所有第三方的包名:adb shell pm list packages -3
(-3 是指第三方的 -s 是指系统自带的)
获取当前设备的信息:adb get-serialno
把电脑的文件复制到手机:adb push ** ++++++
( ** 指:文件在电脑上存储的路劲和名称。 ++++++指的是目标文件在手机中存储的目录)
把手机的文件复制到电脑:adb pull **+++++++
(** 指:文件在手机上存储的路径和名称。 ++++++指的是要把文件保存到电脑的存储目录)
Monkey详解
安卓的底层是linux系统: 查看所有文件夹: ls-l
Adb shell monkey -p com.hrbb.directbanks -v-v-v -s 123 --throttle 300 --ignore-crashes --ignore-timeouts 20000
-p:指定包名
-v : 一级日志:缺省值,仅提供启动提示、测试完成、和最终结果等信息。
-v-v : 工作中最少两个v , 一般是两个到三个。
-s 123 : 指定相同的 -s 值,那就两次发送相同的伪随机序列
--throttle 300:事件之间相隔300毫秒
--ignore-crashes :当应用遇到crash奔溃后,继续执行操作。直到全部操作完成为止。
--ignore-timeouts:当遇到ANR,系统无响应后,继续执行操作,直到全部操作完成为止。
20000:事件的总执行次数。
Adb shell monkey -p com.hrbb.directbanks -v-v-v -s 123 --throttle 300 --ignore-crashes --ignore-timeouts 20000 >E:/error.txt
(把日志保存在E盘下test文件夹下面的error.txt文件中)
在保存的日志中,可以搜索关键字,crash、error、anr、等。用来定位分析出现的BUG。
原文地址:http://blog.51cto.com/12854984/2072105