ICS35.080 L 77 中华人民共和国国家标准 GB/T386392020 系统与软件工程 软件组合测试方法 Systems and software engineeringSoftware combinatorial testing method 2020-11-01实施 2020-04-28发布 国家市场监督管理总局 发布 国家标准化管理委员会 GB/T38639—2020 目 次 前言 1 范围 2 术语和定义 输人预处理 组合强度 5 组合测试的约束条件和种子 6 组合测试过程要求 组合测试输人输出表示 附录A(资料性附录) 软件完整性级别与组合强度要求参考 附录B(资料性附录) 组合测试方法示例 10 附录C(规范性附录)组合测试输入输出XMLSchema 30 参考文献 64 GB/T386392020 前言 本标准按照GB/T1.1—2009给出的规则起草。 请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任 本标准由全国信息技术标准化技术委员会(SAC/TC28)提出并归口。 本标准起草单位:上海计算机软件技术开发中心、中国电子技术标准化研究院、国家应用软件产品 质量监督检验中心、西宁市大数据服务管理局、广东省科技基础条件平台中心、深圳赛西信息技术有限 公司、中国电子科技集团公司第五十四研究所、中国电子科技集团公司第十研究所、中国航天系统科学 与工程研究院、厦门理工学院、山东道普测评技术有限公司、浙江省电子信息产品检验所、北京跟踪与通 检验院、上海第二工业大学 本标准主要起草人:蔡立志、李文鹏、龚家瑜、张旸旸、胡芸、李军、康京山、吴克寿、王威、赵毅、吕雪、 严俊、王子元、刘文红、沈颖、白万芳、孙凤丽、孙纪敏、杨隽、王凤玲、赵昌平、李晓伟、薛宝军、王磊、 何永辉、韩强、黄秋霞、元兵、李丽萍、李艳。 1 GB/T38639—2020 系统与软件工程 软件组合测试方法 1范围 本标准给出了软件组合测试输入预处理方法和组合强度设定,规定了组合测试约束条件和种子、组 合测试过程要求以及组合测试输入输出表示方法 本标准适用于软件组合测试的用例设计和充分性评估。 2 术语和定义 下列术语和定义适用于本文件。 2.1 组合测试方法 combinatorial testing method 基于多参数组合进行软件测试的一种方法, 2.2 组合强度 combinatorial strength 用于表示测试参数取值组合的复杂度。 2.3 参数 parameter 测试目标相关的输人参数、配置参数或环境参数。 注1:参数类型包括整型、浮点型、布尔型和字符串型。 注2:待测软件的参数可以是函数的输人参数、命令行参数、表单输入框、配置文件中的配置项。 2.4 取值范围 domain SA 参数取值的范围或集合。 2.5 变强度 variablestrength 对不同的参数子集给出不同组合强度的要求。 注:组合测试中组合强度的一种特殊要求。通常是在默认组合强度的基础上,待测软件的某几个参数子集采用不 同于默认值的组合强度。 示例:一个系统具有a、b、c、d、e五个参数,默认组合强度为2.其中a、b、c三个参数由于特殊要求需要设置3强度组 合,则该系统的测试用例需同时满足a、b、c、d、e五个参数的2强度组合,以及a、b、c三个参数的3强度组合 2.6 测试用例套 test suite 针对特定测试目标的测试用例集合。 2.7 种子seed 组合测试中由用户定义应被测试的取值组合。 1 GB/T38639—2020 3输入预处理 组合测试的条件是待测软件参数的取值范围是可离散的。 在应用组合测试之前,应对待测软件的输入进行预处理。其主要包括如下几个步骤: 根据当前测试的目标,识别出影响待测软件行为的参数。 a) b) 依据步骤a)中得出的参数,识别该参数取值范围的有限个离散取值。若该参数的取值范围是 连续的(如实数类型),或者取值过多,则需要采用等价类划分或边界值的方法选取少量的离散 取值。 521 示例1:某航空公司对12~25岁和5570岁的乘客实行机票优惠政策。在该航空公司订票系统中,当乘客年龄符 合优惠政策时,将自动计算出优惠票价。乘客年龄的参数取值虽然是离散值,但取值过多,需采用等价、边界值进行划 分。表1给出了依据年龄段分类的离散化示例。 表1依据年龄段的分类离散化 序号 输人(乘客年龄) 期望输出 11 1 不优惠 2 12 优惠 25 3 优惠 26 4 不优惠 5 54 不优惠 55 6 优惠 7 70 优惠 71 8 不优惠 示例2:某软件新建用户功能中设置密码要求密码长度不少于8位,密码应至少包含数字和字母,如密码不符合要 求,系统则拒绝接受此类密码。由于密码可能的取值过多,因此需采用等价类的方式对输入域进行划分。表2给出了密 码参数的离散化示例。 表2 密码参数的离散化示例 序号 输入(密码) 期望输出 123abc 1 不接受 2 12345678 不接受 3 1234abcd 接受 4 abcdefgh 不接受 c) 依据步骤a)中得出的参数,识别出参数间的约束。 d) 分析各参数间交互作用的强度,设定用于测试的组合强度 e) 依据待测软件的需求确定是否有约束条件以及种子。约束条件和种子的选取应按第5章的要 求执行。 2 GB/T38639—2020 4 组合强度 4.1 单一选择 待测软件中所有参数取值范围的任意可能取值至少被测试用例套中的一个测试用例覆盖。 示例:一个系统有三个参数P=pl,p2,p3),其中pl的取值范围V1=(a,b),p2的取值范围V2={1,2,3), p3的取值范围V3=(x,y)。 表3给出了一组满足单一选择覆盖的测试用例套。 表3单一选择准则测试用例套示例 参数 pl p2 p3 a 1 x b 测试用例 2 y a 3 x 4.2 基本选择 待测软件的测试用例套中,对于任意一个参数的两个取值,存在两个测试用例覆盖这两个取值,并 且其他参数的取值相同。 示例:一个系统有三个参数P=(pl,p2,p3),其中pl的取值范围V1=(a,b),p2的取值范围V2=(1,2,3), p3的取值范围V3=(x,y)。 表4给出了一组满足基本选择覆盖的测试用例套。 表4基本选择准则测试用例套示例 参数 pl p2 p3 a 1 x b 1 x 测试用例 b 2 x b 3 x b 3 y 4.3 成对组合 待测软件中任意两个参数,它们取值范围的任意一对有效取值至少被一个测试用例所覆盖。在组 合测试中关键参数应至少满足成对组合覆盖。 示例:一个系统有三个参数P=pl,p2,p3),其中pl的取值范围V1=(a,b).p2的取值范围V2=(1,2,3), p3的取值范围V3=(x,y)。 其测试覆盖项见表5。 3 GB/T38639—2020 表5成对测试准则覆盖项示例 序号 参数-值1 参数-值2 1 pl=a p2=1 2 pl=a p2=2 3 pl=a p2=3 4 pl=b p2=1 5 pl=b p2=2 6 pl=b p2=3 7 p2=1 p3=x 8 p2=1 p3=y .9 p2=2 p3= x 10 p2=2 p3=y 11 p2=3 p3=x 12 p2=3 p3=y 13 pl=a p3=x 14 pl=a p3=y 15 pl=b p3=x 16 pl=b p3=y 表6给出了一组满足成对组合覆盖的测试用例套 表 6 成对测试准则测试用例套示例 参数 p1 p2 p3 a 1 a 2 x a 3 x b 1 y 测试用例 b 2 y b 3 y a 1 y b 2 x 4.4 4全组合 待测软件中所有参数取值范围的任意有效取值的组合至少被一个测试用例所覆盖。 示例:一个系统有三个参数P=(pl,p2,p3),其中pl的取值范围V1=(a,b),p2的取值范围V2=(1,2,3) p3的取值范围V3=(x,y>。 表7给出了满足全组合覆盖的测试用例套。 4
GB/T 38639-2020 系统与软件工程 软件组合测试方法
文档预览
中文文档
37 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共37页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2022-10-04 14:21:18上传分享