一、功能测试
1. 评审需求,多方面考虑,整理出内在外在以及非功能性的直接间接功能点,对比需求,提取测试点
2. 根据常用的一些分析方法,等价类边界值判定表因果图场景法等方法,设计测试用例,对提取的功能点进行覆盖
3. 测试各个阶段不断跟踪缺陷,做好用例的更新迭代和不断变更需求所带来的业务或者需求的错误
二、易用性测试
用户界面(菜单、对话框、窗口)等布局,风格是否满足用户需求,文字位置,描述是否正确,界面美观程度,文字图片组合是否合理
用户友好性、人性化、便于操作等
三、可靠性测试
1. 中断测试(交叉事件测试)
1. 多个App同时在后台运行,并交替切换至前台是否影响正常功能
2. 要求相同系统资源的多个App前后台交替切换是否影响正常功能,例如:两个App都需要播放音乐,那么两者在交替切换的过程中,播放音乐功能是否正常
3. 前后台运行时来电话、来短信、下载文件、听音乐、看电影、提示系统升级、发生系统闹钟事件、进入低电量模式、第三方安全软件弹出告警等不同情况下的表现
四、兼容性测试
1. 不同操作系统的兼容性,包括主流的Andoird和iOS版本
2. 主流的设备分辨率下的兼容性
3. 主流移动终端机型的兼容性
4. 同一操作系统中,不同语言设置时的兼容性
5. 不同网络连接下的兼容性,比如Wifi、GPRS、EDGE、CDMA200等
6. 在单一设备上,与主流热门App的兼容性,比如微信、抖音、淘宝等
五、安全测试
软件权限:其中包括发送信息,拨打电话,链接网络,访问手机信息,联系人信息等等
数据在本地的存储、传输等
执行某些操作时导致的输入有效性验证、授权、数据加密等方面
基于各种通信协议或者行业标准来检查
六、性能测试
极限测试:各种边界情况下验证app的响应能力
如:低电量、储存满。弱网等情况
响应能力测试:验证各种情况下不同操作能否满足用户响应需求
压力测试:反复长期操作下,系统该资源的使用情况
七、专项测试
1. 安装、卸载测试
1. 验证app能否正确安装运行卸载,以及操作过程和操作前后对系统资源的占有情况
2. 安装运行卸载的提示,报告等
3. 检查安装路径,文件是否合理,组件是否正确注册等
2. 升级更新测试
每次app版本迭代更新时,配合不同网络环境,及不同更新权限(强制更新,不强制更新),进行下载、安装、更新、启动运行等测试
3. 支付测试
支付结果的确认,数据库查询
请求报文是否加密
不同场景的支付
金额足够、金额不足、重复支付、无网支付、弱网支付、同账号多平台一起支付、余额宝微信信用卡等多种支付方式、不同支付方式的组合、密码正确/错误、支付上限等情况
4. 流量测试
借助于Android和iOS自带的工具进行流量统计,也可以利用tcpdump、Wireshark和Fiddler等网络分析工具
测试场景
1)App执行业务操作引起的流量
2)App在后台运行时的消耗流量
3)App安装完成后首次启动耗费的流量
4)App安装包本身的大小
5)App内购买或者升级需要的流量
测试方法:
1)Android系统,网络流量信息通常存储在/proc/net/dev目录下,也可以直接利用ADB工具获取实时 的流量信息
2)获取被测程序的uid,pid:adb shell ps |findstr com.thestore.main ;下面的uid:10129,pid:30608
3)也可以通过pid查询uid:adb shell cat proc/30608/status
4)获取实时的累计流量信息: adb shell cat /proc/uid_status/10129/tcp_rcv 接收流量信息--下行流量 cat /proc/uid_status/10129/tcp_snd 发送流量信息--上行流量
2)iOS系统,可以使用Xcode自带的性能分析工具集中的Network Activity,分析具体的流量使用情况
降低流量的场景方法:
1)启用数据压缩,尤其是图片
2)使用优化的数据格式,比如同样信息量的JSON文件就要比XML文件小
3)遇到既需要加密又需要压缩的场景,一定是先压缩再加密
4)减少单次GUI操作触发的后台调用数量
5)每次回传数据尽可能只包括必要的数据
6) 启用客户端的缓存机制