• 0
  • 0
分享
  • APP做安全性测试的目的——软件测试圈
  • 恬恬圈 2024-04-08 15:48:58 字数 2310 阅读 258 收藏 0

  安全性测试的目的是发现危害手机中数据的安全和完整性的错误和缺陷。发现安全错误通常是比较困难的,软件通常功能运行正常但却不安全。

  一、软件权限

  APP软件权限包括:网络通信、信息发送、自动启动、 媒体录制、读取用户信息、写入用户数据等权限,因关系到用户个人信息和隐私的保护,需对软件权限和访问安全机制进行测试。

  网络通信

1-1.jpg

  信息发送

1-2.jpg

  自动启动权限

1-3.jpg

  媒体录制权限

1-4.jpg

  读取用户信息

1-5.jpg

  写入用户数据

1-6.jpg

  二、安装&卸载

  安装

  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小时,统计服务的交易成功率。


作者:佚名    

来源:http://www.51testing.com/html/99/n-7796499.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   应届生,没有实际项目经验怎么破?  面试的过程并不为为了显示面试官技术有多牛,也不是为了体现他们公司有多么难进而是考察你的能力和招聘需求是否相匹配,进而评估你能否满足工作需求,甚至实现更多的岗位期待。  弄清楚了这个核心,那么就只需要把控好两方面的内容:  1、自己的技能水平可以满足招聘需求  2、表达能力OK  围绕上面的核心,咱们来具体的聊一下:  首先来说,目前的行业招聘现状是:  ·测试行业底层在不断洗牌  · 初级人员薪资一直维持不变(相当于降薪)  · 已经不再是公司疯狂招人的阶段  所以就导致了明显的两极分化,大厂倾向于直接招测试开发,测试团队进一步精简,...
            0 0 427
            分享
          •   选对专业是步入社会最好的敲门砖,如果你选对了行业,就能实现自己的人生价值,获得财富自由!  虽说三百六十行,行行出状元,但是从行业需求来看,并不是每一个行业都有好的前景。在经济全球化以及互联网快速发展的大趋势下,全球市场需求在不断释放,随着云计算、大数据、人工智能等新兴数字技术广泛运用于行业生产及销售领域,软件测试行业有望迎来新的发展契机。  但是,因测试领域的不同,测试技能的要求也会有所不同,所以术业有专攻,想进一个新领域,除基本的测试技能外,还要学习这一领域的新知识。  那么对于想从事测试的小伙伴来说,未来哪个行业更吃香呢?  · 通信行业领域  随着5G网络的广泛应用,通信设备的测试...
            0 0 930
            分享
          • app测试中,随着功能的不断增多,每次发版本的时候需要回归内容就越来越多,回归需要花费的时间从1小时扩大到4小时,8小时甚至多天。为了减少投入回归的时间成本,人力成本,无数的测试人员开始尝试UI自动化。其实无论是web UI还是app UI 自动化都是存在一定的共性内容。就是通过控件的位置、名称、属性等获取控件对象,并且通过操作控件对象或者坐标来模拟用户的操作。它包括三个核心部分:1、动作执行动作执行需要先有动作,然后再进行执行,动作的获取有两种方式,一种是通过录制脚本,主要是记录空间的位置坐标和发生的事件,通过回放脚本完成测试事件,像airtest框架就提供比较方便的录制回放功能。...
            0 0 570
            分享
          •   测试用例格式包括十大特点  1)用例编号  2)测试项  3)测试标题  4)用例属性  5)重要级别:高中低  6)预置条件  7)测试输入  8)操作步骤  9)预期结果  10)实际结果  等价类  1,等价类定义  2,等价类划分  3,等价类划分规则  4,进行等价类用例设计  5,案例  边界值  1,边界值的三点  2,边界值应用场景  3,边界值方法应用步骤  判定表  1,定义  2,重要概念  3,判定表应用步骤  4,案例  因果图  1,输入与输入的关系  2,输入与输出的关系  3,案例  正交试验  1,因子和水平的定义  2,特点  3,设计流程  4,注意点...
            0 0 323
            分享
          •   最近在测试的产品是一个类似于途牛的旅游网站,公司只有本人一个菜鸟测试,之前从未接触过测试相关。最近在提Bug的时候,发现自己越来越容易纠结于一个Bug到底是该分给前端还是后台。之前测试其他产品的时候,由于业务逻辑相对简单,Bug也不多,也就很少留意到这个问题,但是现在手头的项目让我对于Bug定位的问题再也无法忽略。遂查了一些资料,再加上自己的理解,输出了这篇文章,谨以记录以及相互的交流学习,如有不当之处,欢迎指出。  首先,搞不清一个Bug到底归属前端还是后台的根本原因就是对于这二者的概念模糊。综合网上的资料来看,个人归纳为:  前端是用户看得见摸得着的东西,主要体现在页面的视觉效果以及交...
            3 3 3493
            分享
      • 51testing软件测试圈微信