收藏 分销(赏)

GB∕T 38639-2020 系统与软件工程 软件组合测试方法.pdf

上传人:spr****ea 文档编号:77629 上传时间:2022-06-02 格式:PDF 页数:37 大小:1.31MB
下载 相关 举报
GB∕T 38639-2020 系统与软件工程 软件组合测试方法.pdf_第1页
第1页 / 共37页
GB∕T 38639-2020 系统与软件工程 软件组合测试方法.pdf_第2页
第2页 / 共37页
GB∕T 38639-2020 系统与软件工程 软件组合测试方法.pdf_第3页
第3页 / 共37页
GB∕T 38639-2020 系统与软件工程 软件组合测试方法.pdf_第4页
第4页 / 共37页
GB∕T 38639-2020 系统与软件工程 软件组合测试方法.pdf_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、书 书 书犐 犆犛 犔 中 华 人 民 共 和 国 国 家 标 准犌犅犜 系统与软件工程软件组合测试方法犛 狔 狊 狋 犲犿狊犪 狀 犱狊 狅 犳 狋 狑犪 狉 犲犲 狀 犵 犻 狀 犲 犲 狉 犻 狀 犵犛 狅 犳 狋 狑犪 狉 犲犮 狅犿犫 犻 狀 犪 狋 狅 狉 犻 犪 犾狋 犲 狊 狋 犻 狀 犵犿犲 狋 犺 狅 犱 发布 实施国 家 市 场 监 督 管 理 总 局国 家 标 准 化 管 理 委 员 会发 布目次前言范围术语和定义输入预处理组合强度组合测试的约束条件和种子组合测试过程要求组合测试输入输出表示附录(资料性附录)软件完整性级别与组合强度要求参考附录(资料性附录)组合测试方法

2、示例 附录(规范性附录)组合测试输入输出 参考文献 犌犅犜 前言本标准按照 给出的规则起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。本标准由全国信息技术标准化技术委员会( )提出并归口。本标准起草单位:上海计算机软件技术开发中心、中国电子技术标准化研究院、国家应用软件产品质量监督检验中心、西宁市大数据服务管理局、广东省科技基础条件平台中心、深圳赛西信息技术有限公司、中国电子科技集团公司第五十四研究所、中国电子科技集团公司第十研究所、中国航天系统科学与工程研究院、厦门理工学院、山东道普测评技术有限公司、浙江省电子信息产品检验所、北京跟踪与通信技术研究所、南京

3、邮电大学、中国科学院软件研究所、北方民族大学、内蒙古自治区电子信息产品质量检验院、上海第二工业大学。本标准主要起草人:蔡立志、李文鹏、龚家瑜、张、胡芸、李军、康京山、吴克寿、王威、赵毅、吕雪、严俊、王子元、刘文红、沈颖、白万芳、孙凤丽、孙纪敏、杨隽、王凤玲、赵昌平、李晓伟、薛宝军、王磊、何永辉、韩强、黄秋霞、亓兵、李丽萍、李艳。犌犅犜 系统与软件工程软件组合测试方法范围本标准给出了软件组合测试输入预处理方法和组合强度设定,规定了组合测试约束条件和种子、组合测试过程要求以及组合测试输入输出表示方法。本标准适用于软件组合测试的用例设计和充分性评估。术语和定义下列术语和定义适用于本文件。 组合测试方

4、法犮 狅犿犫 犻 狀 犪 狋 狅 狉 犻 犪 犾狋 犲 狊 狋 犻 狀 犵犿犲 狋 犺 狅 犱基于多参数组合进行软件测试的一种方法。注:在组合测试中,被测试应用被抽象为一个黑盒,它有多个输入参数,其行为受输入参数之间的组合测试影响。 组合强度犮 狅犿犫 犻 狀 犪 狋 狅 狉 犻 犪 犾狊 狋 狉 犲 狀 犵 狋 犺用于表示测试参数取值组合的复杂度。 参数狆 犪 狉 犪犿犲 狋 犲 狉测试目标相关的输入参数、配置参数或环境参数。注:参数类型包括整型、浮点型、布尔型和字符串型。注:待测软件的参数可以是函数的输入参数、命令行参数、表单输入框、配置文件中的配置项。 取值范围犱 狅犿犪 犻 狀参数取值

