1、ICS 35.080 L 77 备案号: 63143-2018 中华人民共和国电力行业标准 DL / T 2031 2019 电力移动应用软件测试规范 Test specification for power mobile application software 2019-06-04发布 2019-10-01实施 国家能源局 发 布 DL / T 2031 2019 I 目 次 前言 . . III 1 范围 . . 1 2 规范性引用文件 . . 1 3 术语和定义 . . 1 4 缩略语 . . 3 5 测试环境 . . 3 6 测试方法 . . 4 7 功能测试 . . 4 7.1 功
2、能性测试 . . 4 7.2 交叉事件测试 . . 4 8 非功能测试 . . 5 8.1 性能( 效率)测试 . . 5 8.2 兼容性测试 . . 7 8.3 易用性测试 . . 7 8.4 可靠性测试 . . 8 8.5 可维护性测试 . . 9 8.6 可移植性测试 . . 9 8.7 用户文 档集检查 . . 10 9 安全测试 . . 10 9.1 移动应 用服务端 . . 10 9.2 移动应 用客户端 . . 10 附录 A(资料 性附录) 黑盒测试方法 . 19 附录 B(资料 性附录) 渗透测试方法示例 . 21 附录 C(资料 性附录) 综合评价方法 . 26 附录 D(
3、资料 性附录) 测试工具 . 28 DL / T 2031 2019 II 前 言 为规范电力行业各专业移动互联应用建设,利用移动互联技术创新业务模式,提升电力行业生产经 营效率和优质服务水平,同时降低电力行业信息化建设成本,制定本标准。 本标准按照 GB/T 1.1 20 09标准化导则 第1 部分:标准的结构和编写给出的规则编制。 本标准由中国电力企业联合会提出并解释。 本标准由电力行业信息标准化技术委员会归口。 本标准起草单位: 中国电力科学研究院有限公司、 国家电网有限公司、 中国南方电网有限责任公司、 南瑞集团有限公司、国网山东省电力有限公司。 本标准主要起草人:汪洋、王志英、丁慧霞
4、、汤国龙、程磊、赵莹、颉月平、方帅、王智慧、张庚、 滕玲、李哲、陈相舟、董慧博、董灿、冯国聪、胡牧、蒋厚明、胡昊伟、王勇、邓昊、卢立生、李健。 本标准首次发布。 本标准在执行过程中的意见或建议反馈至中国电力企业联合会标准化管理中心 (北京市白广路二条 一号, 100761) 。 DL / T 2031 2019 1 电力移动应用软件测试规范 1 范围 本标准规定了电力移动应用软件在系统测试阶段的测试环境、测试方法和测试过程。 本标准适用于电力行业移动应用软件的系统测试环节,其他软件系统可参照本标准执行。 2 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期
5、的版本适用于本文 件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。 GB/T 15532 计算机软件测试规范 GB 17859 计算机信息系统安全保护等级划分准则 GB/T 18336 信息技术 安全技术 信息技术安全评估准则 GB/T 22239 信息安全技术信息系统安全等级保护基本要求 GB/T 250692 010 信息安全技术 术语 GB/T 34975 信息安全技术 移动智能终端应用软件安全技术和测试评价方法 YD/T 2558 基于祖冲之算法的LTE终端和网络设备安全技术要求 3 术语和定义 GB/T 15532、GB/T 18336 、GB/T 25069
6、2010界定的以及下列术语和定义适用于本文件。 3.1 移动应用软件 Mobile ap plication 可独立运行在移动终端系统上的应用,拥有系统本身独立的应用服务器、数据库服务器,不借用其 它软件或平台作为入口,可独立发布、安装、运行、卸载等。 3.2 黑盒测试 black box testing 在完全不考虑程序内部结构和内部特性的情况下, 检查程序功能是否按照需求规格说明书的规定正 常使用,程序是否能适当地接收输入数据而产生正确的输出信息。 3.3 交叉事件测试 cross event test 一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。 3.4 系统完
7、整性 system integrity 系统能够以不受损害的方式执行其预定功能,避免对系统故意的或意外的未授权操纵的特性。 GB/T 250692010,定义2.1.49 3.5 DL / T 2031 2019 2 数据完整性 data integrity 数据没有遭受以未授权方式所作的更改或破坏的特性 GB/T 250692010,定义2.1.36 3.6 保密性 confide ntiality 使信息不泄露给未授权的个人、实体、进程,或不被其利用的特性。 GB/T 250692010,定义2.1.1 3.7 加密技术 encryption technology 采用数学方法对原始信息进
8、行再组织, 使得加密后在网络上公开传输的内容对于非法接受者来说成 为无意义的文字的安全保密手段。 3.8 组件 component 对数据和方法的简单封装, 本标准中包括组成安卓应用程序的组件, 即Activities (活动) 、 Service (服务)、Content Provider (内容提供器)、Broadcast Recei ver(广播接收器)、Intent(意 图) 等。 3.9 活动组件 acitivities 安卓应用程序的组件之一,提供一个屏幕,负责与用户交互。 3.10 服务组件 service 安卓应用程序的组件之一,通常在后台运行,主要用于在后台处理一些耗时的逻辑
9、,或者执行某些 需要长期运行的任务。 3.11 内容提供器 content provider 安卓应用程序的组件之一,用来管理和共享应用程序的数据库。 3.12 广播接收器 broadcast receiver 安卓应用程序的组件之一,用于接收并响应广播通知。 3.13 意图组件 intent 安卓应用程序的组件之一,简单的消息传递框架。 3.14 网络视图 webview 移动平台提供给移动应用软件使用的软件开发工具包(SDK)封装好的组件,主要作为网络浏览器。 3.15 DL / T 2031 2019 3 代码混淆 code obfu scation 将计算机程序的代码,转换成一种功能上
10、等价,但是难于阅读和理解的形式的行为,意为防止软件 被破解或篡改。 3.16 数字签名 digital signature 一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的 方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。 3.17 权限攻击 privilege attack 低权限程序调用高权限程序的攻击行为。 3.18 模拟器 simulator 可以在非移动平台,如windows等环境下通过软件模拟移动平台系统的软件。 4 缩略语 下列缩略语适用于本文件。 ANR:应用程序无响应(Applicatio n Not Respon
11、ding) API:应用程序编程接口(Applica tion Programming Interface) FPS:画面每秒传输帧数(Frames Per Second) IPsec:Internet 协议安全性(Intern et Protocol Security) SSL:安全套接层(Secure S ockets Layer) TLS:传输层安全(Transport Layer Security) 5 测试环境 测试环境应包括测试运行环境和测试工具环境。 测试的运行环境一般应符合电力移动应用的系统规 格说明书和相关设计文档的要求,通常是开发环境或模拟仿真环境,移动应用软件测试环境一般
12、包括客 户端、服务端、测试通信网络,测试通讯网络应使用适用于测试的安全无线接入设备。电力移动应用的 网络要求应遵循相关电力移动应用设计说明文档,组建相应测试仿真网络环境,并在仿真网络环境下开 展测试,测试使用的通讯网络设备要求见YD/T 2 558。测试工具一般要求是经过认可的工具。测试环境 的要求见GB/T 15532。 6 测试方法 本标准主要涉及以下几种方法: a) 黑盒测试:该方法的说明参见附录 A; b) 渗透测试: 利用攻击工具或通过人工操作的方式攻击移动应用系统, 验证其是否存在安全漏洞, 参见附录 B。 7 功能测试 DL / T 2031 2019 4 7.1 功能性测试 7
13、.1.1 测试项 功能性测试应对照移动应用设计说明中的功能点,逐项对其进行测试用例设计,测试用例的设计应 满足: a) 移动应用的每个功能特性应被一个或多个正常测试用例和一个或多个被认可的异常测试用例 所覆盖; b) 测试用例的输入应至少包括有效等价类值、无效等价类值和边界数据值; c) 逐项测试移动应用设计说明规定的功能特性; d) 测试移动应用配置项之间及软件配置项与硬件之间的接口; e) 测试移动应用输出及其格式; f) 测试运行条件在边界状态和异常状态下。 7.1.2 测试过程 下列测试过程适用于功能性测试: a) 根据需求规格说明书、概要设计等相关软件设计说明,分析并拆分移动应用功能
14、点; b) 根据拆分的移动应用功能点,采用“黑盒测试”方法逐一设计测试用例,测试用例应覆盖所有 功能点,覆盖率应达到 100%; c) 根据移动应用相关设计说明,编制每条测试用例的执行步骤、测试结果; d) 执行每条测试用例; e) 检验执行结果是否满足测试用例预期结果; f) 根据执行结果填写执行记录和缺陷报告。 7.1.3 测试结果 功能性测试结果,应满足下列要求: a) 通过所有功能性测试用例; b) 移动应用应满足所有经评审后的设计说明规定文档中的功能要求。 7.2 交叉事件测试 7.2.1 测试项 从交叉事件测试方面考虑,应测试: a) 移动应用在填写表单时中断后的恢复情况; b)
15、移动终端操作系统,在多个移动应用同时运行时是否影响被测移动应用正常功能; c) 移动应用运行时前后台切换、拔打接听电话、发送接收信息或邮件是否影响正常功能; d) 移动应用在调用相机、定位功能、语音交互等功能并返回移动应用后的运行情况。 7.2.2 测试过程 下列测试过程适用于交叉事件测试: a) 使用移动应用功能时,移动终端中断移动应用运行,检查中断移动应用运行后,移动应用恢复 操作情况; b) 使用移动应用在调用的相机、定位功能、语音交互等功能后,移动应用恢复的正确性; c) 移动终端操作系统中同时运行多个移动应用(含被测移动应用),检查被测移动应用的运行情 况。 7.2.3 测试结果 D
16、L / T 2031 2019 5 交叉事件测试结果,应满足下列要求: a) 移动应用中断恢复后,应保持移动应用会话; b) 移动应用中断恢复后,操作其它功能正常无误; c) 移动应用调用相机、定位时,应能正确跳转页面,并使用相关调用数据; d) 移动应用调用相机切换回移动应用时,移动应用应正常运行; e) 移动终端操作系统中同时多个移动应用运行时, 被测试移动应用应正常运行, 保证功能完整性。 8 非功能测试 8.1 性能(效率)测试 8.1.1 服务端性能(效率)测试 8.1.1.1 测试项 移动应用运行一段时间内,满足移动应用设计说明规定的测试场景、服务器资源、并发用户数量的 同时,应测
17、试移动应用服务端所能承受压力的强度,包括但不限于: a) 响应时间:服务端响应事务的平均时长; b) 每秒处理事务数(TPS):服务端每秒处理事务的数量; c) 事务通过率:服务端处理事务的成功率; d) CPU 占用率:服务端在处理事务时,服务器 CPU占用情况; e) 内存占用率:服务端在处理事务时,服务器内存占用情况; f) 硬盘 I/O 读写:服务端在处理事务时,服务器硬盘读写情况。 8.1.1.2 测试过程 下列测试过程适用于服务端性能(效率)测试: a) 模拟测试场景操作步骤,与服务建立连接,传输数据,并能得到正确的服务器反馈; b) 回放操作步骤,模拟并发用户操作典型移动应用场景
18、,向服务器施加压力; c) 统计模拟多人操作时,服务端响应能力和服务器资源占用情况。 8.1.1.3 测试结果 在满足最大并发用户数量的同时,服务端性能(效率)测试结果,应满足下列要求: a) 响应时间应在移动应用设计说明规定的时间范围内,如移动应用设计说明未规定性能指标的, 一般情况下首页访问平均响应时间不应超过 2秒;移动应用登录平均响应时间不得超过 3 秒; 执行简单查询、添加和删除业务时,平均响应时间不应超过 4 秒;执行复杂的综合业务(同 时包括查询、添加、删除等操作请求)时,平均响应时间不应超过 6 秒;在执行统计业务时, 月统计业务的平均响应时间不应超过 10 秒,年统计业务的平
19、均响应时间不应超过 20 秒; b) 每秒处理事务数(TPS)应满足移动应用设计说明规定的相关约束; c) 事务通过率应满足移动应用设计说明规定的相关约束,一般事物失败率应小于 0.1%; d) CPU 占用率、内存占用率、硬盘 IO读写应在移动应用设计说明规定的范围内,一般情况下应 用服务器和数据库服务器的 CPU 平均利用率不应超过 60%, 且 CPU 利用率不应连续 30 秒超过 80%;应用服务器的内存平均使用率不应超过 75%,且内存使用率不应连续 60 秒超过 80%。 8.1.2 客户端性能(效率)测试 8.1.2.1 测试项 DL / T 2031 2019 6 移动应用在不
20、同芯片组、分辨率、型号的移动终端上执行安装、卸载、启动、运行操作时,应测试 移动应用在移动终端运行时的各方面性能数据,包括但不限于: a) Android 移动终端: 1) 响应时间:移动应用在移动终端上安装、启动、运行、卸载的响应时长; 2) CPU 占用率:移动应用运行一定时间内占用移动终端的 CPU的平均率; 3) 内存占用率:移动应用运行一定时间内占用移动终端的内存的平均率; 4) FPS 渲染:移动应用在移动终端运行一定时间内平均每秒渲染帧数; 5) 耗电量:移动应用在移动终端运行一定时间内平均耗电量; 6) 电池温度:移动应用在移动终端运行一定时间内的平均电池温度; 7) 发送、接
21、收流量:移动应用在移动终端运行一定时间内发送和接收的平均流量数量。 b) iOS 移动终端: 1) CPU 占用率:移动应用运行一定时间内占用移动终端的 CPU的平均率; 2) 内存占用率:移动应用运行一定时间内占用移动终端的内存的平均率; 3) 发送、接收流量:移动应用在移动终端运行一定时间内发送和接收的平均流量数量。 8.1.2.2 测试过程 下列测试过程适用于客户端性能(效率)测试: a) 移动应用软件安装包下发至各移动终端; b) 通过自动化技术手段,在各移动终端进行安装、启动、运行、卸载操作; c) 查看移动应用在移动终端设备运行进程名称, 根据进程名称分别记录移动应用运行占用的资源
22、 情况。 8.1.2.3 测试结果 客户端性能(效率)测试结果,应满足下列要求: a) 生成客户端性能测试报告,显示移动应用在不同 Android移动终端安装、启动、运行、卸载时 的响应时间、CPU 占用率、内存占用率、FPS 渲染、耗电量、电池温度、发送接收流量; b) 生成客户端性能测试报告,显示移动应用在不同 iOS 移动终端安装、启动、运行、卸载时的 CPU 占用率、内存占用率、发送接收流量; c) 根据生成的客户端性能测试报告,提出建议性缺陷,提高移动应用在移动终端的运行效率。 8.2 兼容性测试 8.2.1 测试项 从兼容性测试方面考虑,应测试: a) 移动应用在不同机型、不同分辨
23、率、不同操作系统的移动终端适配性,持续运行时长不应小于 10 分钟; b) 移动应用在移动终端处于低内存空间、高 CPU占用的环境下的表现。 8.2.2 测试过程 下列测试过程适用于兼容性测试: a) 将移动应用安装包分发至不同机型、不同分辨率、不同移动操作系统版本的移动终端上,并执 行安装、卸载、启动、运行等操作,分别查看移动应用在移动终端上的运行情况; b) 利用技术手段,使测试终端设备处于低电量、低内存空间、高 CPU 占用,检测移动应用在不同 极限环境运行情况。 8.2.3 测试结果 DL / T 2031 2019 7 兼容性测试结果,应满足下列要求: a) 生成兼容性测试报告,移动
24、应用应适配更多移动终端,宜保证本年度市场占有率前三位的 Android 移动终端不出现闪退、卡顿、ANR、Crash 等问题,iOS 类移动应用宜保证 iOS移动终 端上正确运行且不出现任何问题。对于移动应用不适配本年度市场占有率前三位的 Android 移动终端的情况,提出严重缺陷;对于移动应用不适配其它 Android移动终端的情况,提出建 议或一般缺陷;对于 iOS 类移动应用不适配 iOS移动终端的情况,提出严重缺陷;移动应用应 适配专控智能移动终端,对于移动应用不适配专控智能移动终端的情况,提出严重缺陷; b) 移动应用宜在低内存空间、高 CPU 占用的移动终端上稳定运行,移动应用应
25、避免因移动终端的 低内存空间、高 CPU 占用原因出现问题,应具备清理移动终端缓存或提示用户手动清理移动终 端缓存的机制。 8.3 易用性测试 8.3.1 测试项 从易用性方面考虑,可测试: a) 易理解性,包括但不限于:用户手册易理解、移动应用界面易理解、移动应用演示易理解、输 入输出含义易理解; b) 易学习性,包括但不限于:用户手册易学习、培训手册易学习、移动应用系统文档易学习; c) 易操作性,包括但不限于:表单各字段填写校验、移动应用提示语、移动应用页面风格规范性、 键盘快捷键支持情况; d) 吸引性,包括但不限于:移动应用页面元素。 8.3.2 测试过程 下列测试过程适用于易用性测
26、试: a) 查看用户手册内容,操作移动应用过程中查看页面布局,查看输入输出项的易理解性; b) 查看用户手册、培训手册、移动应用系统文档,查看文档能否帮助用户学习操作; c) 检测过程对表单输入边界值外的数据,查看移动应用所有提示语及移动应用页面风格一致性, 是否能使用键盘快捷键; d) 检测过程中查看移动应用页面所有的元素是否美观具备吸引性。 8.3.3 测试结果 易用性测试结果,应满足下列要求: a) 用户手册中的术语、图形、背景信息、移动应用帮助应有助于理解移动应用操作,移动应用界 面、排版简单易懂,演示应充分、易识别、易理解,界面的输入、输出格式和含义应具备易理 解性,符合电力行业移动
27、应用界面要求; b) 用户手册、培训手册、移动应用系统文档应具备有效性、一致性、易定位; c) 移动应用内的各输入项应提供校验机制,提示信息友好,界面、字体风格统一易识别,支持键 盘快捷键输入; d) 移动应用内的所有界面元素应保持一定比例,界面美观程度,应符合相关电力行业移动应用界 面管理要求。 8.4 可靠性测试 8.4.1 测试项 从可靠性测试方面考虑,可测试: DL / T 2031 2019 8 a) 容错性,包括但不限于:用户误操作的处理方式、误操作后的数据处理情况、误操作后移动应 用的运行情况; b) 成熟度,包括但不限于:检测期间内出现的故障、纠正故障的数量; c) 易恢复性,
28、包括但不限于:出现移动应用系统宕机和服务停止时的恢复情况; d) 稳定性,包括但不限于: 1) 服务端承受最大并发数量持续运行 4 小时; 2) 移动应用在不同机型、不同分辨率、不同操作系统的移动终端上持续运行不少于 20 分钟。 8.4.2 测试过程 下列测试过程适用于可靠性测试: a) 移动应用操作过程中出现误操作,包括填写表单超出限制范围,违反正确业务逻辑等; b) 记录检测过程中移动应用出现的故障及故障纠正数量; c) 当出现移动应用宕机及服务停止时,记录移动应用系统恢复运行的时长,恢复后是否能正常运 行,数据是否丢失; d) 在满足移动应用最大并发数量且在选定好的测试场景下,持续对服
29、务端进行业务请求,查看服 务端运行情况; e) 移动应用在多台移动终端上,通过自动化测试手段持续运行,查看移动应用运行情况。 8.4.3 测试结果 可靠性测试结果,应满足下列要求: a) 移动应用应具备屏蔽用户误操作,并提供错误原因和纠正信息,输入错误数据或错误操作时, 移动应用系统不崩溃、不异常退出、不丢失数据; b) 检测过程中出现的移动应用故障,应能及时解决,解决后不再出现该故障; c) 检测期间模拟真实用户操作,移动应用系统因业务压力导致宕机或服务停止时,恢复时间不应 大于 1 小时; d) 服务端在最大并发数量持续运行 4小时期间,不应出现宕机或服务停止,移动应用系统应保持 稳定运行
30、,响应时间、每秒处理事务次数、事务通过率、CPU 占用率、内存占用率、IO 读写 应在移动应用系统设计说明规定的范围内; e) 移动应用应兼容本年度市场占有率前三位的 Android 移动终端并能稳定运行不出现任何问题, iOS 类移动应用全部兼容 iOS 移动终端。 8.5 可维护性测试 8.5.1 测试项 从可维护性测试方面考虑,可测试: a) 易分析性,包括但不限于:自我诊断能力、日志输出、日志级别配置; b) 易配置性,包括但不限于:图形页面配置、权限粒度; c) 易修改性,包括但不限于:变更服务手段; d) 易测试性,包括但不限于:内置测试功能、测试工具支持。 8.5.2 测试过程
31、下列测试过程适用于可维护性测试: a) 查看服务端日志,检测移动应用分析诊断能力; b) 查看移动应用图形化页面及权限配置页面,检测移动应用可配置能力; c) 查看移动应用配置参数元文件,检测移动应用修改能力; d) 使用主流测试工作,检测移动应用对主流测试工具的支持。 DL / T 2031 2019 9 8.5.3 测试结果 可维护性测试结果,应满足下列要求: a) 移动应用应具备完善的日志和自我诊断能力,提供多种日志输出,包括运行日志、错误日志、 登录日志等,日志格式统一,日志级别可配置; b) 提供图形化配置页面,尽量避免对数据库、配置文件直接进行操作,缩小权限粒度,应拥有权 限配置页
32、面,明确各权限范围; c) 当移动应用出现异常或故障时,移动应用应提供及时变更服务手段,可利用参数及时变更移动 应用软件,变更后能及时反馈到移动应用; d) 移动应用应支持主流测试工具,提供一定的内置测试功能。 8.6 可移植性测试 8.6.1 测试项 从可移植性测试方面考虑:可测试: a) 适从性,包括但不限于:对移动应用服务端元组文件的修改、多环境安装部署、多环境正确运 行; b) 易安装性,包括但不限于:主流安装模式、根据文档安装、自定义安装、卸载重新安装; c) 共存性,包括但不限于:与其它软件共存。 8.6.2 测试过程 下列测试过程适用于可移植性测试: a) 在多操作系统环境下安装
33、部署移动应用服务端,检测移动应用运行情况; b) 使用多种模式安装,包括服务端和移动终端; c) 安装完成是否影响其它移动应用的正常运行。 8.6.3 测试结果 可移植性测试结果,应满足下列要求: a) 移动应用元组件修改且配置正确情况下,移动应用能正常运行; b) 部署在不同操作系统情况下,移动应用能正常运行; c) 移动应用应使用主流的安装模式, 可根据安装文档或自定义安装部署, 包括服务端和移动终端; d) 移动应用卸载后重新安装,可正常运行,无任何残留数据,无故障; e) 移动应用正确安装部署后,应与移动终端操作系统的其它移动应用共存,无其它排异反应。 8.7 用户文档集检查 8.7.
34、1 测试项 从用户文档集查检方面考虑,可测试: a) 文档的完备性,包括但不限于:移动应用安装所需信息、产品描述所有功能、移动应用维护所 需信息、用户手册完整; b) 文档的一致性, 包括但不限于: 测试移动应用时对照文档准确性、 文档与文档间的描述一致性、 文档与文档间互不矛盾且术语一致; c) 文档质量,包括但不限于:符合文档编写规范且覆盖所有功能点、关键功能点应有图文说明。 8.7.2 测试过程 采用文档查阅,与实际移动应用操作对照,检查文档完备性、一致性及文档质量。 DL / T 2031 2019 10 8.7.3 测试结果 用户文档集检查结果,应满足下列要求: a) 文档应描述移动
35、应用生命周期内的所有信息; b) 文档与移动应用应保持一致,互不矛盾,文档间不能存在冲突; c) 文档编写应符合相应编写规范,所述关键内容,应附图文说明。 9 安全测试 9.1 移动应用服务端 移动应用服务端应遵照GB 17859,划分系统安全定级后,依照GB/T 22239,对移动应用服务端应遵 循的安全检测项逐一进行检测,以确保服务端安全性。 9.2 移动应用客户端 9.2.1 综述 移动应用客户端的测试内容包括安全功能测试、渗透测试和代码安全检测,其中安全功能根据其依 托的操作系统分为Android版和iOS版,应遵循GB/T 34975的测试要求。安全测试根据对移动应用系统的 危害程度
36、,将检测项分为高风险项、中风险项和低风险项。 9.2.2 安全功能 9.2.2.1 用户鉴别 9.2.2.1.1 测试项 用户鉴别的测试项同时适用于Android版和iOS版,具体如下: a) 应具备身份鉴别机制(中风险); b) 应具备鉴别失败处理机制(高风险); c) 鉴别失败时应具备混淆提示机制(中风险); d) 应具备多重鉴别机制(低风险); e) 与服务端通信验证时应具备双向鉴别机制(低风险); f) 应对关键操作采用短信验证码机制,且验证码的长度和有效期满足要求(中风险); g) 设置或修改口令时应禁止用户口令与用户名相同或包含用户名(中风险); h) 设置或修改口令时应具备复杂度
37、检查机制(中风险)。 9.2.2.1.2 测试过程 下列测试过程适用于用户鉴别: a) 检测移动应用启动时是否对登录用户进行身份标识和鉴别,具体措施有哪些; b) 检测移动应用是否具有鉴别失败处理功能,是如何进行处理的(如登录失败次数超过设定值, 系统自动退出等),是否可绕过; c) 检测移动应用在鉴别失败时是否给出提示,提示内容是什么; d) 检测移动应用是否采用了两个及两个以上身份鉴别技术的组合来进行身份鉴别(如用户名/口 令、数字证书体系、硬件令牌、生物特征、一次性动态口令中的任意两个组合); e) 检测移动应用是否对与服务端通信时是采用何种措施相互鉴别的(如挑战应答); f) 检测移动
38、应用对关键操作(如临时账户登录、用户注册、密码修改、支付确认等)是否采用短 信验证码机制,是如何实现的,采用何种措施防止被冒用(如设定验证码长度、有效期等); g) 检测用户设置或修改口令时,用户口令与用户名是否可相同或包含用户名; DL / T 2031 2019 11 h) 检测用户设置或修改口令时,采取何种措施防止身份鉴别信息被冒用(如复杂性混有大、小写 字母、数字和特殊字符,设定口令长度限制等)。 9.2.2.1.3 测试结果 用户鉴别测试结果,应满足下列要求: a) 移动应用至少应达到以用户名+静态口令的认证强度对登录用户进行身份鉴别; b) 移动应用应对 24 小时内连续登录失败次
39、数达到设定值(应在 1-10 次之内)的用户账号进行锁 定,至少锁定 20 分钟或由授权的管理员解锁,且不可绕过; c) 移动应用登录失败时应采用混淆提示,防止用户名或口令泄露; d) 移动应用应对同一用户采用两种或两种以上组化的鉴别技术实现用户身份鉴别; e) 移动应用与服务端通信时应通过证书或其它方式进行双向鉴别验证; f) 移动应用对关键操作应采用短信验证码机制,验证码令长度至少为 6位,有效期最长 6 分钟, 且不包含敏感信息; g) 移动应用应禁止用户口令与用户名相同或包含用户名; h) 移动应用应限制用户口令长度不小于 8 位字符,应为大写字母、小写字母、数字、特殊字符中 三种或三
40、种以上的组合。 9.2.2.2 会话安全 9.2.2.2.1 测试项 会话安全的测试项同时适用于Android版和iOS版,具体如下: a) 应具备会话超时机制,会话超时后应重新进行身份鉴别(中风险); b) 移动应用在退出登录后,应禁止通过原会话向服务器发起会话连接(高风险); c) 移动应用在未关闭的情况下,从后台唤醒时应重新进行身份鉴别(低风险)。 9.2.2.2.2 测试过程 下列测试过程适用于会话安全: a) 检测用户登录后停止活动一段时间,是否可限制用户会话非活动的终止时间,如何进行限制; b) 检测移动应用在退出登录后是否可继续操作原会话; c) 检测移动应用在未关闭的情况下,进
41、入后台一段时间(小于会话非活动终止时间)后,唤醒时 是如何处理的。 9.2.2.2.3 测试结果 会话安全测试结果,应满足下列要求: a) 移动应用应可限制用户会话非活动的终止时间,终止后需重新进行身份鉴别; b) 移动应用在退出登录后,应可防止通过原会话向服务端发起连接; c) 移动应用在未关闭情况下,默认或通过设置应可实现,进入后台(小于会话超时时间)唤醒时 需重新进行身份鉴别。 9.2.2.3 软件容错 9.2.2.3.1 测试项 软件容错的测试项同时适用于Android版和iOS版,具体如下: a) 应对通过人机接口输入的数据进行有效性和合法性验证(中风险)。 b) 在故障发生时,移动
42、应用应能够继续提供一部分功能,确保能够实施必要的措施(中风险)。 9.2.2.3.2 测试过程 DL / T 2031 2019 12 下列测试过程适用于软件容错: a) 通过输入的不同(如数据格式或长度等符合、不符合软件设定的要求),验证系统人机接口是 否有保证移动应用具有容错能力的措施,具体措施有哪些,措施是否有效; b) 检测移动应用在故障发生(如网络中断)情况下,还能提供哪些功能。 9.2.2.3.3 测试结果 软件容错测试结果,应满足下列要求: a) 移动应用应对通过人机接口输入的数据有效性进行检验, 保证输入的数据符合系统设定的安全 属性要求,且错误提示不包含敏感信息。 b) 移动
43、应用在故障发生时应能够继续提供一部分功能,确保能够实施必要的措施。 9.2.2.4 输入输出安全 9.2.2.4.1 测试项 输入输出安全的测试项同时适用于Android版和iOS版,具体如下: a) 移动应用应屏蔽或隐藏输入的隐私数据(中风险); b) 移动应用隐私数据输入过程中应采用具备防截屏机制的安全键盘(低风险); c) 移动应用隐私数据输出时应部分或全部屏蔽,禁止完全明文显示(中风险)。 9.2.2.4.2 测试过程 下列测试过程适用于输入输出安全: a) 检测移动应用输入隐私数据(如密码、身份证号等)时是如何显示的; b) 检测移动应用隐私数据输入过程是否使用安全键盘; c) 检测
44、移动应用的隐私数据是如何显示的。 9.2.2.4.3 测试结果 输入输出安全测试结果,应满足下列要求: a) 移动应用输入隐私数据时应屏蔽或隐藏; b) 移动应用隐私数据输入过程应采用安全键盘,键盘布局随机且具备防截屏机制; c) 移动应用的隐私数据不应完全明文显示,可部分或全部屏蔽。 9.2.2.5 卸载升级 9.2.2.5.1 测试项 卸载升级的测试项同时适用于Android版和iOS版,具体如下: a) 应确保卸载后无残留数据或残留数据中无敏感信息(中风险); b) 移动应用升级过程中应进行系统完整性校验(高风险)。 9.2.2.5.2 测试过程 下列测试过程适用于卸载升级: a) 尝试卸载移动应用,查看卸载后是否存在移动应用的残留数据; b) 尝试进行移动应用升级,查看升级过程能否替换升级包,是如何进行校验的。 9.2