安全测试

近年来,移动APP存在一个非常的重要的问题就是安全问题,即用户的隐私泄露。针对APP的安全测试可以参考一下几个方面。

一、安装包安全性
1.首先验证安装包是否对签名进行校验,以防止被恶意第三方应用覆盖安装等;
2.开发人员是否对源代码进行混淆,以免被反编译软件查看源代码;
3.用户隐私,特别是访问通讯录,需要对特定权限进行检查;

二、用户安全性
1.用户拨打电话、发短信、连接网络等是否存在扣费的风险;
2.用户密码在传输中是否进行加密,在数据库中存储是否进行了加密;
3.免登录是否设置了过期时间;
4.用户的账号、密码等敏感数据是否存储在设备上;
5.当用户注销账号时需要身份验证的接口是否可以调用;
6.对Cookie的使用是否设置了合理的过期时间;

三、数据安全性
1.用户的敏感数据是否写到日志或配置文件中;
2.当用户使用敏感数据时是否给用户提示信息或安全警告;
3.在输入敏感数据时是否支持第三方输入法输入;
4.用户输入的数据是否进行了数据合法性的校验;
5.在含有敏感数据中连接中国是否使用了安全通信,如HTTPS;
6.对安全通信的数字证书是否进行合法的验证;

四、通信安全心
1.所有手机的功能应优先处理,如接电话、收短信等;
2.当网络中断或出现异常时需要给用户网络异常的提示;

五、服务端安全性
服务端主要关注接口,其安全性跟Web端安全性类似,主要考虑SQL注入,XSS跨站脚本攻击、CSRF跨站请求伪造以及越权访问等;

兼容性测试
众所周知,APP兼容性测试是一个耗时、耗人力,而且成本很高的测试工作,且APP兼容性测试又是一项必须要进行的测试活动,其测试时主要考虑手机端的软、硬件兼容性,一方面要考虑与主流APP兼容性;另一方面又要考虑手机设备的兼容性,如不同品牌的手机,不同的操作系统,不同手机的屏幕分辨率等;
具体的测试方法可以使用模拟器来进行模拟不同的手机品牌、系统、分辨率进行测试,但是模拟器测试的数据会有差异,针对一些实力雄厚的公司,建议购买真机进行测试。还可以借助第三方工具(如Spider工具)以及云测试平台来进行测试,这样可以即能保证兼容性质量的同时、又能高效地完成APP兼容性测试的覆盖。

用户体验测试
由于APP软件的研发人员、研发周期以及测试周期都比较短,所以进行用户体验测试在APP测试中是一项比较有必要的测试活动。通常公司组织内部人员,从用户的角度来评价产品的特性,提出修改意见,从而提高客户的满意度。体验可以考虑以下几点:
1.UI界面的设计,从用户的视觉评价产品;
2.使用真机对手机兼容性进行体验测试;
3.用户的指引设计是否合理;
4.APP页面跳转设计和深度是否合理;
5.体验锁屏、横竖屏的设计以及各种异常操作等。