三角形等价类划分法设计测试用例
大连东软信息学院软件测试黑盒测试方法习题及答案讲解
![大连东软信息学院软件测试黑盒测试方法习题及答案讲解](https://img.taocdn.com/s3/m/998eb996b8d528ea81c758f5f61fb7360b4c2b86.png)
⼤连东软信息学院软件测试⿊盒测试⽅法习题及答案讲解/1.现有⼀个⼩程序,能够求出三个在-10000到+10000间整数中的最⼤者,程序界⾯如图所⽰,⽤等价类划分法设计测试⽤例。
答案:(1)进⾏等价类划分,如下:(3)根据等价类表设计测试⽤例,如下表所⽰。
分数:10题型:解答题操作题类型:Word难度:32. NextDate函数有三个变量month,day,year的函数,输出为输⼊⽇期下⼀天的⽇期。
如:输⼊为2007年7⽉19⽇,输出为2007年7⽉20⽇。
要求三个变量都为整数,且满⾜:条件1:1 ≤month ≤12条件2:1 ≤day ≤31条件3:1912 ≤year ≤2050⽤等价类划分法设计NextDate函数的弱健壮等价类测试⽤例。
答案: NextDate函数的弱健壮等价类测试⽤例如下表所⽰。
3.⼀个程序根据输⼊三个整数作为三边的边长,判断所构成的三⾓形。
当此三⾓形为⼀般三⾓形、等腰三⾓形、等边三⾓形时,分别作计算。
⽤等价类划分⽅法为该程序设计测试⽤例。
答案:率其中,保险费率依点数不同⽽有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;⽽点数⼜是由投保⼈的年龄、性别、婚姻状况和抚养⼈数来决答案:(1)分析程序规格说明中给出和隐含的对输⼊条件的要求,列出等价类表(包5.某城市的电话号码由三部分组成。
这三部分的名称和内容分别是:地区码:空⽩或三位数字;前缀:⾮’0’或’1’开头的三位数;后缀:四位数字。
假定被调试的程序能接受⼀切符合上述规定的电话号码,拒绝所有不符合规定的号码,⽤等价分类法来设计它的测试⽤例。
答案:划分等价类,包括4个有效等价类,11个⽆效等价类。
6.针对以下问题:某⼀种8位计算机,其⼗六进制常数的定义是以0x或0X开头的⼗六进制整数,其取值范围为-7f~7f(不区分⼤⼩写字母),如0x13、0x6A、-0x3c。
请采⽤等价类划分的⽅法设计测试⽤例。
软件工程大题目
![软件工程大题目](https://img.taocdn.com/s3/m/64571fbe172ded630b1cb6e3.png)
一、等价类划分1.某程序规定:"输入三个整数 a 、 b 、 c 分别作为三边的边长构成三角形。
通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。
用等价类划分方法为该程序进行测试用例设计。
(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。
)分析题目中给出和隐含的对输入条件的要求:(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:1)如果不满足条件(5),则程序输出为 " 非三角形 " 。
2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。
3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。
4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。
列出等价类表并编号覆盖有效等价类的测试用例:a b c 覆盖等价类号码3 4 5 (1)--(7)4 45 (1)--(7),(8)4 5 5 (1)--(7),(9)5 4 5 (1)--(7),(10)4 4 4 (1)--(7),(11)覆盖无效等价类的测试用例:二、结构化语言判定表某厂对部分职工重新分配工作的政策是:年龄在伙岁以下者,初中文化程度脱产学习。
高中文化程度当电工;年龄在20岁到40岁之间者,中学中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员。
年龄在40岁以上者,中学文化程度当材料员,大学文化程序当技术员。
请用结构化语言、判定表或判定树描述上述问题的加工逻辑。
(1)结构化语言:根据职工年龄和文化程序:REPEATIf 年龄<=20If 初中文化Then 脱产学习endifelse if 高中文化Then 电工endifendifIf 20<年龄<40If 中学文化If 男性Then 钳工Else车工Endifelse if 大学文化Then 技术员 endifendifendifIf 年龄>=40If 中学文化Then 材料员else if 大学文化Then 技术员 endifendifendifUntil 没有剩余未分配员工判定表三、因果图以中国象棋中马的走法为例子,具体说明:1、如果落点在棋盘外,则不移动棋子;2、如果落点与起点不构成日字型,则不移动棋子;3、如果落点处有自己方棋子,则不移动棋子;4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;5、如果不属于1-4条,且落点处无棋子,则移动棋子;6、如果不属于1-4条,且落点处为对方棋子 (非老将) ,则移动棋子并除去对方棋子;7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
测试三角形类型的测试用例
![测试三角形类型的测试用例](https://img.taocdn.com/s3/m/58decb421fb91a37f111f18583d049649b660e9a.png)
测试三角形类型的测试用例
下面给出测试三角形类型的测试用例,分为以下四类:
1. 边长无效的三角形测试用例
- 输入三条边长度分别为0,0,0的三角形,应该提示“长度无效”。
- 输入两条边长度之和小于第三条边的三角形,例如3,4,8,应该提示“不能构成三角形”。
- 输入边长为负数的三角形,例如2,-3,4,应该提示“长度无效”。
2. 等边三角形测试用例
- 输入边长都为5的三角形,应该返回“等边三角形”。
- 输入边长都为2.5的三角形,不是等边三角形,应该返回“非等边三角形”。
3. 等腰三角形测试用例
- 输入边长分别为3,4,4的三角形,应该返回“等腰三角形”。
- 输入边长分别为2.5,3,4的三角形,应该返回“非等腰三角形”。
4. 直角三角形测试用例
- 输入边长分别为3,4,5的三角形,应该返回“直角三角形”。
- 输入边长分别为2.5,3,4的三角形,应该返回“非直角三角形”。
以上是测试三角形类型的测试用例,可以按照以上用例进行测试,以确保代码能够正确地识别各种类型的三角形,并作出正确的输出。
三个数能否组成三角形编写测试用例
![三个数能否组成三角形编写测试用例](https://img.taocdn.com/s3/m/5f46606042323968011ca300a6c30c225801f053.png)
三个数能否组成三角形编写测试用例下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!验证三个数能否组成三角形的测试用例编写方法引言在数学和计算机科学中,验证三个数能否组成三角形是一个经典的问题。
三角形问题- 等价类法(实验报告)2011-9-27
![三角形问题- 等价类法(实验报告)2011-9-27](https://img.taocdn.com/s3/m/2257720f79563c1ec5da71f7.png)
一、实验环境Visual C++ 6.0软件环境二、实验原理软件测试是通过运行所开发的软件产品,识别和控制软件缺陷,以验证和确认用户需求已得到满足的过程。
三、给出三角形等价类表和测试用例表?三角形问题:输入三个整数a、b、c分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形)以及构不成三角形。
现在要求输入三个整数a、b、c,必须满足以下条件:条件1 1≤a≤100 条件4 a≤b+c条件2 1≤b≤100 条件5 b≤a+c条件3 1≤c≤100 条件6 c≤a+b解:(开发程序清单)#include <iostream.h>int i = 0;void main(void){while(i==0){int a,b,c;cout<<"请输入3个整数:"<<endl;cin>>a>>b>>c;if(!(a+b<=c||a+c<=b|| b+c<=a)&&(a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100)) {if (a==b && a==c) cout<<"等边三角形"<<endl;else if (a==b || a==c || b==c) cout<<"等腰三角形"<<endl;else cout<<"一般三角形"<<endl;}else {if(a<1||a>100) cout<<"a="<<a<<"不满足条件1,不能构成三角形"<<endl;else if(b<1||b>100) cout<<"b="<<b<<"不满足条件2,不能构成三角形"<<endl;else if(c<1||c>100) cout<<"c="<<c<<"不满足条件3,不能构成三角形"<<endl;else if(a>=b+c) cout<<"不满足a<b+c,不能构成三角形"<<endl;else if(b>=a+c) cout<<"不满足b<a+c,不能构成三角形"<<endl;else if(c>=b+a) cout<<"不满足c<a+b,不能构成三角形"<<endl;}}}四、测试用例等价类表测试用例表五、测试结果六、心得体会这次实验题目是三角形问题,其实用C++编程并不难,因为以前都做过,主要是测试。
黑盒测试试题及答案
![黑盒测试试题及答案](https://img.taocdn.com/s3/m/45ba0978ddccda38376bafb4.png)
1:程序规定;输入三个整数作为三边的边长构成三角形。
当此三角形为一般三角形、等腰三角形、等边三角形时,分别作计算。
用等价类划分方法为该程序进行测试用例设计。
2:现有一个学生标准化考试批阅试卷,产生成绩报告的程序。
其规格说明如下:程序的输入文件由一些有80个字符的记录组成,所有记录分为3组,如图:1、标题:改组只有一个记录,其内容是成绩报告的名字。
2、各题的标准答案:每个记录均在第80个字符处标以数字2。
该组的记录:第一个记录:第1~3个字符为试题数(1~999)。
第10~59个字符是1~50题的标准答案(每个合法字符表示一个答案)。
第二个记录:是第51~100题的标准答案。
…….3、学生的答案:每个记录均在第80个字符处标以数字3。
每个学生的答卷在若干个记录中给出。
学号:1~9个字符1~50题的答案:10~59。
当大于50题时,在第二、三、……个记录中给出。
学生人数不超过200,试题数不超过999。
程序的输出有4个报告:a)按学号排列的成绩单,列出每个学生的成绩、名次。
b)按学生成绩排序的成绩单。
c)平均分数及标准偏差的报告d)试题分析报告。
按试题号排序,列出各题学生答对的百分比。
1. 黑盒测试的具体技术方法有哪些?答案: 黑盒测试的具体技术方法主要有边界值分析法、等价类划分法、因果图法、决策表测试法、场景法等。
2. 分析如何选择恰当的黑盒测试方法。
答案: 通常在决定测试策略时,有以下的参考原则:①在任何情况下都必须采用边界值分析法。
这种方法设计出的测试用例发现程序错误的能力最强。
②必要时采用等价划分类方法补充测试用例。
③采用错误推断法再追加测试用例。
④对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。
如果没有达到要求的覆盖标准,则应当在补充更多的测试用例。
⑤如果程序的功能说明中含有输入条件的组合情况,则应在一开始就选用因果图法。
3. 解释黑盒测试的概念。
答案: 黑盒测试被称为功能测试或数据驱动测试。
测试答案
![测试答案](https://img.taocdn.com/s3/m/15b106ab0b4c2e3f56276349.png)
9黑盒测试法是根据产品的(A)来设计测试用例的。
A.功能B.输入数据C.应用范围D.内部逻辑
10V模型描述了软件基本的开发过程和测试行为,描述了不同测试阶段与开发过程各阶段的对应关系。其中,集成测试阶段对应的开发阶段是(C)。
A.需求分析阶段B.概要设计阶段
C.详细设计阶段D.编码阶段
1.利用等价类划分方法
输入三个整数作为三边的边长构成三角形。构造测试用例进行测试(注:三角形可能为一般三角形、等腰三角形、等边三角形等)。
测试用例
2.给出判定表和设计测试用例
假设一个中国的航空公司规定:
中国去欧美的航线所有座位都有食物供应。每个座位都可以播放电影。
中国去非欧美的国外航线都有食物供应,只有商务舱可以播放电影。
A.12 B.8 C.6 D.4
20软件测试使用各种术语描述软件出现的问题,以下叙述正确的是(A)。
A.软件错误(error)是指在软件生命周期内的不希望或不可接受的人为错误,其结果是导致软件故障的产生
B.软件缺陷(defect)是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差
C.软件故障(fault)是指软件运行过程中出现的一种不希望或不可接受的外部状态
D.试图证明软件在软件生命周期各个阶段以及阶段间的逻辑协调性、完备性和正确性
12与设计测试用例无关的文档是(A)。
A.项目开发计划B.需求规格说明书
C.设计说明书D.源程序
13(B)不是正确的软件测试目的。
A.尽最大的可能找出最多的错误
B.设计一个好的测试用例对用户需求的覆盖度达到100%
C.对软件质量进行度量和评估,以提高软件的质量
7用边界值分析法,假定10≤X≤100,那么X在测试中应该取的边界值是__B____。
等价类划分法
![等价类划分法](https://img.taocdn.com/s3/m/52ae020779563c1ec5da7126.png)
等价类划分法等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例完全不考虑程序的内部结构,只根据对程序的要求和说明,即需求规格说明书。
我们必须仔细分析和推敲说明书的各项需求,特别是功能需求。
把说明书中对输入的要求和输出的要求区别开来并加以分解。
由于穷举测试工作量太大,以至于无法实际完成,促使我们在大量的可能数据中选取其中的一部分作为测试用例。
例如,在不了解等价分配计数的前提下,我们做计算器程序的加法测试时,测试了1+1,1+2,1+3和1+4之后,还有必要测试1+5和1+6吗,能否放心地认为它们是正确的?我们感觉1+5和1+6,与前面的1+1,1+2都是很类似的简单加法。
等价类划分的方法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例。
每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误;反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误(除非等价类中的某些例子属于另一等价类,因为几个等价类是可能相交的)。
使用这一方法设计测试用例,首先必须在分析需求规格说明的基础上划分等价类,列出等价类表。
1、划分等价类和列出等价类表等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于发现程序中的错误都是等效的。
并合理地假定:测试某个等价类的代表值就等于对这一类其他值的测试。
因此,可以把全部输入数据合理地划分为若干等价类,在每一个等价类中取一个数据作为测试输入条件,就可以用少量代表性的测试数据取得较好的测试结果。
等价类划分有两种不同的情况:有效等价类和无效等价类。
有效等价类:指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。
利用有效等价类可以检验程序是否实现了规格说明中所规定的功能和性能。
无效等价类:与有效等价类的定义相反。
设计测试用例时,要同时考虑这两种等价类。
测试用例实例-三角形用例设计
![测试用例实例-三角形用例设计](https://img.taocdn.com/s3/m/bf75f66da45177232f60a266.png)
14
【3,4,3】
(1),(2),(3),(4),(5),(6),(15),(19)
15
【3,3,4】
(1),(2),0)
10
【3,4,3】
(1),(2),(3),(4),(5),(6),(15)
11
【3,4,5】
(1),(2),(3),(4),(5),(6),(16)
非等腰三角形
12
【3,3,3】
(1),(2),(3),(4),(5),(6),(17)
是等边三角形
13
【3,4,4】
(1),(2),(3),(4),(5),(6),(14),(18)
输入条件
有效等价类
无效等价类
是否三角形的三条边
(A>0),(1)
(B>0),(2)
(C>0),(3)
(A+B>C),(4)
(B+C>A),(5)
(A+C>B),(6)
(A≤0),(7)
(B≤0),(8)
(C≤0),(9)
(A+B≤C),(10)
(B+C≤A),(11)
(A+C≤B),(12)
是否等腰三角形
(A=B),(13)
(B=C),(14)
(C=A),(15)
(A≠B)and(B≠C)and(C≠A)(16)
是否等边三角形
(A=B)and(B=C)and(C=A)
(17)
(A≠B),(18)
(B≠C),(19)
(C≠A),(20)
序号
【A,B,C】
覆盖等价类
输出
1
【3,4,5】
软件测试实验报告-黑盒测试等价划分类
![软件测试实验报告-黑盒测试等价划分类](https://img.taocdn.com/s3/m/5c35547231b765ce0508142a.png)
A为闰年且 6 b=2,c:1~29
A为平年且 7 b=2,c:1~28
覆盖有效等价类的测试用类
a
b
c
2013
10
9
2012
2
28
2013
2
28
2013
9
15
覆盖无效等价类的测试用类
a
b
c
0.2013
10
9
2013
0.1
9
2013
10
0.9
0.2013
0.1
9
0.2013
10
0.9
2013
0.1
0.9
if(a+b>c||a+c>b||b+c>a)cout<<"a,b,c 的值不能构成三角形!"; 8 if(a==b&&b==c)cout<<"是等边三角形!"; 9 if(a==b||b==c||a==c)cout<<"是等边三角形!"; 11 if(a<>b&&b<>c&&c<>a)cout<<"一般三角形!"; 12
5
1、2、3、4、5
4
1、2、3、4、6
覆盖无效等价类的测试用类
a
b
ห้องสมุดไป่ตู้
c
覆盖无效等价类号码
0
4
5
7
3
0
5
8
3
4
0
9
3
4
7
10
7
测试用例设计方法1——等价类边界值
![测试用例设计方法1——等价类边界值](https://img.taocdn.com/s3/m/7fd33d05eff9aef8941e06e2.png)
测试用例设计方法1——等价类边界值1、等价类划分等价类划分是黑盒测试最常用的方法,使用等价类划分的方法是将输入域划分为若干个区域,并从中选择少数具有代表性的数据进行测试,这样可以避免使用大量的测试数据,也避免了盲目性。
等价类划分针对程序的输入部分,常用的设计方法是:找出输入条件,划分等价类,并进行用例的设计。
等价类分为有效等价类和无效等价类。
所谓有效等价类是指用户输入的有效数据,并得到预期的或正常的结果;另一种是无效等价类,无效等价类是指异常的或不符合规定的输入,相应的也会得到异常的输出或提示信息。
因此在划分等价类的时候又从有效和无效两方面去考虑。
一般在设计测试用例时,要是一条用例尽量多的覆盖有效等价类,而无效等价类则要求一对一的覆盖。
2、边界值边界值同样是一种经典的黑盒测试方法,他常常作为等价类的一种补充,与等价类方法一起使用。
在进行程序设计时,大量的错误容易发生在输入数据或输出数据的边界上,因此使用边界值的方法可以经常检测出错误。
当一个输入明确的规定了一个值的取值范围时或输入条件是一组有序的集合时,就可以使用边界值的方法来设计测试用例。
关于边界值得上点、内点、离点的概念,可以参见下图。
由于等价类和边界值经常配合使用,因此两者可以合并为一个用例设计方法,下面总结一下使用等价类边界值设计测试用例的思路和方法。
1、分析需求,挖掘隐式条件,确认边界值,划分等价类2、将划分出的等价类填入表格,进行编号3、对有效等价类,用一条用例尽量多的覆盖4、对于无效等价类,一对一的覆盖,最终得到测试用例下面以最经典的三角形问题来说明如何使用等价类边界值方法设计测试用例:输入3个数,判定是否构成三角型,并判定什么时候是等腰三角形,什么时候是等边三角形。
分析输入条件:1、3个整数2、任意两边和大于第三遍3、满足1、2,且只有两个边相等4、满足1,三遍全部相等由上面的条件得到表格:获得等价类的划分后可以轻松的得到测试用例:至此,一个完整的测试用例就完成了。
实验一黑盒测试法等价类划分法
![实验一黑盒测试法等价类划分法](https://img.taocdn.com/s3/m/a1119435b52acfc788ebc90e.png)
实验一黑盒测试法——等价类划分法实验目的: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开头的七位或者八位数字。
软件测试经典三角形案例
![软件测试经典三角形案例](https://img.taocdn.com/s3/m/a2a5670777232f60dccca126.png)
软件测试-黑盒测试例子一、等价类划分问:某程序规定:"输入三个整数 a、 b、 c分别作为三边的边长构成三角形。
通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算… "。
用等价类划分方法为该程序进行测试用例设计。
(三角形问题的复杂之处在于输入与输出之间的关系比较复杂。
)解:分析题目中给出和隐含的对输入条件的要求:(1)整数(2)三个数(3)非零数(4)正数(5)两边之和大于第三边(6)等腰(7)等边如果 a、 b 、 c满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一:1)如果不满足条件(5),则程序输出为 " 非三角形 " 。
2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。
3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。
4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。
列出等价类表并编号覆盖有效等价类的测试用例:a b c覆盖等价类号码3 4 5(1)--(7)4 4 5(1)--(7),(8)4 5 5(1)--(7),(9)5 4 5(1)--(7),(10) 4 4 4(1)--(7),(11)覆盖无效等价类的测试用例:二、边界值分析法NextDate函数的边界值分析测试用例在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。
三、错误推测法测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:I.输入的线性表为空表;II.表中只含有一个元素;III.输入表中所有元素已排好序;IV.输入表已按逆序排好;V.输入表中部分或全部元素相同。
黑盒测试——等价类划分法
![黑盒测试——等价类划分法](https://img.taocdn.com/s3/m/9115937fe418964bcf84b9d528ea81c759f52e7b.png)
实验二: 黑盒测试——等价类划分法【实验环境】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%。
佣金程序生成月份销售报告,汇总售出的枪机、枪托和枪管总数,销售商的总销售额以及佣金。
基于决策表的测试三角形问题
![基于决策表的测试三角形问题](https://img.taocdn.com/s3/m/82e17ed9db38376baf1ffc4ffe4733687e21fcc6.png)
基于决策表的测试三角形问题基于决策表的测试(三角形问题)2010-06-25 01:49决策表,也叫判定表。
在所有的功能性测试方法中,基于决策表的测试方法被认为是最严格的,因为决策表具有逻辑严格性。
人们使用两种密切关联的方法:因果图法和决策表格法。
与决策表相比,这两种方法使用起来更麻烦,并且全冗余。
决策表是分析和表达多逻辑条件下执行不同操作的情况的工具。
在程序设计发展的初期,决策表就已被用作编写程序的辅助工具了。
它可以把复杂的逻辑关系和多种条件组合的情况表达得比较明确。
1、决策表的组成决策表通常由4个部分组成,如下图:●条件桩(condition stub):列出了问题的所有条件。
通常认为列出的条件的次序无关紧要。
●动作桩(action stub):列出了问题规定可能采取的操作。
这些操作的排列顺序没有约束。
●条件项(condition entry):列出针对它所列条件的取值,在所有可能情况下的真假值。
●动作项(action entry):列出在条件项的各种取值情况下应该采取的动作。
●规则:任何一个条件组合的特定取值及其相应要执行的操作。
在决策表中贯穿条件项和动作项的一列就是一条规则。
显然,决策表中列出多少组条件取值,也就有多少规则,条件项和动作项就有多少列。
2、决策表建立决策表的建立应该根据软件规格说明,步骤如下:①确定规则的个数。
假如有n个条件,每个条件有两个取值(0,1),故有2n种规则。
②列出所有的条件桩和动作桩。
③输入条件项。
④填入动作项。
制定初始决策表。
⑤简化。
合并相似规则或者相同动作。
Beizer(《Software Testing Techniques》的作者)指出了适合使用决策表设计测试用例的条件:①规格说明以决策表的形式给出,或很容易转换成决策表。
②条件的排列顺序不影响执行哪些操作。
③规则的排列顺序不影响执行哪些操作。
④当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。
三角形问题的三种测试方式-----边界值测试,等价类测试、决策表测试
![三角形问题的三种测试方式-----边界值测试,等价类测试、决策表测试](https://img.taocdn.com/s3/m/a002ad165f0e7cd184253611.png)
三角形问题的三种测试方式--边界值测试,等价类测试、决策表测试一.方法简介1. 定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
2. 与等价划分的区别1) 边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
2) 边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。
3. 边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。
因此针对各种边界情况设计测试用例,可以查出更多的错误。
使用边界值分析方法设计测试用例,首先应确定边界情况。
通常输入和输出等价类的边界,就是应着重测试的边界情况。
应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
4. 常见的边界值1) 对16-bit 的整数而言32767 和-32768 是边界2) 屏幕上光标在最左上、最右下位置3) 报表的第一行和最后一行4) 数组元素的第一个和最后一个5) 循环的第0 次、第1 次和倒数第2 次、最后一次5. 边界值分析1) 边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。
例:测试计算平方根的函数--输入:实数--输出:实数--规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息"平方根非法-输入值小于0"并返回0;库函数Print-Line可以用来输出错误信息。
2) 如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。
比如,一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。
三角形问题的三种测试方式边界值测试等价类测试、
![三角形问题的三种测试方式边界值测试等价类测试、](https://img.taocdn.com/s3/m/9fb71782dc88d0d233d4b14e852458fb770b3823.png)
三角形问题的三种测试方式边界值测试等价类测试、三角形问题的三种测试方式--边界值测试,等价类测试、决策表测试2010-12-05 15:32一.方法简介1.定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
2.与等价划分的区别1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。
2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。
3.边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。
因此针对各种边界情况设计测试用例,可以查出更多的错误。
使用边界值分析方法设计测试用例,首先应确定边界情况。
通常输入和输出等价类的边界,就是应着重测试的边界情况。
应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
4.常见的边界值1)对16-bit的整数而言32767和-32768是边界2)屏幕上光标在最左上、最右下位置3)报表的第一行和最后一行4)数组元素的第一个和最后一个5)循环的第0次、第1次和倒数第2次、最后一次5.边界值分析1)边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。
例:测试计算平方根的函数--输入:实数--输出:实数--规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息"平方根非法-输入值小于0"并返回0;库函数Print-Line可以用来输出错误信息。
2)等价类划分:I.可以考虑作出如下划分:a、输入(i)0和(ii)=0b、输出(a)=0和(b)Error II.测试用例有两个:a、输入4,输出2。
软件测试与质量保证作业1三角形问题案例
![软件测试与质量保证作业1三角形问题案例](https://img.taocdn.com/s3/m/b01806676f1aff00bed51ec3.png)
软件测试与质量保证作业一、测试问题描述输入三个整数a b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。
要求输入三个整数a、b、c,必须满足以下条件: 1 < a药0 ; 1 < b < 200 ; 1 < c < 200。
用边界值分析法设计测试用例。
用黑盒测试方法设计测试用例。
二、设计测试用例1. 用边界值测试方法设计测试用例用边界值分析法设计测试用例,按照下列步骤进行:(1)分析各变量取值边界值分析的基本思想是使用输入变量的最小值、略高于最小值、正常值、略低于最大值和最大值设计测试用例。
因此a, b , c的边界取值是:1, 2, 100 , 199 , 200。
(2)测试用例数有n个变量的程序,其边界值分析会产生4n+1个测试用例。
这里有3个变量,因此会产生13个测试用例。
(3)设计测试用例用边界值分析法设计测试用例就是使一个变量取边界值(分别取最小值、略高于最小值、正常值、略低于最大值和最大值),其余变量取正常值,然后对每个变量重复进行。
本例用边界值分析法设计的测试用例见表1-1 O2. 用等价类测试方法设计测试用例(1) 首先分析题目中给出的条件和隐含的输入要求,输入条件如下:a) 正整数;b) 三个数;c) 构成一般三角形;d) 构成等腰三角形;e) 构成等边三角形;f) 不能构成三角形(2) 根据输入条件的要求划分等价类,列出等价类表并编号,如表1-2 所示。
表1-2三角形问题的等价类注:划分等价类的方式并不唯一,可根据被测对象的具体情况划分等价类。
(3) 设计测试用例,覆盖上表中的等价类,如表1-3表所示3•用基于判定表的测试方法设计测试用例(1) 列出所有的条件桩和动作桩条件桩C1: a < b + c?C2: b < a + c?C3: c < a + b?C4: a= =b?C5: a= =c?C6: b= =c?动作桩•a1:非三角形a2:不等边三角形a3:等腰三角形a4:等边三角形a5:不可能(2) 根据输入条件和输出的关系,填写各条规则,画出判定表,如表1-4所示(3) 设计测试用例,覆盖判定表中的各条规则。