第3章黑盒测试及其实例设计-课件.ppt

上传人(卖家):晟晟文业 文档编号:4608489 上传时间:2022-12-24 格式:PPT 页数:62 大小:954.52KB
下载 相关 举报
第3章黑盒测试及其实例设计-课件.ppt_第1页
第1页 / 共62页
第3章黑盒测试及其实例设计-课件.ppt_第2页
第2页 / 共62页
第3章黑盒测试及其实例设计-课件.ppt_第3页
第3页 / 共62页
第3章黑盒测试及其实例设计-课件.ppt_第4页
第4页 / 共62页
第3章黑盒测试及其实例设计-课件.ppt_第5页
第5页 / 共62页
点击查看更多>>
资源描述

1、第第3章章 黑盒测试及其黑盒测试及其 实例设计实例设计 本章概述本章概述 黑盒测试是软件测试技术中最基本的方法之一,在各类测试中都有广泛的应用。本章将介绍黑盒测试的基本概念与基本方法,并重点介绍应用较为广泛的几种测试方法:等价类划分法边界值分析法决策表法因果图法并通过典型实例详细介绍实际测试技术的基本运用。3.1 黑盒测试概述3.2 等价类划分法3.3 边界值分析法3.4 决策表法3.5 因果图法3.6 实例设计3.7 测试方法的选择小结习题3.1 黑盒测试概述黑盒测试概述 黑盒测试黑盒测试又称为功能测试或数据驱动测试,是从用户观点出发,主要以软件规格说明书为依据,对程序功能和程序接口进行的测

2、试。黑盒测试是以用户的观点,从输入数据与输出数据的对应关系出发进行测试的,它不涉及到程序的内部结构。很明显,如果外部特性本身有问题或规格说明书的规定有误,用黑盒测试方法是发现不了的。黑盒测试方法着重测试软件的功能需求,是在程序接口上黑盒测试方法着重测试软件的功能需求,是在程序接口上进行测试,主要是为了发现以下错误:进行测试,主要是为了发现以下错误:是否有不正确的功能,是否有遗漏的功能;在接口上,是否能够正确地接收输入数据并产生正确的输出结果;是否有数据结构错误或外部信息访问错误;性能上是否能够满足要求;是否有程序初始化和终止方面的错误。黑盒测试的各种方法中,应用较为广泛的测试方法有以下几种:等

3、价类划分法、边界值分析法、决策表法和因果图法。这些方法是比较实用的,但采用什么方法,在使用时自然要针对开发项目的特点对设计方法进行适当的选择。3.2 等价类划分法等价类划分法3.2.1 等价类划分法等价类划分法等价类划分法等价类划分法是黑盒测试用例设计中一种常用的设计方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。在划分等价类的过程中,不但要考虑有效等价类划分,同时也要考虑无效等价类划分:l有效等价类是指对软件规格说明来说,合理、有意义的输入数据所构成的集合。l无效等价类则和有效等价类相反,即不满足程序输入要求或者无效的输入数据所构成的集合。划分等价类的

4、几个原则:划分等价类的几个原则:如果规定了输入条件的取值范围或者个数,则可以确定一个有效等价类和两个无效等价类。如果规定了输入值的集合,则可以确定一个有效等价类和一个无效等价类。如果规定了输入数据的一组值,并且程序要对每一个输入值分别进行处理,则可为每一个值确定一个有效等价类,此外根据这组值确定一个无效等价类,即所有不允许的输入值的集合。如果规定了输入数据必须遵守的规则,则可以确定一个有效等价类和若干个无效等价类。如果已知的等价类中各个元素在程序中的处理方式不同,则应将该等价类进一步划分成更小的等价类。输入条件有效等价类无效等价类表3-1 等价类表在确立了等价类之后,建立等价类表,列出所有划分

