实验一 黑盒测试法——等价类划分法

合集下载

黑盒测试——等价类划分、边界值分析、因果图、状态图、场景、正交试验法

黑盒测试——等价类划分、边界值分析、因果图、状态图、场景、正交试验法

⿊盒测试——等价类划分、边界值分析、因果图、状态图、场景、正交试验法⿊盒测试常⽤测试⽅法的选择:1⾸先采⽤等价类划分法来编写测试⽤例2必要时采⽤边界值分析法进⾏补充测试⽤例3采⽤错误推测法再追加测试⽤例4对照程序逻辑,检查⾃⼰设计出的测试⽤例逻辑覆盖程度,若覆盖不够,则需要再补充其他的测试⽤例5如果程序功能含有输⼊条件的组合情况,应⼀开始就采⽤因果图法6如果程序某功能适合⾃动测试,可以采⽤⾃动化测试及随机测试。

什么是⿊盒测试以及优缺点?定义:⿊盒测试把测试对象看做⼀个⿊盒⼦,不⽤考虑程序内部结构和内部特性,依据程序需求规格说明书,检查程序功能是否符合功能说明。

优缺点:优:1功能性测试与软件如何实现⽆关,如果实现发⽣变化,功能性测试仍然可⽤;2测试⽤例编写与软件开发同时进⾏,节省软件开发时间3通过软件的⽤例可⽤设计出⼤部分功能性测试⽤例缺:1测试⽤例数量⼤2测试⽤例可能产⽣很多冗余3功能性测试的覆盖范围不可能达到100%⿊盒测试⽤例设计⽅法?答:1等价类划分法(有意义,合理的输⼊数据组成集合检查是否符合产品需求;⽆意义,不合理的输⼊数据组成的集合推测不符合需求的地⽅)、2边界值分析法(输⼊的边界值进⾏测试)、3因果图法(分析和表达多逻辑条件下执⾏不同操作)、4状态图法(和产品需求反着来,⽐如要求输⼊数字,就输⼊字母,要求输⼊正数,就输⼊负数等)、5场景法(利⽤图解法分析输⼊的各种组合情况,即输⼊多个条件的各种组合及输出情况之间的相互制约关系)、6正交试验法(⽐如要进⾏18次测试,最终选择具有代表性的9次进⾏试验)7其他测试⽅法有:错误推测法、通过测试与失败测试、随机测试边界值划分法:考虑的边界数据类型如数值、速度、字符、地址、位置、尺⼨、数量;以及考虑条件的等价区间:默认、空⽩、空值、零值和⽆。

还要考虑:⾮法、错误、不正确和垃圾数据。

还要测试:程序的状态及切换。

次边界条件:。

黑盒测试--等价类划分

黑盒测试--等价类划分

⿊盒测试--等价类划分1.1. 概念等价类划分法是把程序的输⼊域划分成若⼲部分(⼦集),然后从每个部分中选取少数代表性数据作为测试⽤例。

每⼀类的代表性数据在测试中的作⽤等价于这⼀类中的其他值。

1.2 等价类划分法的应⽤1 等价类是指某个输⼊域的⼦集合。

在该⼦集合中,各个输⼊数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这⼀类其它值的测试.因此,可以把全部输⼊数据合理划分为若⼲等价类,在每⼀个等价类中取⼀个数据作为测试的输⼊条件,就可以⽤少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和⽆效等价类。

有效等价类:是指对于程序的规格说明来说是合理的,有意义的输⼊数据构成的集合.利⽤有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

⽆效等价类:与有效等价类的定义恰巧相反。

设计测试⽤例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更⾼的可靠性。

2划分等价类的六⼤原则:⑴在输⼊条件规定了取值范围或值的个数的情况下,则可以确⽴⼀个有效等价类和两个⽆效等价类.例:输⼊值是学⽣成绩,范围是0~100:⑵在输⼊条件规定了输⼊值的集合或者规定了“必须如何”的条件的情况下,可确⽴⼀个有效等价类和⼀个⽆效等价类.⑶在输⼊条件是⼀个布尔量的情况下,可确定⼀个有效等价类和⼀个⽆效等价类. 布尔量是⼀个⼆值枚举类型, ⼀个布尔量具有两种状态: true 和 false 。

⑷在规定了输⼊数据的⼀组值(假定n个),并且程序要对每⼀个输⼊值分别处理的情况下,可确⽴n个有效等价类和⼀个⽆效等价类.例:输⼊条件说明输⼊字符为:中⽂、英⽂、阿拉伯⽂三种之⼀,则分别取这三种这三个值作为三个有效等价类,另外把三种字符之外的任何字符作为⽆效等价类。

⑸在规定了输⼊数据必须遵守的规则的情况下,可确⽴⼀个有效等价类(符合规则)和若⼲个⽆效等价类(从不同⾓度违反规则)⑹在确知已划分的等价类中各元素在程序处理中的⽅式不同的情况下,则应再将该等价类进⼀步的划分为更⼩的等价类3、将等价类转化成测试⽤例:按照[输⼊条件][有效等价类][⽆效等价类] 建⽴等价类表,列出所有划分出的等价类为每⼀个等价类规定⼀个唯⼀的编号.设计⼀个新的测试⽤例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这⼀步.直到所有的有效等价类都被覆盖为⽌.设计⼀个新的测试⽤例,使其仅覆盖⼀个尚未被覆盖的⽆效等价类,重复这⼀步.直到所有的⽆效等价类都被覆盖为⽌.1.3实例 +笔记笔记等价类划分3将等价类转化对于有效等价类,使其尽可能多地覆盖尚未被覆盖地有效等价类成测试⽤例使其仅覆盖⼀个尚未被覆盖的⽆效等价类2.3实例例1:⼈寿保险费率(基本保险费0.50)Xs分析: 等价类划分、边界值分析结合使⽤序号输⼊条件输⼊类型测试数据预期结果1⼩于等于0岁(<=0岁)⽆效-1警告信息235岁以下有效20计算出⽉保险费335-59岁有效51计算出⽉保险费460岁以上有效65计算出⽉保险费边界值分析法序号边界值测试数据预期结果100警告信息23535按额外保险费2.87:计算35959按额外保险费2.87:计算46060按额外保险费6.00:计算实例2免费邮箱申请:在某⽹站申请免费信箱时,要求⽤户必须输⼊⽤户名、密码及确认密码,对每⼀项输⼊条件的要求如下:⽤户名:要求为4位以上,16位以下,使⽤英⽂字母、数字、“-”、“_”,并且⾸字符必须为字母或数字;密码:要求为6~16位之间,只能使⽤英⽂字母、数字以及“-”、“_”,并且区分⼤⼩写。

网易邮箱黑盒测试实验报告

网易邮箱黑盒测试实验报告

南京信息工程大学实验(实习)报告实验(实习)名称实验一黑盒测试实验(实习)日期2014-11-21得分指导教师徐旦华系计软院专业软件工程年级班次姓名学号实验一黑盒测试(一)一、实验目的理解黑盒测试的基本方法,掌握等价分类法、边界值分析等测试用例的设计方法。