5、的范围或集合。 变强度狏 犪 狉 犻 犪 犫 犾 犲狊 狋 狉 犲 狀 犵 狋 犺对不同的参数子集给出不同组合强度的要求。注:组合测试中组合强度的一种特殊要求。通常是在默认组合强度的基础上,待测软件的某几个参数子集采用不同于默认值的组合强度。示例:一个系统具有、五个参数,默认组合强度为,其中、三个参数由于特殊要求需要设置强度组合,则该系统的测试用例需同时满足、五个参数的强度组合,以及、三个参数的强度组合。 测试用例套狋 犲 狊 狋狊 狌 犻 狋 犲针对特定测试目标的测试用例集合。 种子狊 犲 犲 犱组合测试中由用户定义应被测试的取值组合。犌犅犜 输入预处理组合测试的条件是待测软件参数的取值范围

6、是可离散的。在应用组合测试之前,应对待测软件的输入进行预处理。其主要包括如下几个步骤:)根据当前测试的目标,识别出影响待测软件行为的参数。)依据步骤)中得出的参数,识别该参数取值范围的有限个离散取值。若该参数的取值范围是连续的(如实数类型) ,或者取值过多,则需要采用等价类划分或边界值的方法选取少量的离散取值。示例:某航空公司对 岁和 岁的乘客实行机票优惠政策。在该航空公司订票系统中,当乘客年龄符合优惠政策时,将自动计算出优惠票价。乘客年龄的参数取值虽然是离散值,但取值过多,需采用等价、边界值进行划分。表给出了依据年龄段分类的离散化示例。表依据年龄段的分类离散化序号输入(乘客年龄)期望输出 不

7、优惠 优惠 优惠 不优惠 不优惠 优惠 优惠 不优惠示例:某软件新建用户功能中设置密码要求密码长度不少于位,密码应至少包含数字和字母,如密码不符合要求,系统则拒绝接受此类密码。由于密码可能的取值过多,因此需采用等价类的方式对输入域进行划分。表给出了密码参数的离散化示例。表密码参数的离散化示例序号输入(密码)期望输出 不接受 不接受 接受 不接受)依据步骤)中得出的参数,识别出参数间的约束。)分析各参数间交互作用的强度,设定用于测试的组合强度。)依据待测软件的需求确定是否有约束条件以及种子。约束条件和种子的选取应按第章的要求执行。犌犅犜 组合强度 单一选择待测软件中所有参数取值范围的任意可能取值

8、至少被测试用例套中的一个测试用例覆盖。示例:一个系统有三个参数犘 , , ,其中 的取值范围犞, , 的取值范围犞, , 的取值范围犞, 。表给出了一组满足单一选择覆盖的测试用例套。表单一选择准则测试用例套示例参数 测试用例 基本选择待测软件的测试用例套中,对于任意一个参数的两个取值,存在两个测试用例覆盖这两个取值,并且其他参数的取值相同。示例:一个系统有三个参数犘 , , ,其中 的取值范围犞, , 的取值范围犞, , 的取值范围犞, 。表给出了一组满足基本选择覆盖的测试用例套。表基本选择准则测试用例套示例参数 测试用例 成对组合待测软件中任意两个参数,它们取值范围的任意一对有效取值至少被一

9、个测试用例所覆盖。在组合测试中关键参数应至少满足成对组合覆盖。示例:一个系统有三个参数犘 , , ,其中 的取值范围犞, , 的取值范围犞, , 的取值范围犞, 。其测试覆盖项见表。犌犅犜 表成对测试准则覆盖项示例序号参数值参数值 表给出了一组满足成对组合覆盖的测试用例套。表成对测试准则测试用例套示例参数 测试用例 全组合待测软件中所有参数取值范围的任意有效取值的组合至少被一个测试用例所覆盖。示例:一个系统有三个参数犘 , , ,其中 的取值范围犞, , 的取值范围犞, , 的取值范围犞, 。表给出了满足全组合覆盖的测试用例套。犌犅犜 表全组合准则测试用例套示例参数 测试用例 犓强度组合在组合

