app专项测试
1、流量测试
原理:
在安卓手机上,应用的网络流量数据都会保存在系统的/proc/uid_stat/$UID/tcp_rcv 和/proc/uid_stat/$UID/tcp_snd两个文件夹里面,一个是请求耗费的流量,一个是接受的数据流量,这两个数据是由系统记录的,在我们启动某个软件的时候,系统会根据这个应用所占用的进程号pid在根目录下创建一个以这个命名的文件夹,在文件夹的下面有存有UID的文件。
流量测试可以给我们带来什么?
1.可以让我们很清楚的知道用户在某种场景下使用我们的产品需要消耗多少流量。
2.流量数据分析可以指导我们去做优化;比如cgi的调用和参数设置是否合理,有些资源或者配置是否可以本地化?
3.流量的优化可以带来速度的优化;减少tcp数据包的个数,或者直接减少请求数都可以带来速度的优化。
测试内容:
1、冷热启动流量值
2、后台运行的流量值
3、高负荷运行(某个模块)的流量峰值
4、中等负荷运行(某个模块)时的流量均值
1.2测试步骤
使用adb连接到测试机
查看pid:adb shell ps | grep ‘包名’ //查询进程名中包含的的进程信息
查看uid:adb shell cat /proc/pid/status //android系统的目录文件/proc/pid/status中包含关于uid的信息。
1.3使用命令查看当前下行(下载)流量情况 adb shell cat /proc/uid_stat/uid/tcp_rcv
1.4启动APP到APP彻底启动;再次执行执行命令cat/proc/uid_stat/10216/tcp_rcv
1.5 rcv代表上行流量,把tcp_rcv换为snd可以查看上行流量。
1.6计算实际tcp上下行流量
(78145-4390)/1024计算出下行(下载)流量的大小单位KB
(25413-4338)/1024计算出上行(上传)流量的大小单位KB
注意:启动APP后的流量记录多尝试几次,当不操作APP且流量值不变化时为准。
这里的值的单位是Byte字节,并且是累积量
有的应用是没有tcp_snd和tcp_rcv这两个文件的,比如某些系统应用。
某些没有流量交换的应用的可能也没有这两个文件,或者这两个文件里没有数据。
2、电量测试
用使用Battery Life进行功耗测试
3、弱网测试
通过fiddler设置弱网,高丢包,来进行测试
观看弱网情况下的
3.1在应用中统一弱网加载的界面样式、动画效果等
3.2统一网络错误、服务端错误、超时等展现给用户的界面和提示语句
4、兼容性测试
1、操作系统版本
包括Andoird版本,iOS版本
2、屏幕分辨率
3、不同厂家的ROM
5、安装卸载测试
安装
1)软件在不同操作系统下安装是否正常。
2)软件安装后的是否能够正常运行,安装后的文件夹及文件是否写到 了指定的目录里。
3)软件安装向导的UI测试
4)软件安装过程是否可以取消,点击取消后,写入的文件是否如概要设计说明处理
5)软件安装过程中意外情况的处理是否符合需求(如死机,重启,断电)
6)安装空间不足时是否有相应提示
7)安装后没有生成多余的目录结构和文件
8)对于需要通过网络验证之类的安装,在断网情况下尝试一下
9)还需要对安装手册进行测试,依照安装手册是否能顺利安装
10)安装时获取的一些权限,例如摄像头、录音等
11)安装后再次安装,或者app更新安装
12)安装后app的图标,名称显示
13)安装过程中的提示信息正常
卸载
1)直接删除安装文件夹卸载是否有提示信息。
2)测试系统直接卸载程序是否有提示信息。
3)测试卸载后文件是否全部删除所有的安装文件夹。
4)卸载过程中出现的意外情况的测试(如死机、断电、重启)。
5)卸载是否支持取消功能,单击取消后软件卸载的情况 。
6)系统直接卸载UI测试,是否有卸载状态进度条提示 。
7)卸载后是否有残留文件夹
6、稳定性测试
通过monkey测试
7、安全测试
1、权限测试
扣费风险
隐私泄露风险:例如在我们安装APP应用时通常会看到"xx要读取 手机通讯录"等提示,
这些提示可以提示用户拒绝接受,这 些是APP测试中的测试点。
校验input输入:对于APP有输入框的要对输入的信息进行校验, 比如密码不能显示明文。
2、服务端
(1)SQL注入:简单的说就是在post/getweb表单、输入域名或页面 请求的查询字符串中
插入SQL命令,最终使web服务器执行恶意 命令的过程。攻击者通过SQL注入获取到
服务器的库名、表名、字段名,从而获取到整个服务器中的数据,对网站用户的数据安全有
极大的威胁。攻击者也可以通过获取到的数据,得到后台管理员的密码,然后对网页页面进
行恶意篡改。这样不仅对数据库信息安全造成严重威胁,对整个数据库系统安全也影响重大。
(2)XSS跨站脚本攻击:XSS是一种经常出现在web应用中的计算机 安全漏洞,也是web
中最主流的攻击方式。那么什么是XSS 呢?XSS是指恶意攻击者利用网站没有对用户提交数
据进行 转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到 web页面中去。使别的
用户访问都会执行相应的嵌入代码。从而盗取用户资料、利用用户身份进行某种动作或者对
访问 者进行病毒侵害的一种攻击方式。(通过校验客户端数据)
(3)CSRF跨站请求伪造:攻击者可以劫持其他用户进行的一些请求,利用用户身份进行恶
意操作。(通过token解决)
越权访问
3、传输过程
数据是否加密
8、干扰测试
收到电话、收到短信、收到通知栏消息、无电提示框弹出、第三方安全软件告警弹出。
9、交互测试
前后台交互
应用之间交互