一、实验内容1.编写网易邮箱注册功能的测试用例,假设没有重复的用户名,条件如图示:要求:使用等价类划分方法和弱边界值法设计测试用例,并记录测试结果(1)等价类划分法测试用例分析有效等价类满足条件:邮箱地址:1、6~18个字符2、以字母开头密码:1、6~16个字符(区分大小写)确认密码:1、与密码相同(字母区分大小写)验证码:1、与图片相同无效等价类满足条件:邮箱地址:1、少于6个字符2、多于18个字符3、以“_”开头4、以数字开头密码:1、少于6个字符2、多于16个字符确认密码:1、不区分大小写2、与密码不一致验证码:1、不输入2、输入与图片不一致测试用例表测试用例编号输入预测结果邮箱地址密码确认密码验证码1 wbb158******** 123456 123456 pqln 注册成功2 smileday 111111 111111 sdfa 注册成功3 wu_199203 123456 123456 erqw 注册成功4 webei 111111 111111 shjd 失败5 webeib 123456 123456 asda 注册成功6 webeibe 123456 123456 dasa 注册成功7 liixiaohuishigedr 111111 111111 sfsf 注册成功8 liixiaohuishigedhr 111111 111111 dfsa 注册成功9 liixiaohuishigedhrm 111111 111111 sdfs 失败10 _smileday 123456 123456 werq 失败11 7w__b__1 123456 123456 dwe1 失败12 w__b__1 12345 12345 dfte 失败13 w__b__1 123456 123456 deff 注册成功14 w__b__1 1234567 1234567 xcxm 注册成功15 w__b__1 123456789012345 123456789012345 asds 注册成功16 w__b__1 1234567890123456 1234567890123456 dsff 注册成功17 w__b__1 12345678901234567 12345678901234567 sdfc 失败18 w__b__1 111111 123456 Srdt 失败19 w__b__1 w__b__1_01 w__b__1_01 dwfa 失败20 w__b__1 123456 123456 失败21 w__b__1 123456 123456 Wr33 注册成功随机测试用户名位数测试用户名首字符测试密码位数测试密码一致性测试验证码测试二、实验结果。

黑盒测试的设计方法

黑盒测试的设计方法

黑盒测试的设计方法黑盒测试是一种测试方法,旨在测试软件系统的功能和用户需求是否符合预期。

与白盒测试相比,黑盒测试专注于测试系统的外部行为,而不关心系统的内部实现细节。

在黑盒测试中,测试人员没有访问系统源代码的权限,只能基于软件规约和需求文档进行测试。

为了设计有效的黑盒测试用例,以下是几种常用的黑盒测试设计方法:1. 等价类划分法:等价类划分法是黑盒测试中最常用的设计方法之一。

它将输入域划分为多个等价类,每个等价类代表一组具有相同功能或行为的输入。

通过选择其中的一个或几个测试用例进行测试,可以有效地覆盖输入域的多个情况。

例如,对于一个要求输入年龄的系统,可以将年龄划分为负数、0-17岁、18-60岁和大于60岁等等等价类。

2. 边界值分析法:边界值分析法是一种特殊的等价类划分方法,它关注输入域的边界条件。

根据输入域的边界条件设计测试用例,可以更好地发现潜在的问题。

例如,对于一个要求输入1-100之间的数字的系统,边界值分析法会测试输入1和100,以确保系统在边界条件下的正常工作。

3. 因果图法:因果图法是一种图形化的设计方法,通过对系统的功能和用户需求进行建模,以便更好地理解系统的逻辑关系。

通过使用因果图,测试人员可以发现功能之间的依赖关系,从而设计测试用例。

因果图法通常用于复杂系统,可以帮助测试人员更好地理解和覆盖系统的功能。

4. 判定表法:判定表法是一种以规则和条件为基础的测试设计方法。

在判定表中,规则和条件被列举出来,并使用真值表来确定特定条件下的期望结果。

通过设计测试用例来测试不同条件的组合,可以有效地发现系统的问题。

判定表法特别适用于决策较多的系统,可以帮助测试人员设计高效的测试用例。

5. 错误推测法:错误推测法是一种基于经验的测试设计方法。

测试人员根据以往的经验和知识,推测系统中可能存在的问题,并设计测试用例来验证这些问题。

错误推测法是一种质量保证团队经常使用的方法,可以帮助捕获一些开发团队容易忽略的问题。

黑盒测试等价类划分法

黑盒测试等价类划分法

实验1、黑盒测试:等价类划分法
一、实验目的
1、掌握等价类的概念。

2、掌握等价类划分法的测试用例设计方法。

二、实验内容
对三角问题使用等价类划分的方法来设计测试用例,并执行测试,然后撰写实验报告。

三角形问题:规定输入三个整数a、b、c分别作为三边的边长构成三角形。

通过程序判定所构成的三角形的类型(等边三角形、等腰三角形、一般三角形、构不成三角形),并在屏幕上输出0<a,b,c<200输入数据时进行有效性检验。

用C或Java或其它语言写出源程序。

三、实验步骤:
①划分等价类,得到等价类表。

等价类表格式如下:
②运用弱健壮等价类测试用例设计法设计测试用例,得到测试用例表。


③执行测试,填写软件缺陷报告。

简单软件缺陷报告格式如下:。

第3章(1) 黑盒测试方法1-等价类划分法

第3章(1) 黑盒测试方法1-等价类划分法
• 如何划分?——先从程序的规格说明书中 找出各个输入条件,再为每个输入条件划 分两个或多个等价类,形成若干的互不相 交的子集。
• 举例:划分 加法器程序的等价类,给出 测试用例.程序功能计算两个1~100之间 整数的和
2、如何划分等价类-2 Logo
• 刚才给出的 测试用例 都是整数,如果输 入的是小数、字符怎么办?
2、设计测试用例的基本准则 Logo
• 测试用例的代表性
能够代表并覆盖各种合理的和不合理的、合法 的和非法的、边界的和越界的以及极限的输入数据、 操作和环境设置等。
• 测试结果的可判定性
即测试执行结果的正确性是可判定的,每一个 测试用例都应有相应的期望结果。
• 测试结果的可再现性
即对同样的测试用例,系统的执行结果应当是 相同的。
2、等价类的类型 Logo
• 有效等价类
– 对规格说明而言,有意义、合理的输入数据 所组成的集合;
– 检验程序是否实现了规格说明预先规定的功 能和性能。
• 无效等价类
– 对规格说明而言,无意义的、不合理的输入 数据所组成的集合;
– 检查被测对象的功能和性能的实现是否有不 符合规格说明要求的地方。
3、如何划分等价类-1 Logo
Logo
(3)按照数值集合划分——在输入条件规定 了输入值的集合或规定了“必须如何”的 条件下,可以确定一个有效等价类和一个 无效等价类(该集合有效值之外)。
例:程序输入用户口令的长度必须是4位 的串,可以确定一个邮箱等价类是串的长 度为4,一个无效等价类长度不为4。
Logo
(4)按照限制条件或规则划分——在规定 了输入数据必须遵守的规则或限制条件 的情况下,可确定一个有效等价类(符 合规则)和若干个无效等价类(从不同 角度违反规则)。