5、出的等价类,如表3-1所示 在根据已列出的等价类表。按一下步骤确定测试用例:为每一个等价类规定一个唯一的编号;设计一个新的测试用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一过程,直至所有的有效等价类均被测试用例所覆盖;设计一个新的测试用例,使其仅覆盖一个无效等价类,重复这一过程,直至所有的无效等价类均被测试用例所覆盖;3.2.2 常见等价类划分形式常见等价类划分形式1.标准等价类测试标准等价类测试标准等价类测试不考虑无效数据值,测试用例使用每个等标准等价类测试不考虑无效数据值,测试用例使用每个等价类中的一个值。通常,标准等价类测试用例的数量和最大价类中的一个值。通常,标准等价类测试用

6、例的数量和最大等价类中元素的数目相等。等价类中元素的数目相等。以三角形问题为例,要求输入三个整数以三角形问题为例,要求输入三个整数a a、b b、c c,分别作为,分别作为三角形的三条边,取值范围在三角形的三条边,取值范围在1 1100100之间,判断由三条边构之间,判断由三条边构成的三角形类型为等边三角形、等腰三角形、一般三角形以成的三角形类型为等边三角形、等腰三角形、一般三角形以及不构成三角形。在多数情况下,是从输入域划分等价类,及不构成三角形。在多数情况下,是从输入域划分等价类,但对于三角形问题,从输出域来定义等价类是最简单的划分但对于三角形问题,从输出域来定义等价类是最简单的划分方法。

7、方法。因此,利用这些信息可以确定下列值域等价类:因此,利用这些信息可以确定下列值域等价类:R1=R1=a a,b b,c c:边为:边为a a,b b,c c 的等边三角形的等边三角形 R2=R2=a a,b b,c c:边为:边为a a,b b,c c 的等腰三角形的等腰三角形 R3=R3=a a,b b,c c:边为:边为a a,b b,c c 的一般三角形的一般三角形 R4=R4=a a,b b,c c:边为:边为a a,b b,c c 不能构成三角形不能构成三角形 4 4个标准等价类测试用例如表个标准等价类测试用例如表3-23-2所示。所示。测试用例abc预期输出TC1202020等边

8、三角形TC2202010等腰三角形TC35810一般三角形TC43610不构成三角形表表3-2 三角形问题的标准等价类测试用例三角形问题的标准等价类测试用例2.健壮等价类测试健壮等价类测试健壮等价类测试主要的出发点是考虑了无效等价类。出发点是考虑了无效等价类。对有效输入,测试用例从每个有效等价类中取一个值;对无效输入,一个测试用例有一个无效值,其他值均取有效值。健壮等价类测试存在两个问题:健壮等价类测试存在两个问题:o需要花费精力定义无效测试用例的期望输出;o对强类型的语言没有必要考虑无效的输入。对于上述三角形问题,取a、b、c的无效值产生了7个健壮等价类测试用例,如表3-3所示。测试用例ab

9、c预期输出TC1345一般三角形TC2-144a值超出定义域范围TC34-14b值超出定义域范围TC444-1c值超出定义域范围TC510144a值超出定义域范围TC641014b值超出定义域范围TC744101c值超出定义域范围 表表3-3 三角形问题的健壮等价类测试用例三角形问题的健壮等价类测试用例3.对等区间划分 对等区间划分是测试用例设计的非常规形式化的方法。它将被测对象的输入/输出划分成一些区间,被测软件对一个特定区间的任何值都是等价的。形成测试区间的数据不只是函数/过程的参数,也可以是程序可以访问的全局变量、系统资源等,这些变量或资源可以是以时间形式存在的数据,或以状态形式存在的输

10、入/输出序列。举例说明如下:举例说明如下:平方根函数要求当输入值为0或大于0时,返回输入数的平方根;当输入值小于0时,显示错误信息“平方根错误,输入值小于0”,并返回0。考虑平方根函数的测试用例区间,可以划分出两个输入区间和两个输出区间,如表3-4所示。输入区间输出区间=0=0BError表3-4 区间划分通过分析,可以用2个测试用例来测试4个区间:测试用例1:输入4,返回2 /区间和a测试用例2:输入-10,返回0,输出“平方根错误,输入值小于0”/区间和b 3.2.3 等价类划分法测试用例等价类划分法测试用例在某网站申请免费信箱时,要求用户必须输入用在某网站申请免费信箱时,要求用户必须输入

