GB/T25000标准由下图所示的21个部分组成,其中GB/T 25000.10和GB/T 25000.51是建立软件测试技术体系可以参考的部分,GB/T 25000.51尤为重要。
GB/T 25000标准总标题(21个部分)
GB/T 25000.51标准pdf封面
GB/T 25000.51-2016 《系统与软件工程系统与软件质量要求和评价(SQuaRE)第 51 部分:就绪可用软件产品(RUSP)的质量要求和测试细则》标准(简称:GB/T 25000.51-2016)是2016年10月13号发布,在GB/T 25000.51-2010的基础上增加“信息安全”及“兼容性”两部分内容,并于2017年5月1号开始正式实施,要求第三方测评机构依照此标准开展测评活动。明确了:1、质量要求:产品说明质量要求、用户文档集质量要求、软件质量要求(功能性、性能效率、兼容性、易用性、可靠性、信息安全性、维护性、可移植性);2、测试文档集要求;3、符合性评价细则。GB/T 25000.51-2016涵盖软件产品的八大特性:功能性、性能效率、兼容性、易用性、可靠性、信息安全性、维护性、可移植性等作为对软件产品测评的主要依据和标准。
8大特性
8大软件特性
01功能性
1.功能完备性——指功能集对指定的任务和用户目标的覆盖程度
即需求规格说明书或其他技术说明书中有关软件功能需求在软件中被完整实现的情况,软件实际功能覆盖文档中 所有功能的程度。用户文档集和产品说明中指定的功能点与软件中的功能点进行匹配,将软件应实现的功能(如功能清单)与实际测试中执行的测试用例进行对应,形成功能对照。
2.功能正确性——指产品或系统提供具有所需精度的正确结果的程度
功能正确性用于测量软件提供准确数据的能力,验证软件产品提供与所需精度相符的结果或效果的能力。开发者或维护者可以通过验证软件特定功能(该功能的实际输出结果师傅符合需求规格说明书中定义的特定目标的预期结果),对用户文档集中陈述的软件功能性限制条件进行验证,如验证字符串长度限制、数字精度、邮箱格式等要求。
3.功能适合性——指软件功能促使指定的任务和目标实现的程度
功能适合性主要指满足用户适用要求的程度,也就是软件产品提供的功能是否是需方或用户需要的功能。这种适用要求可以在需求规格说明书、用户操作手册或用户的期望中标识。功能是否按照需求规格说明书、用户操作手册规定执行。对于功能目标实现的程度,可通过用户运行系统期间是否出现未满足的功能或不满意的操作情况进行识别,是否提供合理的和可接受的结果以实现用户任务所期望的特定目标。
4.功能性的依从性——指产品或系统遵循与功能性相关的标准、约定或法规以及类似规定的程度。
产品说明中是否提及产品功能性的相关标准、约定或法规及类似规定要求,若提及,并提供证明材料,则认可;否则,验证软件与提及的文件(需求文档)要求是否相符。
性能效率
02性能效率
1.时间特性——指产品或系统执行其功能时,其响应时间、处理时间及吞吐率满足需求的程度。
时间效率反映与运行速度相关的性能。响应时间是指从用户发起一个请求开始到服务器完成对请求的处理并返回处理结果所经历的时间。用户请求可以是一个单步骤操作,也可以是完成某项事务过程的一个步骤,如数据库查询所花费的时间、将字符回显到终端上所花费的时间、访问web页面所花费的时间。
2.资源利用性——指产品或系统执行其功能时,所使用资源数量和类型满足需求的程度。(人力资源属于效率的一部分)
资源利用性主要考察系统所采用的各种资源的利用程度。资源并不仅仅指运行系统的硬件,而是指支持整个系统运行程序的一切软/硬件平台。一般考察服务器、数据库以及中间件的资源利用情况,服务器监控资源主要包括CPU利用率(%)、可用内存(MB、GB)、磁盘I/O(MB/s),宽带(Mb/s)等指标。数据库监控资源包括数据缓冲区、命中率等。
3.容量——指产品或系统参数的最大限量满足需求的程度。(参数可包括存储数据项数量、并发用户量、通信宽带、交易吞吐量和数据库模式)
容量主要反映系统能够承受的最大并发用户数、最大的请求极限,以及系统可能存在的最大事务吞吐量、最大数据容量和数据处理容量,以及在何种极端的情况下,系统出现缓冲区溢出、访问超时等问题。通常情况下,最大用户并发数指在实际运行环境下系统能够接受的最大并发用户,如网上订票系统能够承受多少用户同时订票。典型的数据库处理容量如系统能够处理的最大文件长度、数据库能够处理的最大数据库记录数。
03兼容性
1.共存性——指在与其他产品共享通用的环境和资源的条件下,产品能够有效执行其所需的功能并且不会对其他产品造成负面影响的程度
软件在运行和安装过程中必须要与其他软件进行交互,共存性主要考察软件产品安装和运行时与正在运行的软件之间的共存性约束。两个软件同时运行时,系统的CPU、进程等系统资源是否异常,或者造成其他软件运行错误或本身不能正确地实现功能,或者系统出错,软件用户界面显示不友好等。
2.互操作性——指两个或多个系统、产品或组件能够交互信息并使用已交换信息的程度。
数据格式的可交换性:软件互操作性表现为软件之间共享并交换信息,以便能够互相协作共同完成一项功能的能力,如软件是否支持.xls、.doc文件的导入/导出等。
04易用性
1.可辨识性——指用户能够辨识产品或系统是否适合他们要求的程度。需要注意的是:可辨识性取决于通过对产品或系统的初步印象或任何相关文档来辨识产品或系统功能的能力;产品或系统提供的信息可包括演示、教程、文档或网站的主页信息。
用户通过查阅需求文档、设计文档、操作手册等用户文档集和产品说明,辨识产品或系统功能的程度。用户在首次使用产品或系统时,要考察能够了解到的功能项。产品或系统提供的演示、教程、文档或网站的主页信息能够帮助用户辨识产品或系统是否符合他们的要求。
2.易学性——指在指定的使用周境中,产品或系统在有效性、效率、抗风险和满意度特性方面,为了学习使用该产品或系统,这一指定的目标可为指定用户使用的程度。。
用户依据用户文档和有关帮助机制应能正确地完成任务,即当借助用户接口、帮助功能或用户文档集提供的手段,最终用户应能够容易学习如何使用某一功能。系统可以通过提供在线帮助、可操作指导的视频,可操作课程系统等措施,使用户容易学会使用该产品或系统。
3.易操作性——指产品或系统具有易于操作和控制的属性的程度。
最终用户能够根据用户文档集对产品或系统进行操作,并且实际结果应与用户文档集相一致。产品或系统的提示信息应易于理解,便于用户纠正使用中的错误。
4.用户差错防御性——指系统预防用户犯错的程度。
用户在执行具有严重后果的删除、盖写(覆盖写入)以及中止一个过长的处理操作时,该操作应是可逆的,或者有明显得警告和提示“确认”信息。
5.用户界面舒适性——指用户界面提供令人愉悦和满意的交互程度。(这涉及产品或系统旨在提高用户愉悦性和满意度的各种属性,如颜色的使用和图形化设计的自燃性)
内部或外部用户界面舒适性测度是用来评价用户界面的外观好坏和受到如屏幕设计和颜色等因素影响的程度。好的颜色组合能够帮助用户快速阅读文本或识别图像,有利于辨识产品或系统的菜单项。用户界面不应出现乱码、不清晰的文字或图片等影响界面美观和用户操作的情形。
6.易访问性——指在指定的使用周境中,为了达到指定的目标,产品或系统被具有最广泛的特征和能力的个体所使用的程度。(能力的范围包括与年龄有关的能力障碍)
易用性以实现制定目标用户(如特殊用户)可以访问的程度来度量,特殊群体包括认知障碍,生理缺陷,听觉/语言障碍和视觉障碍的用户。
05可靠性
1.成熟性——指系统、产品或组件在指定条件下、指定时间内执行指定功能的程度。
成熟性一般是指软件产品在满足其要求的软/硬件环境或其他特殊条件(如一定的负载压力)下使用时,为用户提供相应服务的能力。
2.可用性——指系统,产品或组件在须要使用时能够进行操作和访问的程度
可用性是对产品可使用程度的一个评价,如对于预定的系统操作时间中实际可用时间的比例、平均无故障时间。根据需求规格说明书或产品说明中描述的产品或系统指定的系统操作时间编写测试用例,记录系统实际提供的系统操作时间,例如,在文档中写明系统支持72小时服务,据此编写测试用例,执行测试用例,记录系统实际提供的操作时间。在测试期间,当产品或系统出现失效时,记录下从宕机到软件可正常使用所花费的时间,以及总的宕机次数,计算出平均宕机时间。
3.容错性——指尽管存在硬件或软件故障,但系统、产品或组件的运行符合预期的程度。
容错性与发生运行故障或违反规定接口时产品或系统维持规定性能等级的能力有关。用户操作某一功能导致产品或系统出现错误或异常时,与差错处置相关的功能应与需求文档、设计文档、操作手册等用户文档集或产品说明中的陈述一致。在用户文档集陈述的限制范围内对产品或系统进行操作时,不应丢失数据。输入违反句法条件的信息时,产品或系统给出提示信息,并且不能作为许可的输入加以处理
4.易恢复性——指在发生中断或失效时,产品或系统能够恢复直接受影响的数据并重建所期望的系统状态的程度。
在产品或系统发生中断或失效时,恢复系统所需时间的长短、业务系统恢复程度体现了系统的恢复能力。可通过数据备份恢复,最大限度降低损失。通过需求规格说明和产品说明中描述的数据备份和恢复方法,了解数据备份和恢复机制、具体备份的数据信息。
信息安全
06信息安全性
1.保密性——指产品或系统确保数据只有在被授权时才能被访问的程度。
确保数据只有在被授权时才能被访问,须防止未得到授权的人或系统访问相关的信息或数据,还要保证得到授权的人或系统能正常访问相关的信息或数据。为了保证数据在传输过程中不被窃听,须对通信过程中的整个报文或会话过程进行加密。例如,在交易系统中,涉及银行账号、交易明细、身份证号、手机号码等敏感信息,须保证这些信息在传输过程中的安全性,可采用3DES(三重数据加密算法)、AES(高级加密标准)和IDEA(国际数据加密算法)等进行加密处理。同时,须保证敏感信息在存储过程的保密性。启用访问控制功能,依据安全策略和用户角色设置访问控制矩阵,控制用户对信息或数据的访问。用户权限应遵循“最小权限原则”,授予账户承担任务所需的最小权限,例如,管理员只须拥有系统管理权限,不应具备业务操作权限;同时,要求不同账号之间形成相互制约关系,系统的审计人员不应具有系统管理权限,系统管理人员也不应具有审计权限。这样,审计员和管理员之间就形成了相互制约关系。
2.完整性——指系统、产品或组件防止授权访问、篡改计算机程序或数据的程度。
为了防止数据在传输和存储过程中被破坏或被篡改,一般会采用增加校验位、循环冗余校验(CyclicRedundancyCheck,CRC)的方式,检查数据完整性是否被破坏,或者采用各种散列运算和数字签名等方式实现通信过程中的数据完整性。采用关系型数据库保存数据,例如,采用Oracle数据库,增加数据完整性约束,如唯一键、可选值、外键等;实现事务的原子性,避免因为操作中断或回滚造成数据不一致,完整性被破坏。
3.抗抵赖性——指活动或事件发生后可以被证实且不可被否认的程度。
启用安全审计功能,对活动或事件进行追踪。对审计日志进行管理,日志不能被任何人修改或删除,形成完整的证据链。采用使用数字签名处理事务,在收到请求的情况下为数据原发者或接收者提供数据原发和接受政绩。
4.可核查性——指实体的活动可以被唯一追溯到该实体的程度。
可核查性和抗抵赖性不同,重点在追溯实体的程度。主要考察启用安全审计功能之后,覆盖用户的多少和安全事件的程度等。覆盖到每个用户活动,用户活动的日志记录内容至少应包括事件日期、时间、发起者信息、类型、描述和结果等;审计跟踪设置是否定义了审计跟踪极限的阈值,当存储空间被耗尽时,能否采取必要的保护措施。例如,报警并导出、丢弃未记录的审计信息、暂停审计或覆盖以前的审计记录等。
5.真实性——指对象或资源的身份标识能够被证实符合其声明的程度。
系统提供专用的登录控制模块对登录用户进行身份标识和鉴别,验证其身份的真实性,同时需证实符合其声明的程度;用户的身份鉴别信息不易被冒用,同时不存在重复的用户身份标识。系统中用户名唯一且与用户一一对应,采用用户名和口令的方式对用户进行身份鉴别,提高用户的口令开启复杂度,例如,口令长度在8位以上时,应至少包含数字、大小写字母、特殊字符中的三种,强制定期更换口令;系统不存在共享账户。提供登录失败处理功能,采取如结束会话、限制非法登录次数和自动退出等措施,这些都可以在用户文档集中进行要求。
07维护性
1.模块化——用于衡量由多个独立组件组成的系统或计算机程序中一个组件的变更对其他组件的影响最小的程度。
所谓模块化就是把程序划分成若干模块,每个模块完成一个子功能,这些模块被集中起来就组成一个整体。模块化是好的软件设计的一个基本准则,耦合性是对程序结构各个模块之间相互关联的一种度量,取决于各个模块之间接口的复杂程度、调用模块的方式等。模块间耦合性越低,模块独立性越强,相互间的影响也越小,如ESB(企业服务总线)、WebService架构、微服务架构、SOA(面向服务的架构)、消息传递等。
ESB是一种在松散耦合的服务和应用之间标准的集成方式。微服务架构强调的是业务系统需要彻底的组件化和服务化,原有的单个业务系统拆分成多个可以独立开发、设计、运行和运维的小组件。这些小组件之间通过服务完成交互和集成,一个组件的变更对其他组件的影响较小。
2.可重用性——指资产能够被用于多个系统或其他资产建设的程度。
在软件工程中,重用是指使用一个产品中的组件来简化另一个不同产品的开发。重用可以减少维护的时间和降低维护成本。软件开发的全生命周期都有可重用的价值,包括项目计划、体系结构、需求规格说明、用户文档和技术文档、用户界面和测试用例等都是可以被重复利用或借鉴的。
3.易分析性——用于评估预期变更(变更产品或系统的一个或多个部分)对产品或系统的影响、诊断产品的缺陷或失效原因、识别待修改部分的有效性和效率的程度。
易用性评估中的效率程度是指维护者或用户诊断产品的缺陷或失效的原因,或者标识须要修改的部分所要耗费的工作量。在操作产品或系统的过程中,出现异常或失效时,有明确的提示信息,根据提供的机制能有效地解决问题。需求文档、设计文档、操作手册等用户文档集中描述了产品或系统常出现的问题或现象,以及故障排除方法等。
4.易修改性——指产品或系统可以被有效地、有效率地修改,并且不会引入缺陷或降低现有产品质量的程度。
当产品或系统支持对编码、设计、文档和验证进行变更时,用户作出相应修改后,产品或系统能够正确运行。修改的实际结果与预期结果相一致,修改形式可以是对应用系统参数进行配置,也可以是对用户权限和业务流程等进行定制化。
5.易测试性——指能够为系统、产品或组件建立测试准则,并且通过执行测试来确定测试准则是否被满足的有效性和效率的程度。
测试准则是指能够根据需求文档或操作手册编写测试用例和执行测试用例。查看需求文档、设计文档、操作手册等用户文档集,是否容易选择检测点进行测试用例的编制;软件的功能或配置被修改后,应验证是否可对修改之处进行测试。通过编写测试用例,执行测试用例,验证实际效果与预期效果是否一致。
08可移植性
1.适应性——指产品或系统能够有效地、有效率地适应不同的或演变的硬件、软件或其他运行(或使用)环境的程度。
产品或系统适应软件、硬件变化的能力,包括硬件环境、操作系统、数据库数据库管理系统、浏览器、支撑软件的适应性。
2.易安装性——指在指定环境中,产品或系统能够成功地安装和卸载的有效性和效率的程度。
考察安装文档中是否明确产品或系统的安装方法,同时考察产品安装和卸载过程的有效性和效率,如安装文档的有效性、软件安装和卸载过程的自动化程度。安装文档中指定的每一种安装选项要素均被覆盖,包括软件的安装安装方式(自定义安装、快速安装等)、路径、用户名、数据库等,每种情况均能成功安装软件;提供产品或系统卸载的方法,例如,采用卸载向导进行自动卸载、从控制面板中的添加/删除中进行卸载或直接删除对应的文件夹等。
3.易替换性——指在相同的环境中,产品能够替换另一个相同用途的指定软件产品的程度。
产品替换方式包括产品的覆盖、升级等,安装文档中规定重新安装或升级的规程,并按照安装规程能够成功重新安装或升级软件。