黑盒测试的方法

黑盒测试的方法

黑盒测试的方法黑盒测试是软件测试中的一种重要方法,它是在不考虑程序内部结构和实现细节的情况下,通过输入和输出来检查软件的功能和性能。

黑盒测试主要关注软件的功能是否符合需求,以及在各种输入条件下是否能产生正确的输出。

在进行黑盒测试时,测试人员需要根据软件的需求规格说明书和功能规格说明书,设计测试用例并进行测试,以验证软件是否符合用户需求。

下面将介绍一些常用的黑盒测试方法。

1. 等价类划分法。

等价类划分法是一种常用的黑盒测试方法,它将输入数据划分为若干个等价类,然后从每个等价类中选择一个代表性的数据进行测试。

这样可以有效地减少测试用例的数量,同时保证覆盖了各种情况。

例如,对于一个要求输入1到100之间的数字的软件,可以将输入数据划分为小于1、1到100之间、大于100这三个等价类,然后分别选择一个代表性的数据进行测试。

2. 边界值分析法。

边界值分析法是在等价类划分法的基础上,对边界值进行重点测试的一种方法。

因为通常情况下,软件在边界处容易出现错误。

例如,对于一个要求输入1到100之间的数字的软件,边界值为1和100,测试人员可以重点测试这两个边界值附近的情况,以确保软件在边界处能够正常工作。

3. 因果图法。

因果图法是一种用于描述软件功能和输入之间因果关系的图形化方法,它能够帮助测试人员理清软件功能之间的关联,从而设计出更加全面的测试用例。

通过因果图法,测试人员可以将软件的功能和输入条件进行组合,找出各种情况下的测试用例,以确保软件能够正常工作。

4. 判定表驱动法。

判定表驱动法是一种将各种输入条件和对应的输出结果进行组合的方法,通过设计判定表来指导测试用例的设计。

判定表中列出了各种输入条件和输出结果的组合情况,测试人员可以根据判定表来设计测试用例,并进行测试。

这种方法能够帮助测试人员全面地覆盖各种情况,确保软件的功能和性能都得到了验证。

总结。

在进行黑盒测试时,测试人员可以根据软件的需求规格说明书和功能规格说明书,选择合适的测试方法,并设计相应的测试用例进行测试。

黑盒测试用例设计技术--等价类划分法

黑盒测试用例设计技术--等价类划分法

⿊盒测试⽤例设计技术--等价类划分法本⽂通过案例的形式,详细讲解⿊盒测试⽤例设计技术中的等价类划分法。

等价类划分是⼀种典型的⿊盒测试⽅法,其原理是把程序的输⼊域划分成若⼲部分(⼦集),然后从每⼀个⼦集中选取少数具有代表性的数据作为测试⽤例。

通过等价类划分,可以在尽可能覆盖所有测试路径的前提下,⼤幅度减少测试⽤例的数⽬。

本⽂的主要内容有:等价类的概念介绍划分等价类的原则根据等价类设计测试⽤例的⽅法案例演⽰划分等价类等价类是指某个输⼊域的⼦集合。

在该⼦集合中,各个输⼊数据对于揭露程序中的错误都是等效的。

并合理的假设,测试某等价类的代表值就等于对这⼀类其它值的测试。

等价类划分有两种不同的情况:有效等价类:指对于程序的规格说明来说是合理的、有意义的输⼊数据构成的集合。

⽆效等价类:指对程序的规格说明是不合理的或⽆意义的输⼊数据所构成的集合。

对于具体的问题,⽆效等价类⾄少应有⼀个,也可能有多个。

在设计测试⽤例时,要同时考虑有效等价类和⽆效等价类,以此验证软件在正常操作和异常操作时是否都能正常运⾏。

确定等价类的6条原则:1、在输⼊条件规定了取值范围或取值的个数的情况下,可以确⽴⼀个有效等价类和两个⽆效等价类。

例1:输⼊值是学⽣成绩,输⼊形式为⽂本框,要求的输⼊范围是0~100有效等价类:0<=输⼊成绩<=100;⽆效等价类1:输⼊成绩<0;⽆效等价类2:输⼊成绩>1002、在输⼊条件规定了输⼊值的集合或者规定了“必须如何”的条件的情况下,可以确⽴⼀个有效等价类和⼀个⽆效等价类。

例2:输⼊值是⼈员性别,输⼊形式为⽂本框,要求输⼊的内容必须在集合{男,⼥}中有效等价类:性别=’男’ 或者 ‘⼥’⽆效等价类:性别=’⼈妖’3、在输⼊条件是⼀个布尔量的情况下,可以确⽴⼀个有效等价类和⼀个⽆效等价类。

例3:输⼊值是状态标识位“是否完成”,输⼊形式为单选下拉框,选择范围为{是,否}有效等价类:选项=’是’ 或者 ‘否’⽆效等价类:未进⾏选择操作4、在规定了输⼊数据的⼀组值(假设N个),并且程序要对每⼀个输⼊值进⾏处理的情况下,可以确⽴N个有效等价类和⼀个⽆效等价类。

实验一 黑盒测试法——等价类划分法

实验一 黑盒测试法——等价类划分法

实验一黑盒测试法——等价类划分法实验目的:1.掌握等价类划分的方法2.掌握按等价类方法设计测试用例实验内容:1、请用等价类划分法为三角形问题划分等价类,并设计相应的测试用例,测试下面三角形问题程序,找出缺陷并改正,给出缺陷报告。