10、强度要求为犓的组合中(简称为犓强度) ,任意犓个参数取值范围的任意有效值的组合至少被一个测试覆盖项所覆盖。当犓时,犓强度组合等同于成对组合;当犓等于所有参数数量时,犓强度组合等同于全组合。示例:一个系统具有,四个参数,取值范围分别为,当犓时,表所给出的一组组合的覆盖率计算如下:强度的组合有 , , , , , 六种,每两个参数间都有四个二值组合,因此共有 个组合需要覆盖。而在所示的测试用例套中,仅有 个强度组合被覆盖,因此该测试用例套的强度组合覆盖率为 。表强度组合测试用例套示例参数测试用例组合测试的约束条件和种子 约束条件组合测试方法应能提供默认组合强度和任意参数集合上的变强度的表示。组合测

11、试的约束条件分为条件约束和无条件约束:)条件约束:条件约束应包含约束条件和约束表达式。当约束条件满足时,则按照约束表达式进犌犅犜 行约束,否则不进行约束。)无条件约束:无条件约束不需要约束条件。任何测试用例均应满足约束表达式。约束条件和约束表达式应支持关系运算符及逻辑运算符。关系运算符可包含但不限于等于() 、不等于(!) 、大于() 、大于或等于() 、小于()和小于或等于()等。逻辑运算符可包含但不限于逻辑蕴含() 、逻辑与() 、逻辑或() 、逻辑非()和逻辑异或(?)等。 种子组合测试方法应能支持指定参数值测试用例的种子。种子的参数、值及其约束关系应该和模型文件中参数一致。如果不一致,

12、应根据如下原则处理种子:)忽略种子中包含了模型文件中不存在的参数;)忽略种子中在模型文件中不存在的参数值;)忽略种子中违反了在模型文件中定义的约束条件。组合测试过程要求组合测试的测试过程如下:)确定测试范围:确定所需测试的软件功能及参数。)导出测试条件:针对每个参数确定其取值范围,对于连续变量参数取值范围的确定可按照第章的方法进行输入预处理。)导出测试覆盖项:采用组合测试的方法,根据组合定义的组合强度,生成测试覆盖项。在组合测试中,测试覆盖项应包含测试项参数与组合强度相符的“参数值”对。)导出测试用例:依据测试覆盖项生成测试用例,直到每个测试覆盖项都包含在至少一个测试用例中。)分配测试用例套:

13、当测试用例数量过多时,可将依据某个关键参数的取值不同,将测试用例分配不同的测试用例套。)执行测试:将测试用例套交由测试人员执行。)充分性评估:计算强度组合的覆盖率,可参考附录给出完全符合或部分符合的结论,分析未达到要求的原因。附录给出了组合测试用例生成的完整示例。组合测试输入输出表示 一般要求组合测试输入应包含组合强度和各参数的定义,宜包含指定参数的变强度定义、种子定义和约束条件。常见的输入输出格式包括格式和 格式。格式适用于解析速率要求较高和可靠性要求高的测试环境; 格式适用于需要远程传输测试数据且对传输效率要求较高的测试环境。组合测试的输入输出格式文件见附录。犌犅犜 输入格式 犡犕犔输入格

14、式如采用作为输入格式,宜包含的元素见表。输入格式文件按 给出的 定义执行。表犡犕犔输入格式元素名描述 根元素,包含输入文件中的一切元素 参数列表,包含多个参数的定义。子元素为 包含参数的名称和值定义。属性 表示参数名,属性 表示参数的类型,可取值 、 、 和 。子元素为 取值范围,子元素为 取值范围中的值 组合强度定义。属性 表示默认强度,默认值为。子元素为 加在指定参数上的变强度。子元素为变强度参数,属性 表示参数名 约束条件定义,包含约束条件列表。子元素为 约束条件内容,属性 是可选属性,表示有条件约束中所给出的条件表达式;属性 表示约束表达式 种子测试用例定义,包含测试用例列表。子元素为