11、用户名、密码及确认密码,对每一项输入条件的要求户名、密码及确认密码,对每一项输入条件的要求如下:如下:用户名:用户名:要求为要求为4 4位以上,位以上,1616位以下,使用英文位以下,使用英文字母、数字、字母、数字、“-”-”、“_”_”,并且首字符必须为字,并且首字符必须为字母或数字;母或数字;密码:密码:要求为要求为6 61616位之间,只能使用英文字母、位之间,只能使用英文字母、数字以及数字以及“-”-”、“_”_”,并且区分大小写。,并且区分大小写。分析如下:分析如下:分析程序的规格说明,列出等价类表(包括有效分析程序的规格说明,列出等价类表(包括有效等价类和无效等价类),如表等价类和

12、无效等价类),如表3-53-5所示。所示。输入输入条件条件有效等价类有效等价类编编号号无效等价类无效等价类编号编号用户用户名名416位位1少于少于4位位8多于多于16位位9首字符为字母首字符为字母2首字符为除字母、数字之首字符为除字母、数字之外的其他字符外的其他字符10首字符为数字首字符为数字3英文字母、数字、英文字母、数字、“-”、“_”组合组合4组合中含有除英文字母、组合中含有除英文字母、数字、数字、“-”、“_”之外的之外的其他特殊字符其他特殊字符11密码密码616位位5少于少于6位位12多于多于16位位13英文字母、数字、英文字母、数字、“-”、“_”组合组合6组合中含有除英文字母、组

13、合中含有除英文字母、数字、数字、“-”、“_”之外的之外的其他特殊字符其他特殊字符14确认确认密码密码内容同密码相同内容同密码相同7内容同密码相同,但字母内容同密码相同,但字母大小写不同大小写不同15表表3-5 等价类表等价类表根据上述等价类表,设计测试用例如表3-6所示。测试用例测试用例用户名用户名密码密码确认密码确认密码预期输出预期输出TC1abc_2000abc_123abc_123注册成功注册成功TC22000-abc123-abc123-abc注册成功注册成功TC3abc1234567812345678提示用户名错误提示用户名错误TC4abcdefghijk1234561234567

14、812345678提示用户名错误提示用户名错误TC5_abc1231234567812345678提示用户名错误提示用户名错误TC6abc&1231234567812345678提示用户名错误提示用户名错误TC7abc_1231234512345提示密码错误提示密码错误TC8abc_123abcdefghijk123456abcdefghijk123456提示密码错误提示密码错误TC9abc_123abc&123abc&123提示密码错误提示密码错误TC10abc_123abc_123Abc_123提示密码错误提示密码错误表表3-6 测试用例测试用例3.3 边界值分析法边界值分析法3.3.1

15、边界值分析法边界值分析法边界值分析法边界值分析法(Boundary Value Analysis,BVA)是一种补充等价类划分法的测试用例设是一种补充等价类划分法的测试用例设计技术,它不是选择等价类的任意元素,而是计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试用例。在测试过程中,选择等价类边界的测试用例。在测试过程中,可能会忽略边界值的条件,大量的错误是发生可能会忽略边界值的条件,大量的错误是发生在输入或输出范围的边界上,而不是发生在输在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的

16、错误。计测试用例,可以查出更多的错误。在应用边界值分析法设计测试用例时,应遵循以下几在应用边界值分析法设计测试用例时,应遵循以下几条原则:条原则:l如果输入条件规定了值的范围,则应该选取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据。l如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少1、比最大个数多1的数作为测试数据。l根据规格说明的每一个输出条件,分别使用以上两个原则。l如果程序的规格说明给出的输入域或者输出域是有序集合(如有序表、顺序文件等),则应选取集合的第一个元素和最后一个元素作为测试用例。l如果程序中使用了一个内部数据结构,则应当选择这个内部数据