#include "iostream.h"void main(){int a,b,c;cout<<"请输入三角形的三条边(界于1-100之间)"<<endl;cin>>a>>b>>c;if(a<=1||a>=100)cout<<"a的值超过允许的范围!";if(b<=1||b>=100)cout<<"b的值超过允许的范围!";if(c<=1||c>=100)cout<<"c的值超过允许的范围!";if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能构成三角形!";if(a==b&&b==c)cout<<"是等边三角形!";if(a==b||b==c||a==c)cout<<"是等边三角形!";if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";}三角形问题:划分等价类测试用例:1、覆盖有效等价类的测试用例2、覆盖无效等价类的测试用例缺陷报告:测试人修正人确认人修正日期年月日缺陷编号2用例编号 1 缺陷类型代码错误严重级别严重优先级优先缺陷状态New测试阶段单元□ 集成□系统□ 验收□ 其它()可重现性是□否BUG原因□需求分析基本设计□ 详细设计□ 设计式样理解□ 编程□数据库设计□ 环境配置□ 其它()缺陷描述输入正确的三个数,不能进行正确的判断三角形的类型预期结果是一般三角形!重现步骤备注1、在VC++6.0中运行源程序输入数据如图所示:以下部分由BUG修改人填写缺陷修改描述将以下代码if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能构成三角形!";改成if(a+b<c||a+c<b||b+c<a)cout<<"a,b,c的值不能构成三角形!";测试人修正人确认人修正日期年月日缺陷编号3 用例编号2~4 缺陷类型严重级别严重优先级优先缺陷状态New测试阶段单元□ 集成□系统□ 验收□ 其它()可重现性是□否BUG原因□需求分析基本设计□ 详细设计□ 设计式样理解□ 编程□数据库设计□ 环境配置□ 其它()缺陷描述输入正确的三个数,不能正确判断三角形的类型预期结果等腰三角形重现步骤备注在VC++6.0中运行源程序输入数据如图所以:以下部分由BUG修改人填写缺陷修改描述将以下代码:if(a==b&&b==c)cout<<"是等边三角形!";改为:if((a==b&&b!=c)||(a==c&&c!=b)||(b==c&&a!=c))cout<<"是等腰三角形!";测试人修正人确认人修正日期年月日缺陷编号 4 用例编号6~12,20~39 缺陷类型严重级别严重优先级优先缺陷状态New测试阶段单元□ 集成□系统□ 验收□ 其它()可重现性是□否BUG原因□需求分析基本设计□ 详细设计□ 设计式样理解□ 编程□数据库设计□ 环境配置□ 其它()缺陷描述输入无效数据,不能判定能否构成三角形预期结果给出提示判断是否为有效的输入重现步骤备注在VC++6.0中运行源程序输入数据如图所示:以下部分由BUG修改人填写缺陷修改描述将以下代码:if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";改为:if((a>0&&a<=100)&&(b>0&&b<=100)&&(c>0&&c<=100)){if(a!=b&&b!=c&&c!=a)cout<<"一般三角形!";}测试人修正人确认人修正日期年月日缺陷编号 5 用例编号40~45 缺陷类型严重级别严重优先级优先缺陷状态New测试阶段单元□ 集成□系统□ 验收□ 其它()可重现性是□否BUG原因□需求分析基本设计□ 详细设计□ 设计式样理解□ 编程□数据库设计□ 环境配置□ 其它()缺陷描述输入不能构成三角形的有效数据,不能判定是否为三角形预期结果不能构成三角形重现步骤备注在VC++6.0中运行源程序输入数据如图所示:以下部分由BUG修改人填写缺陷修改描述将以下代码:if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";改为:if((a>0&&a<=100)&&(b>0&&b<=100)&&(c>0&&c<=100)){if((a!=b&&b!=c&&c!=a)&&(a+b>c&&a+c>b&&b+c>a))cout<<"一般三角形!";}测试人修正人确认人修正日期年月日缺陷编号6用例编号13~19 缺陷类型严重级别严重优先级优先缺陷状态New测试阶段单元□ 集成□系统□ 验收□ 其它()可重现性是□否BUG原因□需求分析基本设计□ 详细设计□ 设计式样理解□ 编程□数据库设计□ 环境配置□ 其它()缺陷描述只输入三角形的一边或两边,程序进入等待的状态,没有提示。

实验一_黑盒测试法——等价类划分法

实验一_黑盒测试法——等价类划分法

实验一黑盒测试法——等价类划分法实验目的:1.掌握等价类划分的方法2.掌握按等价类方法设计测试用例实验内容:1、请用等价类划分法为三角形问题划分等价类,并设计相应的测试用例,测试下面三角形问题程序,找出缺陷并改正,给出缺陷报告。

#include "iostream.h"void main(){int a,b,c;cout<<"请输入三角形的三条边(界于1-100之间)"<<endl;cin>>a>>b>>c;if(a<=1||a>=100)cout<<"a的值超过允许的范围!";if(b<=1||b>=100)cout<<"b的值超过允许的范围!";if(c<=1||c>=100)cout<<"c的值超过允许的范围!";if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能构成三角形!";if(a==b&&b==c)cout<<"是等边三角形!";if(a==b||b==c||a==c)cout<<"是等边三角形!";if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";三角形问题:划分等价类测试用例:1、覆盖有效等价类的测试用例2、覆盖无效等价类的测试用例缺陷报告:预期结果是一般三角形!重现步骤备注1、在VC++6.0中运行源程序输入数据如图所示:以下部分由BUG修改人填写缺陷修改描述将以下代码if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能构成三角形!";改成if(a+b<c||a+c<b||b+c<a)cout<<"a,b,c的值不能构成三角形!";测试人修正人确认人修正日期年月日缺陷编号 3 用例编号2~4 缺陷类型严重级别严重优先级优先缺陷状态New测试阶段□√单元□集成□系统□验收□其它()可重现性□√是□否BUG原因□需求分析□√基本设计□详细设计□设计式样理解□编程□数据库设计□环境配置□其它()缺陷描述输入正确的三个数,不能正确判断三角形的类型预期结果等腰三角形重现步骤备注在VC++6.0中运行源程序输入数据如图所以:以下部分由BUG修改人填写缺陷修改描述将以下代码:if(a==b&&b==c)cout<<"是等边三角形!";改为:if((a==b&&b!=c)||(a==c&&c!=b)||(b==c&&a!=c))cout<<"是等腰三角形!";测试人修正人确认人修正日期年月日缺陷编号 4 用例编号6~12,20~39 缺陷类型严重级别严重优先级优先缺陷状态New测试阶段□√单元□集成□系统□验收□其它()可重现性□√是□否BUG原因□需求分析□√基本设计□详细设计□设计式样理解□编程□数据库设计□环境配置□其它()缺陷描述输入无效数据,不能判定能否构成三角形预期结果给出提示判断是否为有效的输入重现步骤备注在VC++6.0中运行源程序输入数据如图所示:以下部分由BUG修改人填写缺陷修改描述将以下代码:if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";改为:if((a>0&&a<=100)&&(b>0&&b<=100)&&(c>0&&c<=100)){if(a!=b&&b!=c&&c!=a)cout<<"一般三角形!";}测试人修正人确认人修正日期年月日缺陷编号 5 用例编号40~45 缺陷类型严重级别严重优先级优先缺陷状态New测试阶段□√单元□集成□系统□验收□其它()可重现性□√是□否BUG原因□需求分析□√基本设计□详细设计□设计式样理解□编程□数据库设计□环境配置□其它()缺陷描述输入不能构成三角形的有效数据,不能判定是否为三角形预期结果不能构成三角形重现步骤备注在VC++6.0中运行源程序输入数据如图所示:以下部分由BUG修改人填写缺陷修改描述将以下代码:if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";改为:if((a>0&&a<=100)&&(b>0&&b<=100)&&(c>0&&c<=100)){if((a!=b&&b!=c&&c!=a)&&(a+b>c&&a+c>b&&b+c>a))cout<<"一般三角形!";}测试人修正人确认人修正日期年月日缺陷编号 6 用例编号13~19 缺陷类型严重级别严重优先级优先缺陷状态New测试阶段□√单元□集成□系统□验收□其它()可重现性□√是□否BUG原因□需求分析□√基本设计□详细设计□设计式样理解□编程□数据库设计□环境配置□其它()缺陷描述只输入三角形的一边或两边,程序进入等待的状态,没有提示。

