• 0
  • 0
分享
  • APP做安全性测试的目的——软件测试圈
  • 恬恬圈 2024-04-08 15:48:58 字数 2310 阅读 867 收藏 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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 对于业内人士而言,软件测试要做到与时俱进还真不容易。因为测试团队与领导之间在测试方法、测试地点和时间问题上有着许多误解,所以使得准时的、高质量的发布具有一定的挑战性。如果高层领导从测试之初就参与进来,你就能够克服很多这样的问题。虽然他们不会参与到实际测试,但是他们能够从基层了解到从测试到交付一个优质软件需要做到什么。通过设定明确的质量预期,并了解满足测试团队的需求(例如培训、练习、工具等等),才能从顶层建立领导力。由于公司在持续交付中进行测试,测试计划的必要成为他们质疑的一点。现代测试计划可以为构建和传达测试策略和方法提供帮助。他们给测试团队提供的是交流各类假设和方法的渠道,其中也包括了对测试...
            0 1 1537
            分享
          •   1、引言  在上一篇中,我们聊到了《AI测试技能卷起来!目标检测算法测试流程与方法总结》,反响还不错。但是,也有测试同学给我留言:“能不能讲一讲模型工程的测试流程和方法”。这当然没问题了, 因为在整个工程中,算法模型只是其中的一个环节,我们模型测试完成后,需要部署到系统中,这样才能让模型真正的应用于业务中。   为了更好的让你们理解模型在系统中的流程,我以我的工作为例(当然,处于职业操守,部分内容进行脱敏),以流程图的形式给大家展示。  通过上图,大家可以了解到模型的整体架构。  这里说两点:  1)数据流:即数据解析,保证数据的质量;  2)特征库:即数据处理,提取数据特征进行...
            0 0 362
            分享
          • 引子写在最前面:目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出不穷,但是, 能够明白自动化测试并很好落地实施的团队还不是非常多,我们接来下用通俗的方式来介绍自动化测试……首先我们从招聘岗位需求说起。看近期的职业机会,提到“软件测试工程师”,基本上都有关于自动化测试的要求。例如:了解 selenium、appium或者其他自动化测试框架;至少熟悉一门面向对象开发语言,有一定的代码功底优先;熟悉Java或者python,有一定的测试自动化经验和代码阅读能力;了解接口集成测试,会使用JMeter、Postman、SoapUI等接口测试工具。等等,上述内容不再一一列举。突然自动...
            12 12 1216
            分享
          •   好多人都觉得测试经理已经不进行实际的测试工作了,是不是只是管管人就行了?  当然不是了,下面我们就来探讨一下测试经理到底每天都在干什么。  需求分析  作为测试经理来讲,必须对需求了解的非常透彻,那么在拿到一个需求或者项目的时候,通过需求分析报告,能准确的提出项目的可行性建议以及可能存在的风险。  避免在项目进行过程中发现了方向性的问题或者无法跨越的鸿沟。  编写测试计划  拿到测试需求后,最主要的工作不是马上就开始测试,而是需要根据提测的功能,合理的分配测试人员,编写可行性的测试计划,以保证项目或者需求能按时的完成。  用例评审  在测试人员根据需求编写完测试用例之后,测试经理应该组织相...
            0 0 1802
            分享
          •   一、等价类划分法  等价类划分是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可。它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。  等价类思考步骤:  1、先确定有效和无效等价类。  2、有效等价类就是题目条件(两端的极值(边界值)要判断,中间随意一个值也要判断)。  3、无效等价类先划分与条件相反的情况,其它特殊情况(中文、英文、特殊符号、空格、空值)。  二、边界值  具体测试用例思路:找到边界值和它两端的值,分别进行测试。  1、确定边界情况(输入或输出等价类的边界)。  2、选取正好等于、刚刚好大于或刚刚好小...
            0 0 3027
            分享
      • 51testing软件测试圈微信