17、结构的边界值作为测试用例。l分析规格说明,找出其他可能的边界条件。3.3.2 边界条件与次边界条件边界条件与次边界条件边界值分析法边界值分析法是对输入的边界值进行测试。在测试用例设计中,需要对输入的条件进行分析并且找出其中的边界值条件,通过对这些边界值的测试来查出更多的错误。提出边界条件时,一定要测试临近边界的有效数据,测试最后一个可能有效的数据,同时测试刚超过边界的无效数据。通常通常情况下,软件测试所包含的边界检验有几种类型:情况下,软件测试所包含的边界检验有几种类型:数值、字符、位置、数量、速度、尺寸等,在设计测试用例时要考虑这些类型的特征:第一个/最后一个、开始/完成、空/满、最大值/最

18、小值、最快/最慢、最高/最低、最长/最短等。这些不是确定的列表,而是一些可能出现的边界条件。举个例子来说明一下,如表3-7所示。项项边界值边界值测试用例的设计思路测试用例的设计思路字符字符起始起始-1-1个字符个字符/结束结束+1+1个字符个字符假设一个文本输入区域要求允许输入假设一个文本输入区域要求允许输入1 1到到255255个字个字符,输入符,输入1 1个和个和255255个字符作为有效等价类;输入个字符作为有效等价类;输入0 0个和个和256256个字符作为无效等价类,这几个数值都个字符作为无效等价类,这几个数值都属于边界条件值属于边界条件值数值数值开始位开始位-1/-1/结束结束位位

19、+1+1假设软件要求输入的数据为假设软件要求输入的数据为5 5位数值,则可以使位数值,则可以使用用0000000000作为最小值和作为最小值和9999999999作为最大值,然后使作为最大值,然后使用刚好小于用刚好小于5 5位和大于位和大于5 5位的数值来作为边界条件位的数值来作为边界条件方向方向刚刚超过刚刚超过/刚刚刚刚低于低于空间空间小于空余空间一小于空余空间一点点/大于满空间大于满空间一点一点假如要做磁盘的数据存储,使用比最小剩余磁盘假如要做磁盘的数据存储,使用比最小剩余磁盘空间大一点(几空间大一点(几KBKB)的文件作为最大值的检验边)的文件作为最大值的检验边界条件界条件表表3-7 利

20、用边界值作为测试数据的例子利用边界值作为测试数据的例子项范围或值位(bit)0或1字节(byte)0255字(word)065、535(单字)或04、294、967、295(双字)千(K)1 024兆(M)1 048 576吉(G)1 073 741 824太(T)1 099 511 627 776表表3-8 计算机数值运算的范围计算机数值运算的范围l数值的边界值检验数值的边界值检验计算机是基于二进制进行工作的,因此,任何数值运算都有一定的范围限制,如表3-8所示。字符ASCII码值字符ASCII码值空(null)0A65空格(space)32a97斜杠(/)47左中括号()91048Z122

21、冒号(:)58Z9064单引号()96表3-9 字符的ASCII码对应表l字符的边界值检验字符的边界值检验在字符的编码方式中,ASCII和Unicode是比较常见的编码方式,表3-9中列出了一些简单的ASCII码对应表。l 其他边界值检验其他边界值检验 包括默认值/空值/空格/未输入值/零、无效数据/不正确数据和干扰数据等。在实际的测试用例设计中,需要将基本的软件设计要求和程序定义的要求结合起来,即结合基本边界值条件和子边界值条件来设计有效的测试用例。3.3.3边界值分析法测试用例边界值分析法测试用例 某程序要求输入三个整数某程序要求输入三个整数x、y、z,分别作为长方,分别作为长方体的长、宽

22、、高,体的长、宽、高,x、y、z的取值范围在的取值范围在220之之间,计算长方体的体积。表间,计算长方体的体积。表3-10给出了健壮性边界给出了健壮性边界值分析测试用例。值分析测试用例。测试用例测试用例xyz预期输出预期输出TC111010 x值超出范围值超出范围TC221010200TC331010300TC41010101000TC51910101900TC62010102000TC7211010 x值超出范围值超出范围TC810110y值超出范围值超出范围TC910210200TC1010310300TC111019101900TC121020102000TC13102110y值超出范围

