搜索结果: JR/T 0175-2019, JR/T0175-2019, JRT 0175-2019, JRT0175-2019
| 标准编号 | JR/T 0175-2019 (JR/T0175-2019) | | 中文名称 | 《证券期货业软件测试规范》 | | 英文名称 | Specification for securities and futures industry software test | | 行业 | 金融行业标准 (推荐) | | 中标分类 | A11 | | 国际标准分类 | | | 字数估计 | 61,635 | | 发布日期 | 2019-09-30 | | 实施日期 | 2019-09-30 | | 标准依据 | 中国证券监督管理委员会公告(2019)20号 | | 发布机构 | 中国人民银行 |
JR/T 0175-2019: 《证券期货业软件测试规范》
JR/T 0175-2019 英文名称: Specification for securities and futures industry software test
中 华 人 民 共 和 国 金 融 行 业 标 准
证券期货业软件测试规范
中国证券监督管理委员会 发 布
1 范围
本标准规定了证券期货业信息系统建设过程中的总体要求、单元测试、集成测试、系统测试、系
统集成测试、验收测试等测试活动的内容。
本标准适用于证券期货业市场核心机构(以下简称市场核心机构)、证券期货基金经营机构(以
下简称市场经营机构)、证券期货信息技术服务机构(以下简称市场服务机构)开展证券期货业计算
机软件和外部信息系统测试工作。
注 1:市场核心机构,如证券期货交易所、证券登记结算机构、期货市场监控中心等;
注 2:市场经营机构,如证券公司、期货公司、基金公司等;
注 3:市场服务机构,如软件开发商、信息商、服务商等。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本
文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
4.1 测试目的
验证软件满足软件开发合同、系统/子系统设计文档、系统需求规格说明书、系统设计说明书、产
品说明书、运维手册和操作手册等软件质量要求。
通过测试发现软件缺陷,为软件产品的质量评价提供依据。
4.2 测试流程
4.2.1 测试阶段的工作要求
各测试级别、测试类型的测试应遵循此测试流程。此测试流程分为测试估计、测试计划、测试设
计、测试执行、测试报告五个阶段,各阶段的活动、输入输出见附录A。
各测试阶段应遵守的工作要求见表1。
4.3.1 功能测试
功能测试的主要目的、测试内容及测试技术如下:
a) 目的
以系统需求规格说明书为依据对其中要求的功能实现、业务操作等系统功能特性进行验证,
目的是确保系统在指定的条件下满足客户的功能性和易用性要求。
b) 测试内容/关注点
测试内容/关注点包含实现的功能正确、不存在无用的功能和不存在功能的遗漏,具体如下:
1) 实现的功能正确:与系统需求规格说明书上要求的功能一致;
2) 不存在无用的功能:实现的功能范围未超出系统需求规格说明书描述的范围;
3) 不存在功能的遗漏:实现的功能范围能完全覆盖系统需求规格说明书描述的范围。
c) 测试技术
以黑盒测试技术为主,灰盒测试技术为辅。
本标准中提及的黑盒测试技术、白盒测试技术及灰盒测试技术见附录 C。
4.3.2 性能测试
性能测试的主要目的、测试内容及测试技术如下:
a) 目的
通过模拟真实、高压力等各种负载条件的业务场景,对系统的各项性能指标进行评估,通常
包括负载测试、压力测试、容量测试、业务响应时间测试等。
b) 测试内容/关注点
测试内容/关注点包含负载测试、压力测试、容量测试和业务响应时间测试,具体如下:
1) 负载测试:对系统不断地增加压力或持续保持最大安全负载,直到系统的某项或者多项
性能指标达到安全临界值(例如某种资源已经达到饱和状态等),获得系统在不同负载
条件下的性能指标;
2) 压力测试:超过安全负载的情况下,对系统不断地施加压力,通过确定一个系统的瓶颈
或不能接收用户请求的性能点,来获得系统可提供的最大服务级别的测试;
3) 容量测试:使用反映系统容量特征的极限值(如最大并发用户数、数据库记录数等)对
系统施加压力,通过观察系统在极限容量状态下没有出现任何软件故障或还能保持主要
功能正常运行来检测系统的容量指标;
4) 业务响应时间测试:被测系统在稳定压力持续运行过程中或达到一定容量后进行业务操
作,记录系统处理所花费的时间,以此检测业务响应时间符合性能需求。
c) 测试技术
具体如下:
1) 负载测试、压力测试和业务响应时间测试的测试方法是通过模拟单用户和多用户并发的
场景,获取软件系统功能处理的延时、吞吐率及处理时间。利用自动化测试工具进行数
据构造、负载压力构造,通常选择具有代表性或者核心业务的模块、访问量较高的业务
构造各种性能测试场景,从而进行单机性能测试或并发性能测试。测试指标包括订单峰
值吞吐速率、成交峰值吞吐速率、订单持续吞吐速率、成交持续吞吐速率、订单处理延
时、日结算处理能力等;
2) 容量测试的测试方法是在不同的系统配置以及不同的业务场景下构造相应的容量数据,
评估系统的极限容量和硬件资源占用率。其中,极限容量包括最大用户数、最大处理量、
最大事务数(执行单元)、最大吞吐率、最大文件容量等;硬件资源占用率包括内存、
CPU、硬盘、网络带宽、设备等。测试指标包括日订单处理容量、日成交处理容量等。
4.3.3 可靠性测试
可靠性测试的主要目的、测试内容及测试技术如下:
a) 目的
可靠性测试是通过模拟系统可能出现的各种异常或故障等场景,来验证系统在异常处理、故
障容错、数据恢复及容灾等方面的能力,并对系统的可靠性进行评估,目的是确保系统在特
定的环境部署条件下满足高可用性要求,通常包括成熟性测试、容错性测试、稳定性测试和
可恢复性测试。
b) 测试内容/关注点
测试内容/关注点包含成熟性测试、容错性测试、稳定性测试和可恢复性测试,具体如下:
1) 成熟性测试:当软件系统中出现代码判断错误、集成中的接口错误、通讯报文错误、系
统中业务逻辑错误以及其他在设计、开发等环节中造成的错误时,验证系统能消除错误
造成的影响并仍可正常工作;
2) 容错性测试:当引入外部错误,如违规操作、删除数据、强行终止等严重的行为使系统(包
括硬件、软件及附属程序)发生异常时,验证系统在异常情况下应具有防护性措施(处理
异常的方法包括:系统自动处理和人工干预处理);
3) 稳定性测试:通过持续性测试的方法验证系统在一定压力下长时间运行的稳定性;
4) 可恢复性测试:系统在失效状态下,恢复至正常状态的能力。失效状态应是系统崩溃或
者宕机停止所有功能,而不是带故障的运行状态;正常状态应是至少保证系统的主要功
能可全部运行。获取系统恢复时间(RTO)、数据恢复时间(RPO),RTO、RPO 定义见 JR/T
0145-2016。
c) 测试技术
具体如下:
1) 成熟性测试、容错性测试的测试方法是通过人工模拟故障场景,如进程崩溃及挂起、网
络断开及延迟、服务器宕机等场景,或通过工具或手工制造异常操作或异常数据输入等,
验证系统或组件在出现故障时进行有效处理的能力;
2) 稳定性测试的测试方法是 7*24 小时压力测试,即仿照生产的业务配比关系,根据实际生
产需要,保持不同倍数下单压力,每天运行被测系统 24 小时,连续运行 7 天。在测试期
间可通过查看系统进程状态、执行功能操作、查看运行日志信息的方式来验证系统运行
状态的正确性;
3) 可恢复性测试的测试方法是模拟在出现故障或灾难导致系统失效时,通过分析系统日志
或流水计算得到系统恢复时间(RTO)和数据恢复时间(RPO)指标。
4.3.4 安全性测试
安全性测试的主要目的、测试内容及测试技术如下:
a) 目的
通过安全测试手段和方法,验证软件的安全特性实现与预期一致、检验软件产品对各种攻击
情况的防范能力,从而保障产品的安全质量。
b) 测试内容/关注点
具体如下:
1) 配置管理:按照信息安全等级保护要求对操作系统、应用程序、数据库、网络设备等进
行安全配置;
2) 资源利用:应用程序内存使用和资源竞合问题,如变量未初始化、数组越界、内存溢出、
资源泄露、进程线程异常等;
3) 身份鉴别:对登录操作系统、数据库系统和应用系统的用户进行了身份标识和鉴别,如
应使用强密码策略、限定连续登录尝试次数、使用有效验证码等;
4) 访问控制:用户应根据自己的权限大小来访问系统资源(如服务器、目录、文件等),
不得越权访问;
5) 数据保护:应用程序存储敏感信息的情况,存储的敏感信息应进行加密,包含但不限于
密码、密钥等敏感信息应加密写入缓存、文件系统、数据库中等;
6) 通信安全:应用程序使用安全通信协议(如 SSL、TLS)的情况,对敏感信息的传输应进
行加密等;
7) 会话管理:本地及服务器端对会话超时的设置,会话结束后应用程序使用过的敏感信息
应从内存中删除,合法用户的会话不被劫持等;
8) 数据验证:应用程序在使用前正确验证来自客户端或外界输入数据的情况,避免发生如
跨站脚本攻击、命令注入、文件注入、SQL 注入等漏洞;
9) 安全审计:对网络系统中的网络设备运行状况、网络流量、用户行为等进行日志记录;
审计记录应包括事件的日期和时间、用户、事件类型、事件成功及其他审计相关的信息
等。
c)测试技术
常见的安全性测试技术有安全功能检查、代码安全测试、漏洞扫描、渗透测试和模糊测试,
具体如下:
1) 安全功能检查是指测试人员通过对相关系统管理人员进行访谈和对测试对象(如相关系
统、各类设备、基线标准、开发设计文档)进行观察、验证、分析以确认测试对象符合
信息安全等级保护、相关信息安全要求以及安全功能需求的过程;
2) 代码安全测试分为静态检测和动态检测。静态检测是使用代码检测软件进行代码静态扫
描,并对扫描后结果进行人工分析来发现定位漏洞的过程;动态检测即在运行时进行错
误检查,主要通过将已经写好的程序转换成一个新程序(其功能与原程序是等价的),
新程序包含有一些额外的代码,它们的作用是在程序执行期间检查错误;
3) 漏洞扫描是指利用专业的漏洞扫描工具,基于公共漏洞和暴露(CVE)漏洞数据库或特征
库,通过扫描、探测等方法对目标系统的安全情况进行检测,发现可利用的漏洞;
4) 渗透测试是通过模拟恶意黑客的攻击方法对目标系统进行模拟入侵,以找出系统中的脆
弱点、技术缺陷和漏洞;
5) 模糊测试是一种通过提供非预期的输入并监视异常结果来发现软件故障的方法,是一个
自动的或半自动的过程,通常包括识别目标、识别输入、生成模糊测试数据、执行模糊
测试、监视异常、确定可利用性等阶段。
4.3.5 可移植性测试
可移植性测试的主要目的、测试内容及测试技术如下:
a) 目的
通过模拟部署在不同的运行平台来验证系统运行的适应性,目的是确保系统在运行环境发生
变化时运行及处理可满足预期要求,通常包括可安装性测试、兼容性测试、适应性测试和可
替换性测试。
b) 测试内容/关注点
测试内容/关注点包含可安装性测试、兼容性测试、适应性测试和可替换性测试,具体如下:
1) 可安装性测试:在目标环境对软件安装程序所进行的测试,包括操作系统安装软件或在
客户个人电脑上安装软件产品的安装向导软件。主要关注:安装文档应齐全、软件安装
的程序文件应齐全、文件格式应与安装指导中要求的文件格式相同;所有预置的数据应
齐全;软硬件环境的配置应合理;所有文件应正确产生并确有所需要的内容等;
2) 兼容性测试:如果不存在相互依赖关系的计算机系统可在同一环境(例如:同一个硬件
平台)中运行,而不影响彼此的行为(如资源冲突),则称之为兼容,包括应用软件与
硬件平台、应用软件与操作系统、操作系统与硬件平台间的兼容性,例如:当新的或升
级之后的软件被大量装入已经安装了应用程序的环境(例如:服务器)时,应执行兼容
性测试;
3) 适应性测试:软件系统能在所有特定的目标环境(硬件、软件、中间件、操作系统等)
中正确运行,包括软件系统在不同处理器配置下的适应性、在台式机与专业服务器下的
适应性、在不同操作系统下的适应性、在不同网络环境下的适应性;
4) 可替换性测试:软件系统中组件能被替换的能力以及软件升级引起的新旧版本的可替换
性。
c) 测试技术
可安装性测试、兼容性测试、适用性测试和可替换性测试的测试方法如下:
1) 可安装性测试的测试方法:模拟软件系统在目标环境中进行安装、升级及卸载等操作,
验证其正常运行能力;
2) 兼容性测试的测试方法:模拟软件系统在目标环境中与其他应用程序、升级后操作系统
等软硬件共存的场景,验证其正常运行能力;
3) 适应性测试的测试方法:模拟软件系统在不同的特定目标环境下运行的场景,验证其正
常运行能力;
4) 可替换性测试的测试方法:模拟系统在不同软件组件或者版本上运行的场景,验证其正
常运行能力,尤其对于以第三方商业软件为特定组件的软件系统。
4.3.6 可维护性测试
可维护性测试的主要目的、测试内容及测试技术如下:
a) 目的
通过评审系统设计结构、开发语言、系统文档及用户文档来评估系统后续易于修改、优化及
能满足新需求的开发,目的是确保系统在交付后直至到期被淘汰的整个时期内易于理解和改
进。
b......
|