2024.7.1更新
前言
(1)软件测试是保障软件质量的重要手段,与之相关的主要标准包括软件质量标准、软件测试文档、过程和技术标准、软件测试工作量和成本估算标准。
(2)软件质量标准主要解决了软件产品质量如何评价、怎么评价的问题;软件测试文档、过程和技术标准则是支撑软件质量中各质量特性及测度的取值和评价,并给出了相关的测试过程、测试文档以及测试技术;软件测试工作量及成本估算标准从成本控制和成本管理的角度,给出了测量工作量及价格的量化方法。
3.1标准化概述
3.1.1标准化的意义
1.标准化是建立软件测试最佳秩序的工具
2.标准化是促进软件测试技术创新应用的途径
3.标准化是推广软件测试新技术的桥梁
3.1.2标准的分类
(1)标准以科学、技术的综合成果为基础,以促进最佳的共同利益为目的。
(2)按照标准制定的主体进行分类,标准可分为国际标准、国家标准、行业标准、地方标准、团体标准和企业标准
(3)国际标准是指国际标准化组织(ISO)、国际电工委员会(IEC)和国际电信联盟(ITU)制定的标准,以及国际标准化组织确定并公布的其他国际组织制定的标准。
(4)国家标准是指由国家标准机构通过并公开发布的标准。
(5)行业标准是指由行业组织通过并公开发布的标准。
(6)地方标准是在国家的某个地区通过并公开发布的标准。
(7)团体标准是由团队按照自行规定的标准制定程序制定并发布的。
(8)企业标准是指由企业制定并有企业法人代表或其授权人批准、发布的标准,通常在制定该标准的企业内应用。
(9)在软件测试领域,相关的标准主要分为软件质量标准、软件测试标准和软件测试工作量及成本估算三方面的标准。
3.2软件质量模型与评价标准
(1)软件质量:是指软件与明确叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度,也是执行软件测试的一个重要目标。
3.3软件质量标准的发展
GB/T 25000国家标准有下列分布组成(以及部分主要内容):
(1)GB/T25000.n:质量管理分部:GB/T25000.1 SQuaRE指南、GB/T25000.2 计划与管理
(2)GB/T25000.1n:质量模型分部:
GB/T25000.10 系统与软件质量模型、GB/T25000.12数据质量模型
(3)GB/T25000.2n:质量测量分部:
GB/T25000.20 质量测量框架、GB/T25000.21质量测度元素、GB/T25000.22使用质量测量、
GB/T25000.23系统与软件产品质量测量、GB/T25000.24数据质量测量
(4)GB/T25000.3n:质量需求分部:GB/T25000.30质量需求框架
(5)GB/T25000.4n:质量评价分部:
GB/T25000.40评价过程、GB/T25000.41开发方、需方和独立评价方评价指南、
GB/T25000.45易恢复性的评价模块
(6)GB/T25000/50-25000.99:扩展分部:GB/T25000.51 就绪可用软件产品(RUSP)的质量要求和测试细则、GB/T25000.62 易用性测试报告行业通用格式(CIF)
2024.7.22更新
3.3.1测试过程标准
GB/T 38634.2-2020定义的多层测试过策划给你模型将系统与软件生存周期中可能执行的测试活动分为组织级测试过程、测试管理过程和动态测试过程三个过程组。
(1)组织级测试过程:定义用于开发和管理组织及测试规格说明的过程,例如组织级测试方针、组织级测试策略、过程、规程和其他资产的维护。
(2)测试管理过程:定义涵盖整个测试项目或任何测试阶段(例如项目测试管理、系统测试管理、性能测试管理)。测试管理过程包括测试策划过程、测试监测和控制过程、测试完成过程3个子过程。
(3)动态测试过程:定义执行动态测试的通用过程。动态测试可以在测试中的特定阶段执行(例如单元测试、集成测试、系统测试和验收测试),或者用于测试项目中特定类型的测试(例如性能测试、信息安全测试和功能测试)。动态测试过程包括测试设计和实现过程、测试环境构件和维护过程、测试执行过程、测试事件报告过程4个子过程。
1、组织级测试文档集
组织级测试规格说明描述组织层面测试的信息,并且不依赖于项目。其在组织级测试过程中的典型示例包括测试方针和组织级测试策略。
测试方针定义了组织内适用的软件测试的目的和原则,规定了测试应该完成什么,但没有详细说明如何执行测试。测试方针为建立、评审和持续改进组织的测试方针提供了框架。
组织级测试策略是一个技术性文档,针对组织内部如何进行测试提供指导。他为项目提供了一定范围内的指导,但并不是针对具体项目。一个组织级测试策略包括相关子过程的识别和对应的测试说明。如果各个测试子过程对应的策略说明完全不同,则组织级测试策略文档可能被划分成多个子部分,已对应每个独立的测试子过程。
2、测试管理文档集
测试管理过程中制定的文档包括测试计划、测试状态报告和测试完成报告。
测试计划描述了在初始规划期间做的决定,并为控制活动的一部分进行重新规划。如果制定更多的软件测试计划,可能需要构件映射树来帮助记录文档之间的关系和每个文档包含的信息。
测试状态报告提供了在特定报告期间内执行测试的状态信息,包括报告覆盖的时间段、不符合测试计划的进度、阻碍测试的因素、测试测度、新建和变更风险等内容。
测试完成报告提供了已执行测试的总结、与计划的偏差、测试评价、测试测度、参与风险、交付物和经验教训等。
3、动态测试文档集
动态测试过程中产生的文档包含测试规格说明、测试数据需求、测试环境需求、测试数据准备报告、测试环境准备报告、测试执行文档集。测试规格说明分为测试设计规格说明、测试用例规格说明和测试规程规格说明。测试设计规格说明确定了要执行的特征,并从每个特征的测试依据导出测试条件,作为定义测试用例和要执行的测试规程的第一步。测试用例规格说明测试覆盖项,以及从一个或多个特征集的测试依据导出的相应测试用例,测试用例内容包括唯一标识符、目标、优先级、可追溯性、前置条件、输入、预期结果和实测结果。测试规程规格说明按照执行顺序描述了所选测试集中的测试用例,以及设置初始前置条件和执行结束后活动所需的任何相关操作。
测试数据需求描述了执行测试规程规格说明中定义的测试规程所需的测试数据的属性。
测试环境需求描述了执行测试规程规格说明中定义的测试过程所需的测试环境的属性。
测试数据准备报告描述了每一个测试数据的完成情况。
测试环境准备报告描述了灭一个测试环境需求的完成情况。
测试执行文档集包括实测结果、测试结果、测试执行日志和事件报告。实测结果是测试规程的测试用例执行结果的记录。测试结果是特定测试用例执行是否通过的记录,即实际结果是否与预期结果一致,或者是否观察到偏差,或者测试用例的计划执行是否可能。测试执行日志记录了一个或多个测试规程执行的详细信息。测试事件报告记录了测试过程中任何需要记录操作的问题,每个独特的时间都有一个事件报告,事件报告也可以称为缺陷报告、错误报告、故障报告。
3.3.3测试技术标准
GB\T38634.4-2020《系统与软件工程 软件测试 第4部分:测试技术》规定了用于测试设计和实现过程中使用的测试技术。
常见的软件测试技术可分为给予规格说明的测试设计技术(黑盒测试)、基于结构的测试设计技术(白盒测试)和基于经验的测试设计技术3类。在基于规格说明的测试中,测试依据(如需求,规格说明,模型或用户需求)是设计测试用例的首要信息来源。在基于结构的测试中,测试项的结构(如源代码或模型结构)是设计测试用例的首要信息来源。在基于经验的测试中,测试人员的只是和经验是设计测试用例的首要信息来源。测试依据用于生成预期结果。
3.4软件测试工作量及成本估算相关标准
风险评估需要从经济学角度考虑软件测试项目进行什么类型的测试、完成多少测试。
1、软件测试成本构成
软件测试成本包括直接成本和间接成本两部分。
直接成本是指为了完成测试项目而支出的各类人力资源和工具资源的综合。直接成本开支仅限于测试生存周期内,包括人工成本、测试环境成本和测试工具成本等。
测试人工成本是软件测试成本的主要构成部分,由产品说明评审、用户文档集评审和软件测试三部分构成。
测试环境成本可分为两部分:一部分是测试执行过程中所需的软硬件环境,包含测试所需的硬件环境成本和软件环境成本;另一部分是测试设计和实现过程中所需的软硬件环境,包括开发所需的硬件环境成本和软件环境成本。测试环境成本指的是人力成本,即搭建软硬件环境时的人工开销,而不是软硬件本身的成本,硬核测试工具成本有所区别。
测试工具成本是测试过程中所使用到的软硬件工具的成本。标准中测试工具成本的构成分为自由工具成本和租借工具成本两部分。自由工具成本的估算可依据设备原价(包含服务费)以及设备的寿命来计算,租借工具成本则按照租借单价乘以租借时间来计算。
间接成本是服务于软件测试项目的管理组织成本。间接成本的开支可能会超出测试生存周期,包括办公成本和管理成本等。
办公成本指进行测试时非直接的花费,主要包括场地、印刷、交通、会议费等。
项目的管理一般不会针对某一具体项目,而是服务于多个项目,因此管理成本应有各项目进行分摊。一般来说标准的使用方可依据各自单位的管理费进行项目分摊得到。
2、软件测试成本调整因子
软件复杂度是指软件本身由于功能、规模或结构方面具有一定的复杂性而导致测试难度增大,增加了测试工作量。
被测软件的复杂性可按照以下特性来进行度量:
·存在大量的控制或者安全设施;
·系统规模较大,子模块较多且相互影响关联,或需与其他系统对接使用;
·非简体中文软件;
·存在大量的逻辑处理或处理过程复杂;
·存在大量的数学处理或算法复杂。
软件完整性调整因子是依据GB/T18492-2001给出的系统完整性级别来确定调整因子取值范围,软件完整性可由系统完整性推出。需要注意的是,在GB/T18492-2001中所涉及的风险是指软件本身的风险,而非软件测试的风险,需与测试风险度调整因子进行区别。
测试风险度指的是软件测试过程中可能会产生的风险。可能的测试风险由以下部分构成:
·被测软件的领域有特殊要求;
·测试需求不明确;
·被测软件与测试文档不一致;
·测试过过程中测试方与开发方因沟通等而导致不可预计的风险。
3、软件测试成本度量
(1)首先是根据项目情况和估算目标做好估算前的准备工作,确定估算范围,手机估算所需的文档,如软件的产品说明、用户文档集等。
(2)第二部是根据文档内容和评审结果,估算出未调整的软件测试工作量。
成本相关计算公式:
(1)未调整的软件测试人工工作量(人/日)=软件测试工作量(人/日)+产品说明评审工作量(人/日)+用户文档集评审工作量(人/日)
(2)软件测试成本调整因子=软件复杂性调整因子X软件完整性调整因子X软件风险调整因子X加急测试调整因子X现场测试调整因子X评测机构资质调整因子X(1+回归测试次数X回归测试调整因子)
(3)测试人工成本(元)=未调整的软件测试人工工作量(人/日)X软件测试成本调整因子X工作量单价
(4)测试工具成本(元)=自有工具成本(元)+租借工具成本(元)
(5)软件测试直接成本(元)=测试人工成本(元)+测试环境成本(元)+测试工具成本(元)
(6)软件测试成本(元)=直接成本(元)+间接成本(元)