实验一 黑盒测试等价类划分

实验一 黑盒测试等价类划分

实验一黑盒测试——等价类划分1、实验目的(1)理解黑盒测试的内涵;(2)掌握边界值分析法中健壮性测试概念;(3)能够使用等价类设计测试用例。

2、实验预习软件的缺陷往往出现在输入变量的边界值附近,边界值分析测试的基本思想是在输入最小值、率高于最小值、最大值、略大于最大值、正常值处取输入变量。

这种方法是基于单缺陷假设,当包含无效输入值时,这种方法还包含健壮性测试内容。

3、实验内容及要求现在有一个应用于住宿管理系统的程序,其包含了用户登录、用户注册和用户结算等功能,需要对该程序使用边界值分析方法进行测试,具体测试任务主要有:(1)旅馆住宿系统用户名字段测试用例设计;(必做)(2)旅馆住宿系统用户注册测试用例设计;(必做)(3)旅馆住宿系统结算功能测试用例设计。

(选做)在任务1中,用户名限制为6~10位自然数,要求使用等价类划分方法设计测试用例。

在任务2中,用户信息主要有登录帐号(6~10位自然数)、真实姓名(大小写的英文字符)、登录密码和确认密码、出生日期(其中有效年份1900~2010)。

任务3中,旅馆房费结算有一定的规则,当游客入住后可根据房间价格、入住天数、入住人是否有会员卡等情况给予折扣结算,房费计算公式为,房费=房间单价×折扣率×入住天数。

折扣率根据住宿人住宿天数(最多30天)、是否有会员卡、入住次数(3次及以下、3次以上)和物品寄存个数的不同有所不同,体现在不同条件下对应的积分不同,10分及10分以上折扣率为7折,10分以下折扣率为9折,具体规则:要求给出所有这些任务的实验步骤以及测试用例,并给出健壮性测试结果。

4、实验总结(1) 请确定任务1和任务2的输入和输出变量。

(2) 对于任务1和任务2,在做健壮性测试用例时,其给出输入变量的无效区间。

(3) 请结合实验谈一下边界值分析测试方法的优劣。

第3章1黑盒测试方法1等价类划分法

第3章1黑盒测试方法1等价类划分法
例:程序输入x取值于一个固定的枚举类型{1,3,7,15}, 且程序 中对这4个数值分别进行了处理,则有效等价类 为x=1、x=3、 x=7、x=15,无效等价类为x≠1,3,7,15的 值的集合。
(3)按照数值集合划分——在输入条件规定了输入值的集合或规定了“ 必须如何”的条件下,可以确定一个有效等价类和一个无效等价类( 该集合有效值之外)。
(5)细分等价类——在确知已划分的等价类中 各元素在程序中的处理方式不同的情况下,则 应再将该等价类进一步划分为更小的等价类, 并建立等价类表。
例:程序输入条件为以字符‘a’开头、长度为8 的字符串,并且字符串不包含‘a’~ ‘z’之 外的其它字符,则有效等价类为满足了上述所 有条件的字符串,无效等价类为不以‘a’开 头的字符串、长度不为8的字符串和包含了 ‘a’~ ‘z’之外其它字符的字符串。
小数(4)
非数值
字母(5) 特殊字符(6) 空格(7)
空白(8)
3、等价类划分步骤
(1)先考虑输入数据的类型(合法型和非法型) (2)再考虑数据范围(合法型中的合法区间和非法区间) (3)画出示意图,区分等价类 (4)为每一个等价类编号。 (5)考虑输出,进行补充
4、等价类的划分原则
(1)按照区间划分——在输入条件规定了 取值范围或值的个数的情况下,可以确定 一个有效等价类和两个无效等价类。
练习3:NextDate函数
NextDate函数有三个变量 month,day,year的函数,输出为输 入日期下一天的日期。如:输入为 2007年7月19日,输出为2007年7月 20日。要求三个变量都为整数,且 满足:
条件1:1 ≤month ≤12 条件2:1 ≤day ≤31 条件3:1912 ≤year ≤2050

黑盒测试-等价类

黑盒测试-等价类

• (需求规格说明):……学生选课允许2门至4门”……
2.按数值集合划分:输入条件规来自了输入值的集 输入条件规定了输入值的集 或是规定了“必须如何”的条件,则可确定 合,或是规定了“必须如何”的条件 一个有效等价类和一个无效等价类。
例:
– “标识符以字母开头”
• 有效等价类: 以字母开头的字符串M135 • 无效等价类: 以非字母开头的字符串135
e«x2«g, 区间 <=e, [e, f),
[f, g],
>=g
x2
g
f
e x1 a b c d
a«x1«d, 区间 [a, b), [b, c), [c, d] e«x2«g, 区间 [e, f), [f, g]
小节
• 弱一般等价类 – 弱:基于单缺陷假设; 基于单缺陷假设; – 一般:只考虑有效值。 一般:只考虑有效值。 • 强一般等价类 – 强:考虑多缺陷(笛卡儿积) 考虑多缺陷(笛卡儿积) – 一般:只考虑有效值。 一般:只考虑有效值。 • 弱健壮等价类 – 弱:基于单缺陷假设; 基于单缺陷假设; – 健壮:(有效值的前提下)考虑无效值。 健壮:(有效值的前提下)考虑无效值。 :(有效值的前提下 • 强健壮等价类 – 强:考虑多缺陷(笛卡儿积); 考虑多缺陷(笛卡儿积); – 健壮: (有效值的前提下)考虑无效值。 健壮: 有效值的前提下)考虑无效值。
x2
g
f
e x1 a b c d
a«x1«d, 区间 [a, b), [b, c), [c, d] e«x2«g, 区间 [e, f), [f, g]
强健壮等价类(补充)
• 基于多缺陷假设,从所有等价类的笛卡尔积的每 一个元素(包括无效值)中获得测试用例。

黑盒测试《等价类划分》-有这篇就够了

黑盒测试《等价类划分》-有这篇就够了

⿊盒测试《等价类划分》-有这篇就够了⼤家好,我是吉提。

在疫情消停不下来的2020年,既然不好跳槽,不好涨薪,也不好发挥创造⼒,那么就沉下⼼来,跟我⼀起,巩固软件测试基础知识。

积攒⼒量,蓄势待发。

本⽂将会详细描述“等价类划分",它是⿊盒测试最基本的⽤例设计⽅法。

⽬录:1. 定义(What)2. 为什么使⽤该⽅法?(Why)3. 如何划分等价类?(How)4. 设计测试⽤例5. 使⽤场景6. 根据测试⽤例的完整性划分7. 等价类划分注意事项8. 等价类划分的优缺点9. 实战演练1. 定义(What)等价类划分法是⼀种典型的,并且是最基础的⿊盒测试⽤例设计⽅法。