15、 种子,子元素为 种子测试用例参数。属性 表示参数名,属性 表示参数值 犑 犛犗犖输入格式如采用 作为输入格式,宜包含的元素见表 。表 犑 犛犗犖输入格式元素名描述 参数定义键值对。例如: : : , : , , : , ,其中 是参数名, 是参数的取值范围, 是参数的类型 组合强度的键值对。应至少包含默认强度。例如: : :, : : , , , : ,其中 是默认强度, 是需要附加强度的参数列表,后接 表示其所需的强度 约束条件数组。例如: : :, : , : ,其中, 是有条件约束中所给出的条件表达式, 是约束表达式 种子测试用例数组。例如: : :, : , :, : , :, :

16、, :, : 犌犅犜 输出格式 犡犕犔输出格式如采用作为输出格式,宜包含的元素见表 。其输出格式文件按 给出的 定义执行。表 犡犕犔输出格式元素名描述 根元素,包含测试用例列表。子元素 单个测试用例定义,包含各参数值的列表。子元素为 每个参数的名称和值。属性 表示参数的名称。子元素为 参数的取值 犑 犛犗犖输出格式如采用 作为输出格式,宜包含的元素见表 。表 犑 犛犗犖输出格式元素名描述 根元素,包含测试用例列表。子元素 测试用例描述,内容包含多个 元素的数组。例如: : , 每个参数的名称和值的对象。例如: :, :犌犅犜 附录犃(资料性附录)软件完整性级别与组合强度要求参考组合测试方法的使

17、用可按照 给出的软件完整性级别来确定组合强度的要求,表 给出了一组各完整性级别对应的组合强度的参考。表犃 软件完整性级别对应的组合强度参考软件完整性级别组合强度要求级依据覆盖率的要求,所有参数应满足犓值大于或等于的组合强度覆盖级全部参数需要满足成对组合覆盖,关键参数应满足犓值大于或等于组合强度覆盖级全部参数应满足成对组合的覆盖级全部参数需满足单一选择覆盖,关键参数应满足成对组合的覆盖犌犅犜 附录犅(资料性附录)组合测试方法示例犅 概述本附录给出了某系统的测试项目采用组合测试方法进行测试用例生成的情况。犅 参数本系统具有五个参数,分别为平台、核数、主存容量、外存接口和操作系统,均为字符串类型,其

18、取值范围如下: 平台的取值范围: , , 。 核数的取值范围: , , 。 主存容量的取值范围: , 。 外存接口的取值范围: , 。 操作系统的取值范围: , , , 。犅 组合测试需求犅 强度要求默认为成对组合覆盖。核数、主存容量和操作系统三个参数需要强度组合。犅 种子本系统应测试的种子如下:)平台为 ,主存容量为 ,操作系统为 ;)平台为 ,主存容量为 ,操作系统为 。犅 约束条件本系统参数有兼容性约束,约束条件如下:)平台为 或 时,操作系统只准许是 或 ;)平台为 时,主存容量不能是 。犅 输入表示犅 犡犕犔格式依据上述组合测试需求,可由如下格式表示其组合测试输入:? ? 犌犅犜 :

19、 : : : : : ! 参数定义 犌犅犜 ! 默认强度组合 ! 核数、主存容量和外存接口三个参数强度组合 ! 种子 ! 约束条件 ( ) ! 犅 犑 犛犗犖格式依据上述组合测试需求,可由如下 格式表示其组合测试输入: : :, : , , , : , :, : , , , : , :, : , , , : , :, : , , : , : , : , , , , : , : :, : :, , : , : 犌犅犜 :, : , :, : , : , : , :, : , :, : , : , : , : : , :( ) ” , : , :! 犅 测试覆盖项生成犅 变强度的测试覆盖项符合核数

20、、主存容量和操作系统三个参数需要强度组合的测试覆盖项如下:核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统

21、:核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 犌犅犜 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容量 ,操作系统 :核数 ,主存容

22、量 ,操作系统 犅 默认强度的测试覆盖项其他参数默认符合强度组合的测试覆盖项如下: :平台 ,核数 :平台 ,核数 :平台 ,核数 :平台 ,核数 :平台 ,核数 :平台 ,核数 :平台 ,核数 :平台 ,核数 :平台 ,核数 :平台 ,主存容量 :平台 ,主存容量 :平台 ,主存容量 :平台 ,主存容量 :平台 ,主存容量 :平台 ,主存容量 :平台 ,主存容量 :平台 ,主存容量 :平台 ,主存容量 :平台 ,外存接口 :平台 ,外存接口 :平台 ,外存接口 :平台 ,外存接口 :平台 ,外存接口 :平台 ,外存接口 :平台 ,操作系统 :平台 ,操作系统 :平台 ,操作系统 犌犅犜 :平