23、值超出范围TC1410101z值超出范围值超出范围TC1510102200TC1610103300TC171010191900TC181010202000TC19101021z值超出范围值超出范围表表3-10 健壮性边界值分析测试用例健壮性边界值分析测试用例3.4 决策表法决策表法 3.4.1 决策表法的概念决策表法的概念决策表通常由四个部分组成,如图3-1所示。条件桩:条件桩:列出了问题的所有条件,通常认为列出的条件的列出了问题的所有条件,通常认为列出的条件的先后次序无关紧要。先后次序无关紧要。动作桩:动作桩:列出了问题规定的可能采取的操作,这些操作的列出了问题规定的可能采取的操作,这些操作

24、的排列顺序没有约束。排列顺序没有约束。条件项:条件项:针对条件桩给出的条件列出所有可能的取值。针对条件桩给出的条件列出所有可能的取值。动作项:动作项:与条件项紧密相关,列出在条件项的各组取值情与条件项紧密相关,列出在条件项的各组取值情况下应该采取的动作。况下应该采取的动作。图图3-1 决策表的组成决策表的组成根据软件规格说明,建立决策表的步骤如下:根据软件规格说明,建立决策表的步骤如下:l确定规则的个数。假设有确定规则的个数。假设有n n个条件,每个条件有两个取值,个条件,每个条件有两个取值,故有故有2 2n n种规则。种规则。l列出所有的条件桩和动作桩。列出所有的条件桩和动作桩。l填入条件项

25、。填入条件项。l填入动作项,得到初始决策表。填入动作项,得到初始决策表。l简化。合并相似规则(相同动作)。简化。合并相似规则(相同动作)。以下列问题为例给出构造决策表的具体过程。以下列问题为例给出构造决策表的具体过程。如果某产品销售好并且库存低,则增加该产品的生产;如果某产品销售好并且库存低,则增加该产品的生产;如果该产品销售好,但库存量不低,则继续生产;如果该产品销售好,但库存量不低,则继续生产;若该产品销售不好,但库存量低,则继续生产;若该产品销售不好,但库存量低,则继续生产;若该产品销售不好,且库存量不低,则停止生产。若该产品销售不好,且库存量不低,则停止生产。解法如下:解法如下:确定规

26、则的个数。对于本题有2个条件(销售、库存),每个条件可以有两个取值,故有22=4种规则。列出所有的条件桩和动作桩。填入条件项。填入动作项,得到初始决策表,如表3-11所示。规规则则选项选项1234条件:条件:C1:销售好:销售好?C2:库存低:库存低?TTTFFTFF动作:动作:a1:增加生产:增加生产a2:继续生产:继续生产a3:停止生产:停止生产表3-11 决策表3.4.2 决策表法的应用决策表法的应用决策表最突出的优点是决策表最突出的优点是:能够将复杂的问题按照各种可能的情况全部列举出能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用决策表能够设计来,简明并避免遗

27、漏。因此,利用决策表能够设计出完整的测试用例集合。运用决策表设计测试用例,出完整的测试用例集合。运用决策表设计测试用例,可以将条件理解为输入,将动作理解为输出。可以将条件理解为输入,将动作理解为输出。例如,某股票公司的佣金政策如下:如果一次销售额少于例如,某股票公司的佣金政策如下:如果一次销售额少于10001000元,那么基础佣金将是销售额的元,那么基础佣金将是销售额的8.4%8.4%;如果销售额至少;如果销售额至少10001000元,元,但少于但少于1000010000元,那么基础佣金将是销售额的元,那么基础佣金将是销售额的5%5%,外加,外加3434元;元;如果销售额至少如果销售额至少10