采⽤等价类划分法时,完全不⽤考虑程序内部结构,设计测试⽤例的唯⼀依据是软件需求规格说明书。

所谓等价类,是输⼊条件的⼀个⼦集合,该输⼊集合中的数据对于揭⽰程序中的错误是等价的。

从每⼀个⼦集中选取少数具有代表性的数据,从⽽⽣成测试⽤例。

等价类⼜分为有效等价类和⽆效等价类。

有效等价类代表对程序有效的输⼊,⽽⽆效等价类则是其他任何可能的输⼊(即不正确的输⼊值)。

有效等价类和⽆效等价类都是使⽤等价类划分法设计⽤例时所必须的,因为被测程序若是正确的,就应该既能接受有效的输⼊,也能接受⽆效输⼊的考验。

2. 为什么使⽤该⽅法?(Why)理想的测试,是从所有可能的输⼊中找出某个⼩的⼦集,并且是可能发现错误最多的⼦集。

即:使⽤最少的测试数据,达到最好的测试质量(最⾼性价⽐)。

这个⼦集如何确定?可以借助测试⽤例的两个特性:测试⽤例数量达到最少;某个测试⽤例要能覆盖⼤部分其他测试⽤例。

第⼆个特性就暗⽰我们,应该尽量将程序输⼊范围进⾏划分,将其划分为有限数量的等价类,这样就可以合理地假设测试每个等价类的代表性数据等同于测试该类的其他任何数据。

这两种特性形成了称为等价类划分的⿊盒测试⽅法。

因此,等价类划分是⿊盒测试最基本的⽅法。

3. 如何划分等价类?(How)在给定了输⼊或外部条件之后,等价类的划分原则如下:如果输⼊条件规定了⼀个取值范围(例如,“数量可以是1到999”),那么就应确定出⼀个有效等价类(1<数量<999),以及两个⽆效等价类(数量<1,数量>999)。

黑盒测试技术1-等价类划分法

黑盒测试技术1-等价类划分法
– 有效等价类:x=1、x=3、x=7、x=15; – 无效等价类:x≠1,3,7,15的值的集合
如何划分等价类?
(3) 按单边区间划分
如果输入条件规定了输入值的集合,这时可确立一个有效 等价类和一个无效等价类。
•例如:规定淘宝卖家,上传的图片大小要小于120KB – 有效等价类:≤ 120KB – 无效等价类: > 120KB
等价类
输入
有效等价类 合理的、有意义的
无效等价类 无合理的、无意义的
关注点 功能和性能 异常处理
有效等价类与无效等价类
设计测试用例时,要同时考虑有效等价类 和无效等价类的设计。软件不能只接收合 理的数据,还要经受意外的考验,接受无 效的或不合理的数据,这样软件才能具有 较高的可靠性。
等价类划分法
ห้องสมุดไป่ตู้
1000
9999
无效等价类
有效等价类
无效等价类
如何划分等价类?
(2) 按不同取值划分
如果规定了输入数据的一组值(假定n个),且程序要对 每一个输入值分别进行处理的情况下,可确定 n 个有效等价 类(每个值确定一个有效等价类)和一个无效等价类(所有不 允许的输入值的集合)。
• 例如,程序输入x取值于一个固定的枚举类型{1,3,7,15}, 且程序中对这4个数值分别进行了处理。
如何划分等价类?
(4) 按限制条件或规则划分
如果规定了输入数据必须遵守的规则或限制条件,可确定 一个有效等价类(符合规则)和若干个无效等价类(从不同角 度违反规则)。
•例如:规定必须输入非0的正整数。 – 有效等价类:非0的正整数 – 无效等价类:至少每个规则对应一个无效等价类,即0、 字符串、负数、小数,甚至可挖掘出输入为空的隐含等价 类。

等价划分类实验报告

等价划分类实验报告

一、实验目的1. 理解等价划分类的概念和原理。

2. 掌握等价划分类在黑盒测试中的应用。

3. 学会使用等价划分类方法设计测试用例。

二、实验内容本次实验以一个简单的学生信息管理系统为例,通过等价划分类方法设计测试用例,并验证系统功能。

三、实验步骤1. 分析系统需求学生信息管理系统主要功能包括:学生信息录入、查询、修改和删除。

其中,学生信息包括姓名、学号、性别、年龄、班级等。

2. 划分等价类(1)有效等价类:姓名:姓名为空、姓名过长、姓名符合规范。

学号:学号为空、学号过长、学号符合规范。

性别:性别为空、性别输入不正确、性别输入正确(男、女)。

年龄:年龄为空、年龄输入不正确、年龄输入正确(整数)。

班级:班级为空、班级过长、班级符合规范。

(2)无效等价类:姓名:姓名为数字、姓名包含特殊字符。

学号:学号包含字母、学号包含特殊字符。

性别:性别为数字、性别包含特殊字符。

年龄:年龄为负数、年龄为小数。

班级:班级包含数字、班级包含特殊字符。

3. 设计测试用例根据等价划分类方法,设计以下测试用例:(1)有效等价类测试用例:用例1:姓名为“张三”,学号为“******”,性别为“男”,年龄为“20”,班级为“A班”。

用例2:姓名为“李四”,学号为“******”,性别为“女”,年龄为“21”,班级为“B班”。

(2)无效等价类测试用例:用例3:姓名为“123”,学号为“abcdef”,性别为“123”,年龄为“-1”,班级为“ABC”。

4. 执行测试按照设计的测试用例,对系统进行测试。

测试过程中,重点关注以下方面:(1)功能测试:验证系统各项功能是否正常。

(2)界面测试:检查界面布局、样式等是否符合设计要求。

(3)性能测试:测试系统响应速度、资源占用等性能指标。

5. 分析测试结果(1)用例1、用例2测试通过,说明系统对学生信息录入、查询、修改和删除功能的支持正常。

(2)用例3测试失败,说明系统在处理无效输入时存在缺陷。

四、实验总结通过本次实验,我们了解了等价划分类的概念和原理,掌握了在黑盒测试中应用等价划分类方法设计测试用例的技巧。

实验一黑盒测试法等价类划分法

实验一黑盒测试法等价类划分法

实验一黑盒测试法——等价类划分法实验目的:1.掌握等价类划分的方法2.掌握按等价类方法设计测试用例实验内容:1、请用等价类划分法为三角形问题划分等价类,并设计相应的测试用例,测试下面三角形问题程序,找出缺陷并改正,给出缺陷报告。

