GB/T 38639-2020 标准规范下载简介
GB/T 38639-2020 系统与软件工程 软件组合测试方法简介:
GB/T 38639-2020是中国国家标准,全称为《系统与软件工程 软件组合测试方法》,该标准主要规定了软件组合测试的通用原则、测试方法、测试策略和测试过程,旨在指导软件开发过程中对多个软件组件或系统进行集成和联合测试,确保它们在集成环境中的性能、功能和互操作性。
软件组合测试,也称为系统测试或集成测试,是在模块化开发的软件生命周期中,将多个独立的软件组件或系统组合在一起进行的测试。它旨在检查组件之间的接口、交互以及整体系统是否按预期工作。GB/T 38639-2020详细规定了如何制定测试计划,选择测试用例,执行测试,以及如何报告和处理测试结果。
该标准包括了测试环境的设置、测试数据管理、测试方法的选择(如黑盒测试、白盒测试、灰盒测试等)、测试工具的使用,以及如何验证和确认测试结果等。它还强调了测试过程中的文档记录,以确保测试活动的可追溯性和可审核性。
总的来说,GB/T 38639-2020为软件组合测试提供了科学、规范的指导,有助于提高软件质量,降低风险,提升软件开发的效率和效果。
GB/T 38639-2020 系统与软件工程 软件组合测试方法部分内容预览:
GB/T 386392020
组合测试的条件是待测软件参数的取值范围是可离散的。 在应用组合测试之前,应对待测软件的输入进行预处理。其主要包括如下几个步骤: a)根据当前测试的目标,识别出影响待测软件行为的参数。 b)依据步骤a)中得出的参数,识别该参数取值范围的有限个离散取值。若该参数的取值范围是 连续的(如实数类型),或者取值过多,则需要采用等价类划分或边界值的方法选取少量的离散 取值。 示例1:某航空公司对12~25岁和55~70岁的乘客实行机票优惠政策。在该航空公司订票系统中,当乘客年龄符 合优惠政策时,将自动计算出优惠票价。乘客年龄的参数取值虽然是离散值,但取值过多,需采用等价、边界值进行划 分。表1给出了依据年龄段分类的离散化示例
知名企业SSGF新体系建设分享PPT(159页)表1依据年龄段的分类离散化
求,系统则拒绝接受此类密码。由于密码可能的取值过多,因此需采用等价类的方式对输人域进行划分。表2给出了密 码参数的离散化示例
示例之:某软件新建用户切能中设直密码要求密 系统则拒绝接受此类密码。由于密码可能的取值过多,因此需采用等价类的方式对输人域进行划分。表2给出了 数的离散化示例。
表2密码参数的离散化示例
c)依据步骤a)中得出的参数,识别出参数间的约束。 d)分析各参数间交互作用的强度,设定用于测试的组合强度。 e 依据待测软件的需求确定是否有约束条件以及种子。约束条件和种子的选取应按第5章的要 求执行
GB/T38639—2020组合强度4.1单一选择待测软件中所有参数取值范围的任意可能取值至少被测试用例套中的一个测试用例覆盖。示例:一个系统有三个参数P=(pl,p2,p3),其中pl的取值范围V1=(a,b),p2的取值范围V2=(1,2,3),p3的取值范围V3=(x,y)。表3给出了一组满足单一选择覆盖的测试用例套表3单一选择准则测试用例套示例参数p1p2p31测试用例2yax4.2基本选择待测软件的测试用例套中,对于任意一个参数的两个取值,存在两个测试用例覆盖这两个取值,并且其他参数的取值相同。示例:一个系统有三个参数P=(pl,p2,p3),其中pl的取值范围V1=(a,b),p2的取值范围V2=(1,2,3),p3的取值范围V3=(x,y)。表4基本选择准则测试用例套示例参数p2p32a1Xb1X测试用例b2x3xb3y4.3成对组合待测软件中任意两个参数,它们取值范围的任意一对有效取值至少被一个测试用例所覆盖。在组合测试中关键参数应至少满足成对组合覆盖。示例:一个系统有三个参数P=(pl,p2,p3),其中pl的取值范围V1=(a,b),p2的取值范围V2=(1,2,3),p3的取值范围V3=(x,y)。其测试覆盖项见表5。3
GB/T38639—2020
表5成对测试准则覆盖项示例
表6成对测试准则测试用例套示例
待测软件中所有参数取值范围的任意有效取值的组合至少被一个测试用例所覆盖。 示例:一个系统有三个参数P=(pl,p2,p3),其中pl的取值范围V1=(a,b)+p2的取值范围V2=(1,2,3 取值范围V3=(x,y)。 表7给出了满足全组合覆盖的测试用例套
GB/T38639—2020表7全组合准则测试用例套示例参数plp2p311y2X2y33y测试用例1X1X2X2yXy4.55K强度组合在组合强度要求为K的组合中(简称为K强度),任意K个参数取值范围的任意有效值的组合至少被一个测试覆盖项所覆盖。当K=2时,K强度组合等同于成对组合;当K等于所有参数数量时,K强度组合等同于全组合。示例:一个系统具有a,b,c,d四个参数,取值范围分别为0,1,当K=2时,表8所给出的一组组合的覆盖率计算如下:2强度的组合有ab,ac,ad,bc,bdod六种,每两个参数间都有四个二值组合,因此共有24个组合需要覆盖。而在所示的测试用例套中,仅有19个2强度组合被覆盖,因此该测试用例套的2强度组合覆盖率为19/24=79.2%。表82强度组合测试用例套示例参数c0000011测试用例10010111组合测试的约束条件和种子5.1约束条件组合测试方法应能提供默认组合强度和任意参数集合上的变强度的表示。组合测试的约束条件分为条件约束和无条件约束a)条件约束:条件药束应包含约束条件和约束表达式。当约束条件满足时,则按照药束表达式进5
行约束,否则不进行约束。 b)无条件约束:无条件约束不需要约束条件。任何测试用例均应满足约束表达式。 约束条件和约束表达式应支持关系运算符及逻辑运算符。 关系运算符可包含但不限于等于(三二)、不等于(!三)、大于(>)、大于或等于(≥)、小于(<)和小 于或等于(≤)等。 逻辑运算符可包含但不限于逻辑蕴含(→)、逻辑与(人)、逻辑或(V)、逻辑非()和逻辑异或 (?)等
组合测试方法应能支持指定参数值测试用例的种子。 种子的参数、值及其约束关系应该和文件中参数一致。如果不一致,应根据如下原则处理 种子: a) 忽略种子中包含了文件中不存在的参数: b) 忽略种子中在文件中不存在的参数值; c)忽略种子中违反了在文件中定义的约束条件。
乙组合测试输入输出表示
组合测试输入应包含组合强度和各参数的定义,宜包含指定参数的变强度定义、种子定义和约束 条件。 常见的输入输出格式包括XML格式和JSON格式。XML格式适用于解析速率要求较高和可靠 生要求高的测试环境;JSON格式适用于需要远程传输测试数据且对传输效率要求较高的测试环境。 组合测试的输入输出格式文件见附录C
GB/T386392020
如采用XML作为输入格式,宜包含的元素见表9。XML输入格式文件按C.2给出的Schema定 义执行。
Z.2.2JSON输入格式
采用JSON作为输入格式,宜包含的元素见表10
表10JSON输入格式
GB/T38639—2020
GB/T38639—2020
7.3.1XML输出格式
如采用XML作为输出格式,宜包含的元素见表11。其XML输出格式文件按C.3给出的Schema 定义执行。
表11XML输出格式
Z.3.2JSON输出格式
如采用JSON作为输出格式,宜包含的元素见表1
表12JSON输出格式
GB/T386392020
附录A (资料性附录) 软件完整性级别与组合强度要求参考 组合测试方法的使用可按照GB/T18492一2001给出的软件完整性级别来确定组合强度的要求 表A.1给出了一组各完整性级别对应的组合强度的参考
测试方法的使用可按照GB/T18492一2001给出的软件完整性级别来确定组合强度的要求 出了一组各完整性级别对应的组合强度的参考
表A.1软件完整性级别对应的组合强度参考
GB/T 386392020
本附录给出了某系统的测试 测试用例生成的情况
本系统具有五个参数,分别为平台、CPU核数、主存容量、外存接口和操作系统,均为字符串类型 其取值范围如下: 平台的取值范围:x86,ia64,amd64。 CPU核数的取值范围:Single,Dual,Quad。 主存容量的取值范围:128MB,4GB,64GB。 外存接口的取值范围:SCSI,IDE。 操作系统的取值范围:OS1.OS2.OS3.OS4
默认为成对组合覆盖。 CPU核数、主存容量和操作系统三个参数需要3强度组合
本系统应测试的种子如下: a)平台为amd64,主存容量为64GB,操作系统为OS4; b)平台为x86,主存容量为128MB,操作系统为OS1
本系统应测试的种子如下: a)平台为amd64,主存容量为64GB,操作系统为OS4; b)平台为x86.主存容量为128MB,操作系统为OS1。
本系统参数有兼容性约束,约束条件如下 a)平台为ia64或amd64时,操作系统只准许是OS3或OS4; b)平台为x86时,主存容量不能是64GB
GB/T386392020
GB/T38639—2020
B.4.2JSON格式
["name""PLATFORM","value"."amd64"},{"name""RAM","value""64GB"},《" name":"Os","value":"OS4"}], ["name"."PLATFORM","value""x86"},《"name":"RAM","value""128MB"】,《" name":"Os","value":"OS1"}] 」, "constraints":[ 《"condition":"PLATFORM"=="ia64"II"PLATFORM"=="amd64","expression":"(" OS"=="OS3"II"OS"=="OS4")"}, 《"condition"."PLATFORM"=="x86","expression"."RAM"!="64GB"
["name"."PLATFORM","value"."amd64"},{"name"."RAM","value"."64GB"】,《" name":"Os","value":"OS4"}], ["name"."PLATFORM","value"."x86"),《"name"."RAM","value"."128MB"),《" name":"Os","value":"OS1"}] 」, "constraints":[ 《"condition"."PLATFORM"=="ia64"II"PLATFORM"=="amd64","expression":" OS"=="OS3"II"OS"=="OS4")"), ("condition""PLATFORM"=="x86","expression":"RAM"!="64GB"
CECS24-1990标准下载B.5.1变强度的测试覆盖项
GB/T 386392020
B.5.2默认强度的测试覆盖项
B.5.3种子的测试覆盖项
GB/T386392020
DL 5011-1992电力建设施工及验收规范 汽轮机机组篇违反约束条件的测试覆言