安全性测试的目的是发现危害手机中数据的安全和完整性的错误和缺陷。发现安全错误通常是比较困难的,软件通常功能运行正常但却不安全。
一、软件权限
APP软件权限包括:网络通信、信息发送、自动启动、 媒体录制、读取用户信息、写入用户数据等权限,因关系到用户个人信息和隐私的保护,需对软件权限和访问安全机制进行测试。
网络通信
信息发送
自动启动权限
媒体录制权限
读取用户信息
写入用户数据
二、安装&卸载
安装
1、应用程序应能正确安装到设备驱动程序上;
2、能够在安装设备驱动程序上找到应用程序的相应图标;
3、是否包含数字签名信息;
4、JAD文件和JAR包中包含的所有托管属性及其值必需是正确的;
5、JAD文件显示的资料内容与应用程序显示的资料内容应一致;
6、安装路径应能指定;
7、没有用户的允许,应用程序不能预先设定自动启动; .
8、卸载是否安全,其安装进去的文件是否全部卸载。
卸载
1、卸载是否安全,安装的文件是否卸载干净;
2、卸载时,用户在使用过程中产生的文件是否有提示确认;
3、其修改的配置信息是否复原;
4、卸载是否影响其他软件的功能;
5、卸载应该移除所有的文件;
6、卸载后快捷方式是否删除。
三、数据安全性
数据安全性测试是最重要的测试内容,数据安全是安全的核心内容。数据安全测试应从密码显示、存储、数据备份和恢复、安全提示等方面进行有效的测试,以确保用户使用的安全性。
1、当将密码或其他的敏感数据输人到应用程序时,其不会被储存在设备中,同时密码也不会被解码;
2、输人的密码将不以明文形式进行显示;
3、密码,信用卡明细,或其他的敏感数据将不被储存在它们预输人的位置上;
4、不同的应用程序的个人身份证或密码长度必需至少在4-8个数字长度之间; .
5、当应用程序处理信用卡明细,或其他的敏感数据时,不以明文形式将数据写到其它单独的文件或者临时文件中。以防止应用程序异常终而又没有侧除它的临时文件,文件可能遭受人侵者的袭击,然后读取这些数据信息;
6、当将敏感数据输人到应用程序时,其不会被储存在设备中;
7、备份应该加密,恢复数据应考虑恢复过程的异常0通讯中断等,数据恢复后再使用前应该经过校验;
8、应用程序应考虑系统或者虚拟机器产生的用户提示信息或安全替告;
9、应用程序不能忽略系统或者虚拟机器产生的用户提示信息或安全警告,更不能在安全警告显示前,,利用显示误导信息欺骗用户,应用程序不应该模拟进行安全警告误导户;
10、在数据删除之前,应用程序应当通知用户或者应用程序提供-一个”取消”命令的操作;
11、” 取消”命令操作能够 按照设计要求实现其功能;
12、应用程序应当能够处理当不允许应用软件连接到个人信息管理的情况;
13、当进行读或写用户信息操作时,应用程序将会向用户发送一个操作错误的提示信息;
14、在没有用户明确许可的前提下不损坏侧除个人信息管理应用程序中的任何内容;
15、应用程序读和写数据正确;
16、应用程序应当有异常保护;
17、如果数据库中重要的数据正要被重写,应及时告知用户;
18、能合理地处理出现的错误; .
19、意外情况下应提示用户。
四、通讯安全
1、在运行其软件过程中,如果有来电、短信等通讯或充电时,是否能暂停程序,优先处理通信,并在处理完毕后能正常恢复软件,继续其原来的功能;
2、当创立连接时,应用程序能够处理因为网络连接中断,进而告诉用户连接中断的情况;
3、应能处理通讯延时或中断;
4、应用程序将保持工作到通讯超时,进而发送给用户-个错误信息指示有连接错误;
5、应能处理网络异常和及时将异常情况通报用户;
6、应用程序关闭或网络连接不再使用时应及时关闭)断开;
7、HTTP、HTTPS覆盖测试。
--App和后台服务-般都是通过 HTTP来交互的,验证HTTP环境下是否正常;
--公共免费网络环境中(如:麦当劳、星巴克等)都要输入用户名和密码,通过SSL认证来访问网络,需要对使用HTTPClient的library异常作捕获处理。
五、人机接口安全
人机接口包括交互界面菜单、接口命令、声音等,题责与用户相连接的接口,为避免用户无意输入的可干扰程序正常运作的错误数据,因此要对所有的输入之前进行检查并确认有
1、返回菜单总保持可用;
2、命令有优先权顺序;
3、声音的设置不影响应用程序的功能;
4、应用程序必需利用目标设备适用的全屏尺寸来显示上述内容;
5、应用程序必需能够处理不可预知的用户操作,例如错误的操作和同时按下多个键。
六、测试通信处理能力
1、多连接,小数据量测试
客户端采用多线程与服务连接,采用多台终端同时与服务连接,每台终端同时建立秒于1000个连接,观察服务通信是否正常。
2、常连接、大数据量测试
每个客户端与服务建立一长连接,同时发送大数据量数据(如每次1M数据) ,观察服务能否正确接收。
七、数据处理能力
1、每次连接时启动计时,在-定的时间内观察服务是否正确返回,统计交易成功率。
2、碎片包测试:客户端把一个完整交易包分割成多个碎片包发送,观察服务能否正确组合和响应。
八、可靠性测试
多台客户端同时与服务连接并自动发送交易数据,交易数据有单包,多包,碎片等模式,连接通信7X24小时,统计服务的交易成功率。
作者:佚名