#include "iostream.h"void main(){int a,b,c;cout<<"请输入三角形的三条边(界于1-100之间)"<<endl;cin>>a>>b>>c;if(a<=1||a>=100)cout<<"a的值超过允许的范围!";if(b<=1||b>=100)cout<<"b的值超过允许的范围!";if(c<=1||c>=100)cout<<"c的值超过允许的范围!";if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能构成三角形!";if(a==b&&b==c)cout<<"是等边三角形!";if(a==b||b==c||a==c)cout<<"是等边三角形!";if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";三角形问题:划分等价类测试用例:1、覆盖有效等价类的测试用例2、覆盖无效等价类的测试用例缺陷报告:输入数据如图所示:以下部分由BUG修改人填写输入数据如图所以:以下部分由BUG修改人填写以下部分由BUG修改人填写以下部分由BUG修改人填写以下部分由BUG修改人填写2、某城市电话号码由三部分组成,分别是:1)地区码:以0开头的三位或者四位数字(包括0);2)电话号码:以非0、非1开头的七位或者八位数字。

黑盒测试——等价类划分法

黑盒测试——等价类划分法

实验二: 黑盒测试——等价类划分法【实验环境】Windows 10 操作系统,C,C++,C#、Java或Python语言开发环境(IDE)。

【实验类型】设计型【实验目的】1.认识黑盒测试方法中等价类划分测试方法原理2.掌握黑盒测试方法中等价类划分测试方法过程【实验内容】【实验材料】1.三角形问题问题描述:三角形问题接受三个整数,a、b和c作为输入,用作三角形的边。

程序的输出是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形或非三角形。

作为输入:三角形的三条边必须满足如下条件:C1:1<=a<=100C2:1<=b<=100C3:1<=c<=100C4:a<b+cC5:b<a+cC6:c<a+b2.NextDate函数问题描述:NextDate是一个由三个变量(月份、日期和年份)的函数。

函数返回输入日期后边的那个日期。

作为输入:变量月份、日期和年都具有整数值,满足以下条件。

C1:1<=月份<=12C2:1<=日期<=31C3:1912<=年<=20503.佣金问题问题描述:前亚利桑那洲境内的一位步枪销售商销售密苏里州制造商制造的步枪机(lock)、枪托(stock)和枪管(barrel)。

枪机卖45美元,枪托卖30美元,枪管卖25美元。

销售商每月至少要售出一支完整的步枪,且生产限额是大多数销售商在一个月内可销售70个枪机、80个枪托和90个枪管。

每访问一个镇子后,销售商都给密苏里州步枪制造商发出一份很短的电报,通知几个枪机被售出。

这样步枪制造商就知道当月的销售情况,并计算销售商的佣金如下:不到(含)1000美元的部分为10%;1000(不含)~1800(含)美元的部分为15%;超过1800美元的部分为20%。

佣金程序生成月份销售报告,汇总售出的枪机、枪托和枪管总数,销售商的总销售额以及佣金。

黑盒测试等价类划分法例题

黑盒测试等价类划分法例题

黑盒测试等价类划分法例题黑盒测试,这个名字一听就挺神秘的对吧?大家都知道“黑盒”是指你根本看不见内部结构的那种东西,就像是把所有细节都藏在盒子里,只能看见输入和输出。

这个测试方法,就是通过输入不同的值,看程序是怎么响应的。

所以说,黑盒测试的本质就是“你能看到的只是表面”。

咱们今天来聊聊一种常用的黑盒测试方法——等价类划分法。

听名字可能有点绕口,但其实就像“种瓜得瓜,种豆得豆”一样,简单得很,没啥难度。

说到等价类划分法,首先要知道啥是“等价类”。

嗯,假如你做了一个程序,它接受的输入是一个整数,那么这时候输入就可以分成几类。

比如,程序可能要求你输入一个正整数、负整数,或者是0。

每一类的数值就代表一个“等价类”。

这下明白了吧?就像是你把水果分了几个篮子,每个篮子里装的水果都差不多,代表着相似的测试场景。

咱们先举个简单的例子,想象一下你在考试的时候,试卷上有一道题:给定一个数,判断它是不是大于100。

好,题目很简单,你就得把所有输入的情况分类。

比如,所有大于100的数可以算作一类;小于等于100的数又是一类。

你可能会想,嘿,这么简单的题,不就是分成两类就行了吗?没错,这两类就是两个等价类!至于哪些数属于哪一类,不用你烦脑子去琢磨。

就根据规则,哪些属于大于100,哪些属于小于等于100,随便挑几个数进行测试就够了。

这样一来,能大大减少测试的复杂性,不用每个数都亲自试一遍。

好了,接着说,如果你面对的是更复杂的情况呢?比如程序要求你输入一个年龄,范围是0到120岁之间的整数。

那么这时候,我们怎么把这些输入分成等价类呢?嘿,别急,这还简单。

你可以把它划分成几个区间:比如0到120岁之间是有效输入,再往外的就是无效输入,像负数或者大于120的数就都不行。

而在有效输入里,还能继续细分成几个类,比如0到18岁算一类,19到60岁算一类,60岁以上又是一类。

你看,这样是不是就把一个复杂的测试情况给划分得井井有条了?只要在每一类里选一个代表性的数字来做测试,覆盖的面就非常广了,既高效又全面。

黑盒测试实验原理

黑盒测试实验原理

黑盒测试实验原理一、概述黑盒测试是软件测试中的一种测试方法,它不考虑被测系统内部的实现细节,只关注输入和输出之间的关系。

黑盒测试主要用于验证系统是否符合需求规格说明书或其他规范性文档中所描述的功能和性能要求。

二、黑盒测试的分类1. 等价类划分法:将输入值划分为若干个等价类,每个等价类内的输入值具有相同的特征,从而减少测试用例数量。

2. 边界值分析法:在等价类划分法基础上,特别关注边界情况,这些情况往往容易引起程序错误。

3. 决策表法:将复杂的逻辑关系转化为决策表,对每一种可能情况都编写一个测试用例。

4. 因果图法:通过绘制因果图来描述系统中各个元素之间的关系,并根据因果图生成相应的测试用例。

三、黑盒测试实验步骤1. 确定被测软件功能和性能要求;2. 根据被测软件功能和性能要求设计测试用例;3. 编写测试用例并进行执行;4. 分析执行结果并记录问题;5. 对问题进行修复并重新执行测试用例;6. 重复执行步骤4和5,直至所有问题被解决。

四、黑盒测试实验工具1. JUnit:Java语言的单元测试框架,可以用于黑盒测试;2. Selenium:Web自动化测试工具,可以模拟用户在浏览器中的操作;3. LoadRunner:性能测试工具,可以模拟多种负载情况下的系统表现。

五、黑盒测试实验注意事项1. 确定被测软件的边界条件和特殊情况;2. 尽可能覆盖所有可能出现的输入组合;3. 避免过度依赖于手动测试,应使用自动化测试工具提高效率和准确性;4. 定期检查和更新测试用例,保证其与被测软件一致。

六、总结黑盒测试是一种有效的软件测试方法,它能够验证系统是否符合规范性文档中所描述的功能和性能要求。

在进行黑盒测试时需要注意分类方法、实验步骤、工具选择和注意事项等方面。