28、00010000元,那么基础佣金将是销售额的元,那么基础佣金将是销售额的4%4%,外,外加加134134元。另外销售单价和销售的份数对佣金也有影响。如果元。另外销售单价和销售的份数对佣金也有影响。如果单价低于单价低于1414元元/份,则外加基础佣金的份,则外加基础佣金的5%5%,此外若不是整百的,此外若不是整百的份数,再外加份数,再外加4%4%的基础佣金;若单价在的基础佣金;若单价在1414元元/份以上,但低于份以上,但低于2525元元/份,则加份,则加2%2%的基础佣金,若不是整百的份数,再外加的基础佣金,若不是整百的份数,再外加4%4%的基础佣金;若单价在的基础佣金;若单价在2525元元/

29、份以上,并且不是整百的份数,份以上,并且不是整百的份数,则外加则外加4%4%的基础佣金。的基础佣金。详细解析见书中所示。详细解析见书中所示。分析如下分析如下:(1)分析各输入情况,列出为输入变量销售额、单价、份分析各输入情况,列出为输入变量销售额、单价、份数划分的有效等价类。数划分的有效等价类。销售额的有效等价类:销售额的有效等价类:S1:0 Sale1000S2:1000 Sale10000S3:Sale 10000单价的有效等价类:单价的有效等价类:P1:Price14P2:14 Price25P3:Price25分数的有效等价类:分数的有效等价类:B1:整百的份数整百的份数B2:不是整百

30、的份数不是整百的份数(2)分析程序的规格说明,并结合以上等价类划分的情况,分析程序的规格说明,并结合以上等价类划分的情况,得出问题规定的可能采取的操作。考虑各种有效输入情况,得出问题规定的可能采取的操作。考虑各种有效输入情况,程序中可能采取的操作有以下程序中可能采取的操作有以下6种:种:a1:基础佣金为销售额的8.4%a2:基础佣金为销售额的5%+34元a3:基础佣金为销售额的4%+134元a4:基础佣金的5%a5:基础佣金的2%a6:基础佣金的4%(3)根据以上分析步骤,画出如下决策表:)根据以上分析步骤,画出如下决策表:根据决策表,设计以下测试用例:根据决策表,设计以下测试用例:3.5 因

31、果图法因果图法 3.5.1 因果图法的概念因果图法的概念因果图法因果图法就是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种情况的组合。在因果图中使用4种符号分别表示4种因果关系,如图3-2所示。用直线连接左右节点,其中左节点Ci表示输入状态(或称原因),右节点ei表示输出状态(或称结果)。Ci和ei都可取值0或1,0表示某状态不出现,1表示某状态出现。图3-2中各符号的含义如下:恒等恒等:若C1是1,则e1也是1,否则e1为0。非:非:若C1是1,则e1是0,否则e1为1。或:或:若C1或C2或C3是1,则e1是1,否则e1为0。与:与:若C1和C

32、2都是1,则e1是1,否则e1为0。(a)恒等 (b)非(c)或 (d)与图3-2 因果图的基本符号 在实际问题中,输入状态相互之间还可能存在某些依赖关系,我们称之为约束。例如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束,在因果图中,以特定的符号标明这些约束,如图3-3所示。对输入条件的约束有:对输入条件的约束有:oE约束(异):a和b中最多有一个可能为1,即a和b不能同时为1。oI约束(或):a、b和c中至少有一个必须是1,即a、b和c不能同时为0。oO约束(惟一):a和b中必须有一个且仅有一个为1。oR约束(要求):a是1时,b必须是1,即a是1时,b不能是0。对输出条件的

33、约束只有对输出条件的约束只有M约束。约束。oM约束(强制):若结果a是1,则结果b强制为0。(a)异 (b)或 (c)惟一(d)要求 (e)强制图3-3 约束符号 利用因果图法生成测试用例需要以下几个步骤,如图利用因果图法生成测试用例需要以下几个步骤,如图3-4所示。所示。o分析软件规格说明书中的输入输出条件,并且分析出等价类。分析规格说明中的语义的内容,通过这些语义来找出相对应的输入与输入之间,输入与输出之间的对应关系。o将对应的输入与输入之间,输入与输出之间的关系连接起来,并且将其中不可能的组合情况标注成约束或者限制条件,形成因果图。o将因果图转换成决策表。o将决策表的每一列作为依据,设计