23、台 ,操作系统 :平台 ,操作系统 :平台 ,操作系统 :平台 ,操作系统 :平台 ,操作系统 :平台 ,操作系统 :平台 ,操作系统 :平台 ,操作系统 :平台 ,操作系统 :核数 ,外存接口 :核数 ,外存接口 :核数 ,外存接口 :核数 ,外存接口 :核数 ,外存接口 :核数 ,外存接口 :主存容量 ,外存接口 :主存容量 ,外存接口 :主存容量 ,外存接口 :主存容量 ,外存接口 :主存容量 ,外存接口 :主存容量 ,外存接口 :外存接口 ,操作系统 :外存接口 ,操作系统 :外存接口 ,操作系统 :外存接口 ,操作系统 :外存接口 ,操作系统 :外存接口 ,操作系统 :外存接口 ,操

24、作系统 :外存接口 ,操作系统 犅 种子的测试覆盖项符合 种子的测试覆盖项如下: :平台 ,主存容量 ,操作系统 :平台 ,主存容量 ,操作系统 犅 违反约束条件的测试覆盖项依据 中约束条件)的约束,测试覆盖项 、 、 和 违反了该条约束。依据 中约束条件)的约束,测试覆盖项 违反了该条约束。依据 中约束条件)和)可推导出主存容量为 时,操作系统不能为 和 ,测试覆盖项、 、 、 、 和 违反约束。 犌犅犜 注:由于平台为 或 时,操作系统必须是 或 ,可知操作系统 和 只能运行与 平台。但 平台不兼容 主存容量,因此主存容量为 时,操作系统不能为 和 。覆盖上述测试覆盖项的测试用例应删除。犅

25、 测试用例生成依据 中的测试覆盖项,可得出测试用例。表 给出了符合 测试覆盖项的测试用例的一种解。表犅 测试用例表用例编号输入平台核数 主存容量 外存接口 操作系统覆盖的测试覆盖项 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 犌犅犜 表犅 (续)用例编号输入平台核数 主存容量 外存接口 操作系统覆盖的测试覆盖项 , , ,

26、 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 犌犅犜 表犅 (续)用例编号输入平台核数 主存容量 外存接口 操作系统覆盖的测试覆盖项 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

27、 , , , , , 犅 输出表示犅 犡犕犔格式依据表 ,生成测试用例的格式表示如下:? ? : : : : : : 犌犅犜 犌犅犜 犌犅犜 犌犅犜 犌犅犜 犅 犑 犛犗犖格式依据表 ,生成测试用例的 格式表示如下: 犌犅犜 : : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, :

28、, : , : , : :, : , : , : , :, : , :, : , 犌犅犜 : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , :, : , 犌犅犜 :, : , : , : , : :, : ,

29、: , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , 犌犅犜 :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, : , :

30、 , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , 犌犅犜 : , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : :, : , : , : ,

31、 :, : , :, : , : , : , : :, : , : , : , :, : , :, : , : , : , : 犌犅犜 :, : , : , : , :, : , :, : , : , : 犌犅犜 附录犆(规范性附录)组合测试输入输出犡犕犔犛 犮 犺 犲犿犪犆 概述本附录中给出了组合测试输入文件和输出文件的 。犆 输入文件犡犕犔犛 犮 犺 犲犿犪输入文件的 如下所示:? ? : : : : ! 参数定义 犌犅犜 ! 组合强度定义 ! 种子定义 犌犅犜 ! 约束条件定义 犆 输出文件犡犕犔犛 犮 犺 犲犿犪输出文件的 如下所示:? ? : : : : 犌犅犜 犌犅犜 参考文献 信息技术系统及软件完整性级别 系统与软件工程软件测试第部分:测试技术 犌犅犜

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 行业资料 > 系统集成

移动网页_全站_页脚广告1

关于我们      联系我们       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号  |  icp.png浙ICP备2021020529号-1 浙B2-2024(办理中)  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服