通过合理地设计和执行黑盒测试可以提高软件质量并降低维护成本。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一黑盒测试法——等价类划分法实验目的:1.掌握等价类划分的方法2.掌握按等价类方法设计测试用例实验内容:1、请用等价类划分法为三角形问题划分等价类,并设计相应的测试用例,测试下面三角形问题程序,找出缺陷并改正,给出缺陷报告。

#include "iostream.h"void main(){int a,b,c;cout<<"请输入三角形的三条边(界于1-100之间)"<<endl;cin>>a>>b>>c;if(a<=1||a>=100)cout<<"a的值超过允许的范围!";if(b<=1||b>=100)cout<<"b的值超过允许的范围!";if(c<=1||c>=100)cout<<"c的值超过允许的范围!";if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能构成三角形!";if(a==b&&b==c)cout<<"是等边三角形!";if(a==b||b==c||a==c)cout<<"是等边三角形!";if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";三角形问题:划分等价类测试用例:1、覆盖有效等价类的测试用例2、覆盖无效等价类的测试用例缺陷报告:预期结果是一般三角形!重现步骤备注1、在VC++6.0中运行源程序输入数据如图所示:以下部分由BUG修改人填写缺陷修改描述将以下代码if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c的值不能构成三角形!";改成if(a+b<c||a+c<b||b+c<a)cout<<"a,b,c的值不能构成三角形!";测试人修正人确认人修正日期年月日缺陷编号 3 用例编号2~4 缺陷类型严重级别严重优先级优先缺陷状态New测试阶段□√单元□集成□系统□验收□其它()可重现性□√是□否BUG原因□需求分析□√基本设计□详细设计□设计式样理解□编程□数据库设计□环境配置□其它()缺陷描述输入正确的三个数,不能正确判断三角形的类型预期结果等腰三角形重现步骤备注在VC++6.0中运行源程序输入数据如图所以:以下部分由BUG修改人填写缺陷修改描述将以下代码:if(a==b&&b==c)cout<<"是等边三角形!";改为:if((a==b&&b!=c)||(a==c&&c!=b)||(b==c&&a!=c))cout<<"是等腰三角形!";测试人修正人确认人修正日期年月日缺陷编号 4 用例编号6~12,20~39 缺陷类型严重级别严重优先级优先缺陷状态New测试阶段□√单元□集成□系统□验收□其它()可重现性□√是□否BUG原因□需求分析□√基本设计□详细设计□设计式样理解□编程□数据库设计□环境配置□其它()缺陷描述输入无效数据,不能判定能否构成三角形预期结果给出提示判断是否为有效的输入重现步骤备注在VC++6.0中运行源程序输入数据如图所示:以下部分由BUG修改人填写缺陷修改描述将以下代码:if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";改为:if((a>0&&a<=100)&&(b>0&&b<=100)&&(c>0&&c<=100)){if(a!=b&&b!=c&&c!=a)cout<<"一般三角形!";}测试人修正人确认人修正日期年月日缺陷编号 5 用例编号40~45 缺陷类型严重级别严重优先级优先缺陷状态New测试阶段□√单元□集成□系统□验收□其它()可重现性□√是□否BUG原因□需求分析□√基本设计□详细设计□设计式样理解□编程□数据库设计□环境配置□其它()缺陷描述输入不能构成三角形的有效数据,不能判定是否为三角形预期结果不能构成三角形重现步骤备注在VC++6.0中运行源程序输入数据如图所示:以下部分由BUG修改人填写缺陷修改描述将以下代码:if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!";改为:if((a>0&&a<=100)&&(b>0&&b<=100)&&(c>0&&c<=100)){if((a!=b&&b!=c&&c!=a)&&(a+b>c&&a+c>b&&b+c>a))cout<<"一般三角形!";}测试人修正人确认人修正日期年月日缺陷编号 6 用例编号13~19 缺陷类型严重级别严重优先级优先缺陷状态New测试阶段□√单元□集成□系统□验收□其它()可重现性□√是□否BUG原因□需求分析□√基本设计□详细设计□设计式样理解□编程□数据库设计□环境配置□其它()缺陷描述只输入三角形的一边或两边,程序进入等待的状态,没有提示。

预期结果给出提示判断是否为有效的输入重现步骤备注在VC++6.0中运行源程序输入数据如图所示:以下部分由BUG修改人填写缺陷修改描述测试人修正人确认人修正日期年月日2、某城市电话号码由三部分组成,分别是:1)地区码:以0开头的三位或者四位数字(包括0);2)电话号码:以非0、非1开头的七位或者八位数字。

假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。

要求:(1)请选择适当的黑盒测试方法,写出选择该方法的原因,并使用该方法的步骤,给出测试用例表。

(2)如果所生成的测试用例不够全面,请考虑用别的测试方法生成一些补充的测试用例。

解:(1)采用等阶类划分法,因为等阶类划分把输入域分成若干部分,然后从每个部分选取少数代表性的数据当做测试用例。

(2)步骤:划分等阶类,列出等阶类表,确定测试用例。

等价类表:测试用例表:3、请尝试编写NextDate函数,考虑闰年,2月等特殊情况,并划分等价类,按强一般等价类划分法设计测试用例,并进行测试,要求给出部分测试用例截图,撰写测试报告(模版见附录3)。

测试报告一、实验目的1.掌握等价类划分的方法2.掌握按等价类方法设计测试用例二、实验内容2.1实验问题描述:请尝试编写NextDate函数,考虑闰年,2月等特殊情况,并划分等价类,按强一般等价类划分法设计测试用例,并进行测试,要求给出部分测试用例截图2.2测试环境与配置:在xp系统下运行VC++6.0的Win32控制台应用程序,执行c++源程序。

2.3源程序:2.1测试程序源代码#include <iostream>using namespace std;void NextDate(int year,int month,int day);void main(){int year=0,month=0,day=0;NextDate(year,month,day);}void NextDate(int year,int month,int day){cout<<"请输入年份:"<<endl;cin>>year;while(!(year>=1811 && year<=2013)){cout<<"年份超过界限,请重新输入"<<endl;cin>>year;}cout<<"请输入月份:"<<endl;cin>>month;while (month>12||month<1){cout<<"月份输入有误,请重新输入"<<endl;cin>>month;}cout<<"请输入日期:"<<endl;cin>>day;while (day>31||day<1){cout<<"日期输入有误,请重新输入"<<endl;cin>>day;}if((year%4==0 && year%100!=0) || (year%400==0)) //检查闰年;{int i=0;i=day-29;while(month==2&&i>0){cout<<"本月是闰月,请在1-29之间从新输入日期"<<endl;cin>>day;}if(month==2&&day==29){month=3;day=1;}else day++;}else day++;//月底计算;switch(month){case 1:case 3:case 5:case 7:case 8:case 10:if (day==32){month++;day=1;cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}break;case 2:if(day==29){month=3;day=1;}break;case 4:case 6:case 9:case 11:if(day==31){month++;day=1;cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}break;case 12:if(day==32){year++;month=1;day=1;cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}break;}cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}2..4程序思路说明:1、判断输入年是否在1812——2012范围内。

相关文档
最新文档