34、测试用例。从因果图生成的测试用例中包括了所有输入数据的取TRUE与FALSE的情况,构成的测试用例数目达到最少,且测试用例数目随输入数据数目的增加而线性地增加。图3-4 因果图法示例3.5.2因果图法测试用例因果图法测试用例某软件规格说明中包含这样的要求:输入的第一个字符必须是A或B,第二个字符必须是一个数字,在此情况下进行文件的修改;但如果第一个字符不正确,则给出信息L;如果第二个字符不是数字,则给出信息M。解法如下:解法如下:(1)分析程序的规格说明,列出原因和结果。原因:C1-第一个字符是A C2-第一个字符是B C3-第二个字符是一个数字结果:e1-给出信息Le2-修改文件e3-给出信

35、息M图3-5 因果图示例(2)将原因和结果之间的因果关系用逻辑符号连接起来,得到因果图,如图3-5所示。编号为11的中间节点是导出结果的进一步原因。图3-6 具有E约束的因果图 因为C1和C2不可能同时为1,即第一个字符不可能既是A又是B,在因果图上可对其施加E约束,得到具有约束的因果图,如图3-6所示。(3)将因果图转换成决策表,如表3-14所示。规则规则选项选项12345678条件条件C111110000C211001100C31010101011111100动作动作e1000011e2101000e3010101不可能不可能11测试用例测试用例A5A#B9B?X2Y%表3-14 决策表

36、表3-15 测试用例 编号编号输入数据输入数据预期输出预期输出TC1A5修改文件修改文件TC 2A#给出信息给出信息MTC 3B9修改文件修改文件TC 4B?给出信息给出信息MTC 5X2给出信息给出信息LTC 6Y%给出信息给出信息L和信息和信息M(4)设计测试用例。表3-14中的前两种情况,因为原因1和原因2不可能同时为1,所以应排除这两种情况。根据此表,可以设计出6个测试用例,如表3-15所示。3.6实例设计实例设计本节将以成绩管理系统为例,介绍在实际项目中如何来做黑盒测试。测试用例的设计方法不是单独存在的,具体到每个测试项目里都会用到多种方法,在实际测试中,往往是综合使用各种方法才能高

37、效率、高质量的完成测试。一个好的测试策略和测试方法必将给整个测试工作带来事半功倍的效果,从而充分利用有限的人力和物力资源。在本系统中,登录窗口的界面如图3-7所示,成绩录入窗口的界面如图3-8所示。在登录窗口中不考虑身份选择情况,只验证用户名和密码以及登录、重填按钮的正确性。用户名和密码的输入条件均要求为不超过16位,可以使用汉字、英文字母和数字及各种组合。首先应用等价类划分法对用户名和密码进行等价类划分(包括有效等价类和无效等价类),如表3-16所示。图3-7 系统登录界面 图3-8 成绩录入界面 输入条件输入条件有效等价类有效等价类编号编号无效等价类无效等价类编号编号用户名用户名116位位

38、1空值空值5多于多于16位位6英文字母、数字、英文字母、数字、汉字组合汉字组合2组合中含有除英文字母、数组合中含有除英文字母、数字、汉字之外的其他字符字、汉字之外的其他字符7密码密码116位位3空值空值8多于多于16位位9英文字母、数字、英文字母、数字、汉字组合汉字组合4组合中含有除英文字母、数组合中含有除英文字母、数字、汉字之外的其他字符字、汉字之外的其他字符10表3-16 登录窗口的等价类表 登录窗口除了要验证用户名和密码的有效性,还要验证各个功能之间的正确性。因此,再应用决策表法。登录窗口对应的决策表如表3-17所示。表3-17 登录窗口的决策表 根据上述分析,可以确定测试用例如表3-1

39、8所示。成绩录入窗口的需求规格说明如下:成绩录入窗口的需求规格说明如下:界面应包括三个下拉列表,分别用于显示各学院名称各系部名称各班级名称只有选择了某一个学院后,系部列表框才为可用,列表中将显示出所选择学院对应的所有系部;同样,只有选择了某一个学院后,又选择了某一个系部,此时班级列表框才为可用,列表中将显示出所选择系部对应的所有班级。当三个选项都已经完成选择后,界面上则会显示出所选班级的名单,这时就可以录入成绩了。对于本例,可以利用决策表的方法来设计测试用例,步骤如下:1.建立决策表。建立决策表。由规格说明可以分析出,基本输入事件有:C1:选择学院C2:选择系部C3:选择班级基本输出事件有:a

40、1:显示所选班级名单a2:学院列表框可用a3:系部列表框可用a4:班级列表框可用a5:显示各学院名称a6:显示各系部名称a7:显示各班级名称a8:不能显示具体选项(如在没有选择学院的前提下,系部列表框中将不能显示所对应的具体系部)表3-19 输入和输出决策表 根据上述分析得出的输入事件、输出事件建立决策表,如根据上述分析得出的输入事件、输出事件建立决策表,如表表3-19所示。所示。表3-20成绩录入窗口测试用例 2.确定测试用例,如表3-20所示。3.7 测试方法的选择测试方法的选择为了最大程度地减少测试遗留的缺陷,同时也为了最大限度地发现存在的缺陷,在测试实施之前,测试工程师必须确定将要采用

41、的测试策略和测试方法,并以此为依据制定详细的测试方案。通常,一个好的测试策略和测试方法必将给整个测试工作带来事半功倍的效果。如何才能确定好的测试策略和测试方法呢?通常,在确如何才能确定好的测试策略和测试方法呢?通常,在确定测试方法时,应该遵循以下原则:定测试方法时,应该遵循以下原则:根据程序的重要性和一旦发生故障将造成的损失来确定测试等级和测试重点。1.认真选择测试策略,以便能尽可能少地使用测试用例,发现尽可能多的程序错误。因为一次完整的软件测试过后,如果程序中遗留的错误过多并且严重,则表明该次测试是不足的,而测试不足则意味着让用户承担隐藏错误带来的危险,但测试过度又会带来资源的浪费。因此,测

42、试需要找到一个平衡点。以下是各种测试方法选择的综合策略,可在实际应用过程中参考。l 首先进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有限测试,这是减少工作量和提高测试效率的最有效方法。l 在任何情况下都必须使用边界值分析方法。经验表明用这种方法设计出测试用例发现程序错误的能力最强。l 对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,应当再补充足够的测试用例。l 如果程序的功能说明中含有输入条件的组合情况,则应在一开始就选用因果图法。小结 测试用例的设计方法不是单独存在的,具体到每个测试项目里都会用到多种方法,每种类型的软件有各自的特点,每种测

43、试用例设计的方法也有各自的特点,针对不同软件如何利用这些黑盒方法是非常重要的,在实际测试中,往往是综合使用各种方法才能有效提高测试效率和测试覆盖度,这就需要认真掌握这些方法的原理,积累更多的测试经验,以有效提高测试水平。习题 叙述黑盒测试技术的实质及要点。常用的黑盒测试用例设计方法有哪些?各有什么优缺点?使用等价类划分法设计三角形问题的测试用例。程序要求某个输入为6位正整数,试用不同的测试方法设计所有的测试用例。测试银行提款机上的提款功能,要求用户输入的提款金额的有效数值是50-2000,并以50为最小单位(即取款金额为50的倍数),且小数点后为00,除小数点外,不可以出现数字以外的任何符号和文字。试用等价类划分法和边界值分析法设计测试用例。某程序要求输入日期,规定变量month、day、year的取值范围为:1month12,1day31,1958year2058,试用边界值分析法设计测试用例。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第3章黑盒测试及其实例设计-课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|