软件测试实验报告-黑盒测试等价划分类
黑盒测试_等价类
在输入条件规定了“必须如何”的条件情况下,可确立一 个有效等价类和一个无效等价类。
如,规定程序输入必须为数字,可确定一个有效等价类— —数字和一个无效等价类——字母。
等价类的划分原则(续)
③按照输入数值划分
在规定了输入数据的一组值(假定n个),并且程序要对每 一个输入值分别处理的情况下,可确立n个有效等价类(每 个值确定一个有效等价类)和一个无效等价类(所有不允 许的输入值的集合)。
34
案例分析-NextDate函数的等价类测试用例
确定等价类(方法一) 有效等价类: M1={月份:1≤月份≤ 12} D1={日期:1 ≤日期≤ 31} Y1={年:1912 ≤年≤ 2012} 无效等价类: M2={月份:月份<1} M3={月份:月份>12} D2={日期:日期<1} D3={日期:日期>31} Y2={年:年< 1912} Y3={年:年>2012}
b
WN1
5
5
WN2
2
2
WN3
3
4
WN4
4
1
c
预期输出
5
等边三角形
3
等腰三角形
5
三角形
2
非三角形
由于变量a,b,c没有定义有效子区间,则强一般等价类测试用例与弱一 般等价类测试用例相同。
三角形问题的弱健壮等价类测试用例
考虑a,b,c的无效值产生的以下弱健壮等价类测试用例。
测试用例 a
b
c
预期输出
WR1
除按第一条原则划分,还可进一步划分为更小的等价类,如 85~100(优),75~85(良)等。
等价类划分法的测试用例设计
黑盒测试--等价类划分
⿊盒测试--等价类划分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位之间,只能使⽤英⽂字母、数字以及“-”、“_”,并且区分⼤⼩写。
04黑盒测试等价类划分
0851 3456789 显示有效输入
0851
显示有效输入
23145678
覆盖范围 1、8 1、7 2、7
2、8
为每一个无效等价类至少设计一个测 试用例
测试数据
期望结果
覆盖范围
0a34 23456789 显示无效输入
3
05 23456789
显示无效输入
4
01234 23456789 显示无效输入
5
3、设计一个测试用例,使其只覆盖一个无效等价类,重复 这一步,最终使得所有无效等价类均被覆盖。(若用一个 测试用例检测多个无效等价类,则某个无效等价类可能永 远不会被检测到,)
➢ 例如:需求规定“每类科技参考书50-100册……”如果一个测试用 例为“文艺书籍10册”,在测试中可能检测出书的类型错误,而 忽略了书的册数错误
10. 以1开头的数串
7. 以非0、非1开头的7 11. 以非0、非1开头的含有
位数串
非法字符7或者8位数串
8. 以非0、非1开头的8 12. 以非0、非1开头的小于
位数串
7位数串
13. 以非0、非1开头的大于
8位数串
为有效等价类设计测试用例
测试数据
期望结果
010 23145678 显示有效输入
023 2234567 显示有效输入
弱一般等价类
▪ 弱一般等价类:使用一个测试用例中的每个等价类(区间) 的一个变量实现(不考虑无效数据值,测试用例使用每个等 价类中的一个值称为单缺陷假设)。
▪ 若F实现为一个程序,输入两变量x1, x2拥有以下边界 a«x1«d, 区间 [a, b), [b, c), [c, d] e«x2«g, 区间 [e, f), [f, g]
黑盒测试用例设计技术--等价类划分法
⿊盒测试⽤例设计技术--等价类划分法本⽂通过案例的形式,详细讲解⿊盒测试⽤例设计技术中的等价类划分法。
等价类划分是⼀种典型的⿊盒测试⽅法,其原理是把程序的输⼊域划分成若⼲部分(⼦集),然后从每⼀个⼦集中选取少数具有代表性的数据作为测试⽤例。
通过等价类划分,可以在尽可能覆盖所有测试路径的前提下,⼤幅度减少测试⽤例的数⽬。
本⽂的主要内容有:等价类的概念介绍划分等价类的原则根据等价类设计测试⽤例的⽅法案例演⽰划分等价类等价类是指某个输⼊域的⼦集合。
在该⼦集合中,各个输⼊数据对于揭露程序中的错误都是等效的。
并合理的假设,测试某等价类的代表值就等于对这⼀类其它值的测试。
等价类划分有两种不同的情况:有效等价类:指对于程序的规格说明来说是合理的、有意义的输⼊数据构成的集合。
⽆效等价类:指对程序的规格说明是不合理的或⽆意义的输⼊数据所构成的集合。
对于具体的问题,⽆效等价类⾄少应有⼀个,也可能有多个。
在设计测试⽤例时,要同时考虑有效等价类和⽆效等价类,以此验证软件在正常操作和异常操作时是否都能正常运⾏。
确定等价类的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. 掌握等价类划分法的应用场景和注意事项;3. 能够运用等价类划分法设计有效的测试用例;4. 提高软件测试效率和质量。
三、实训内容1. 等价类划分法的基本概念等价类划分法是一种将测试输入数据划分为若干个等价类的方法,使得每个等价类中的数据在测试中具有相同的效果。
通过选取代表性的数据作为测试用例,可以有效地减少测试用例的数量,提高测试效率。
2. 等价类划分法的步骤(1)识别输入条件:分析软件需求规格说明书,确定输入条件的范围和类型。
(2)划分等价类:根据输入条件,将数据划分为有效等价类和无效等价类。
(3)选取测试用例:从每个等价类中选取代表性数据作为测试用例。
(4)设计测试用例:根据选取的测试用例,设计具体的测试步骤和预期结果。
3. 等价类划分法的应用场景等价类划分法适用于以下场景:(1)针对输入控件,如输入框、下拉菜单等;(2)针对数据输入,如输入数字、字符串等;(3)针对逻辑判断,如判断条件、循环等。
4. 等价类划分法的注意事项(1)确保等价类划分的准确性,避免漏掉或重复划分等价类;(2)注意等价类之间的互斥性,避免同一数据同时属于多个等价类;(3)根据实际情况,适当调整等价类划分的粒度;(4)关注边界值,提高测试覆盖率。
四、实训过程1. 理论学习:通过阅读相关文献、观看教学视频,了解等价类划分法的原理、步骤和应用场景。
2. 实践操作:选择一个实际项目,运用等价类划分法设计测试用例,并进行测试执行。
3. 交流讨论:与同学和老师交流心得体会,共同探讨等价类划分法的应用和优化。
软件测试技术实验报告
实验一黑盒测试
一、实验目的及要求
实验目的:
1、能熟练应用功能性测试技术进行测试用例设计;
2、对测试用例进行优化设计;
实验原理:
测试“日期推算”程序
该程序的功能是输入一个日期,输出该日期后两天的日期,例如输入2014年1月1日,则输出2014年1月3日。
现在假设“日期推算”程序已经被开发出来了,请对该程序进行功能测试,要求用尽可能少的测试用例检测出尽可能多的软件缺陷。
二、实验环境
一台装有windows操作系统的计算机,vc++6.0
三、实验内容
为了方便,我们不考虑闰年的问题,默认为2月都是28天,假设限定输入数据均为整数,日期中年份的有效值范围为1000~9999。
四、实验步骤
1.选定测试方法
2.等价类划分
划分等价类的方法有:
按区间划分、按数值划分、按数值集合划分、按限制条件划分、按限制规则划分等。
确定了等价类后,可建立等价类表。
3.执行测试用例
请根据“日期推算”程序功能要求,自行开发该程序。
4.测试执行结果,并统计,填入表中。
实验一 黑盒测试等价类划分
实验一黑盒测试——等价类划分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) 请结合实验谈一下边界值分析测试方法的优劣。
软件测试实验报告-黑盒测试等价划分类
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
软件测试-黑盒测试-等价类划分
13
【3,4,4】
14
【3,4,3】
15
【3,3,4】
(1),(2),(3),(4),(5),(6),(14),(18)
非等边三角 (1),(2),(3),(4),(5),(6),(15),(19) 形
(1),(2),(3),(4),(5),(6),(13),(20)
课堂讲解
• 1、准考证号码 • 对招干考试系统“输入学生成绩”子模块设计测试用例。
等价类划分的细则
• ③ 在输入条件是一个布尔量的情况下,可确 定一个有效等价类和一个无效等价类。( True,False) 实例:
电源开关开(一个有效等价类、一个无效等 价类)
有效等价类:①电源开关开 无效等价类:①电源开关关
等价类划分法细则
④ 在规定了输入数据的一组值(假定n个), 并且程序要对每一个输入值分别处理的情 况下,可确立n个有效等价类和一个无效等 价类。
10
【3,4,3】
(1),(2),(3),(4),(5),(6),(15)
实例讲解
序号
11
输入值(A/B/C) 覆盖等价类编号
【3,4,5】
(1),(2),(3),(4),(5),(6),(16)
输出
非等腰三角形
12
【3,3,3】
(1),(2),(3),(4),(5),(6),(17)
是等边三角形
形
(14)
(15)
是否等边三角
形
(17)
(A>0), (B>0), (C>0), (A+B>C), (B+C>A), (A+C>B),
(A=B), (B=C), (C=A),
等价划分类实验报告
一、实验目的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引言1.1系统概述本软件的用途是实现人民币数字大写转化。
如¥6007.14,应写成:人民币陆仟零柒元壹角肆分。
1.2文档概述本文档将给出测试设计、测试用例、测试结果及其对该软件的评价。
1.3测试环境与配置操作系统:windows 7 旗舰版CPU:Intel(R) Core(TM)2 Duo CPU T6500IDE:(Integrated Development Environment)Myeclipse内存:2G1.4测试方法手工利用黑盒测试中的等价类划分法进行测试,主要测试目标为检验函数是否符合题目所给要求。
即:输入是否符合规定条件,及程序的鲁棒性。
2测试用例的设计2.1等价类划分1)有效等价类是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。
利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
2)无效等价类与有效等价类的定义恰巧相反。
无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。
对于具体的问题,无效等价类至少应有一个,也可能有多个。
设计测试用例时要同时考虑这两种等价类。
因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。
针对本次测试,等价类可划分如下:表2-1人民币数字大写转化等价类表有效等价类测试用例设计:(尽可能多的覆盖有效等价类)表2-2 有效等价类测试用例无效等价类测试用例设计:(仅覆盖一个无效等价类)表2-2 无效等价类测试用例2.2边界值分析法测试用例边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
边界值分析是一种补充等价划分的测试用例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试用例。
实践证明,为检验边界附近的处理专门设计测试用例,常常取得良好的测试效果。
边界值分析法不仅重视输入条件边界,而且也适用于输出域测试用例。
第5次实验等价类划分测试(软件工程)
软件测试实验报告实验题目:黑盒测试技术之等价类划分测试*名:***学号:**********班级:11计本1指导老师:***一、实验介绍1.实验技术等价类划分是一种典型的、常用的黑盒测试方法,这类方法是把所有可能的输入数据划分成若干个部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
2.实验对象完成一段程序,要求实现这样的功能。
输入三个整数a,b,c,分别作为三角形的三条边,取值范围为1-100,判断由三条边构成的三角形类型为等边三角形、等腰三角形、一般三角形以及不构成三角形。
判断结果打印输出。
#include<stdio.h>void main(void){int a,b,c,k;printf("请输入三角形的三边长(0-100):");scanf("%d %d %d",&a,&b,&c);if((a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100)){if((a+b>c)&&(a+c>b)&&(b+c>a)){if((a==b&&b!=c)||(a==c&&c!=b)||(b==c&&a!=b))k=1;if(a==b&&a==c)k=2;if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(c*c+b*b==a*a))k=3;switch(k){case 1:printf("等腰三角形\n");break;case 2:printf("等边三角形\n");break;case 3:printf("直角三角形\n");break;default:printf("一般三角形\n");break;}}elseprintf("不能构成三角形\n");}elseprintf("警告:无效输入\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、覆盖无效等价类的测试用例缺陷报告:输入数据如图所示:以下部分由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%。
佣金程序生成月份销售报告,汇总售出的枪机、枪托和枪管总数,销售商的总销售额以及佣金。
黑盒测试实验报告
1《软件测试技术》实验报告2实验序号:04 实验项目名称:黑盒测试3(55,4000,400)输入无效○6(55,75,250)输入无效○8(55,75,33000)输入无效○94) 测试结果:所有测试都成功,且测试的覆盖率为百分百2、NextDate问题1)分析它的输入限制NextDate是一个有三个变量(月份、日期和年)的函数。
函数返回输入日期后面的那个日期。
变量月份、日期和年都是整数值,并满足以下条件:c1:1<=月份<=12 c2:1<=日期<=31 c3:1812<=年<=20122)边界值测试设计编号输入期望输出Year Month Day001 1993 -1 15 Month不在1~12中002 1993 0 15 Month不在1~12中003 1993 1 15 1993年1月16日004 1993 11 15 1993年11月16日035 1993 1 32 Day不在1~31中3)测试结果:所有测试都成功,且测试的覆盖率为百分百3、自动售货机问题1)分析自动售货机中一共存在5个条件和5个结果:条件:C1、售货机有零钱找C2、投入1元硬币C3、投入5角硬币C4、按下橙汁按钮C5、按下啤酒按钮结果:E1、售货机“零钱找完”灯亮E2、退还1元硬币E3、退还5角硬币E4、送出橙汁饮料E5、送出啤酒饮料2)因果图的分析结果006 (Beer,5C)有零钱送出啤酒007 (OrangeJuice,4C)有零钱Money Error008 (Beer,4C)有零钱Money Error009 (cola,1D)无零钱红灯亮,退1元010 (OrangeJuice,1D)无零钱红灯亮,退1元011 (Beer,1D)无零钱红灯亮,退1元012 (cola,5C)无零钱退5角013 (OrangeJuice,5C)无零钱送出橙汁014 (Beer,5C)无零钱送出啤酒015 (OrangeJuice,4C)无零钱Money Error016 (Beer,4C)无零钱Money Error6)测试结果:所有测试都成功,且测试的覆盖率为百分百五、分析与讨论该实验借助了Eclipse+JUnit+EclEmma进行了测试。
黑盒测试实验报告
实验一黑盒测试一、实验目的通过对于实例程序的测试,熟悉功能性测试的基本方法。
二、实验要求(1)综合运用功能性测试方法(如边界值分析、等价类划分等方法)对被测程序进行测试,找出black.exe程序中存在的缺陷。
三、实验内容(1)对于blackBox.exe程序的测试步骤:①运行black.exe程序,如下图所示:②选择triangle program后(或nextdate program, commission program,要求至少做两个程序的测试),如下图所示:③点击create file names,如下图所示:提示输入测试用例文件,如1.txt后点击ok,1中的数据格式如下:(其中前3个数据表示输入的三条边,第4个数据表示预期的结果)如下图所示,输入执行结果的文件2.txt :再次点击ok,提示输入测试结果文件记录集的题头信息:sanjiaoxing,点击ok,完成测试前的准备工作。
④点击Run Test Cases File,运行测试;⑤测试后的统计信息如下图所示:⑥测试完成后,打开2.txt文件:(前3个条件表示输入的三条边,第4个表示预期结果,第5个表示测试结果,第6个表示测试结果与预期结果是否符合。
)2①运行black.exe程序②选择nextdate program,③点击create file names,如下图所示:提示输入测试用例文件,如3.txt后点击ok,3中的数据格式如下:如下图所示,输入执行结果的文件4.txt :④点击Run Test Cases File,运行测试;⑤测试后的统计信息如下图所示:⑥测试完成后,打开4.txt文件:1)案例描述:某三角形测试程序中需要输入三条表,若三边相等:等腰三角形,两边相等:等腰三角形;若三边不等:斜边边三角形。
案例第一步划分等价类。
第二步设计测试用例设三边分别为a,b,c2)案例描述:案例按月,日,年输入数据。
输出当天的下一天,第二步测试用例。
黑盒测试实验报告
黑盒测试实验报告黑盒测试实验报告引言:在软件开发过程中,测试是一个至关重要的环节。
而黑盒测试作为一种常见的测试方法,主要用于检验软件系统的功能性,而不关心其内部的实现细节。
本实验旨在通过黑盒测试方法,评估一个虚拟购物网站的功能性,并提出相关的改进建议。
一、测试目标与方法1.1 测试目标本次黑盒测试的主要目标是检查虚拟购物网站的主要功能是否正常运行,包括用户注册、商品浏览、购物车管理、订单生成等方面。
同时,也将关注一些特殊情况下的处理,如异常输入、非法操作等。
1.2 测试方法本次实验采用的是等价类划分法和边界值分析法相结合的黑盒测试方法。
通过对输入数据的划分和边界值的选择,设计测试用例,覆盖系统的各个功能模块,以尽可能发现潜在的问题。
二、测试用例设计2.1 用户注册功能测试针对用户注册功能,设计以下几个测试用例:- 输入合法的用户名、密码和邮箱,验证注册是否成功;- 输入已存在的用户名,验证系统是否能正确提示用户;- 输入非法的邮箱格式,验证系统是否能正确提示用户;- 输入非法的密码长度,验证系统是否能正确提示用户。
2.2 商品浏览功能测试针对商品浏览功能,设计以下几个测试用例:- 验证商品分类是否正确显示;- 验证商品列表是否按照价格、销量等条件进行排序;- 验证商品详情页是否能正常显示商品信息;- 验证商品搜索功能是否准确。
2.3 购物车管理功能测试针对购物车管理功能,设计以下几个测试用例:- 验证商品添加到购物车后,购物车中是否正确显示商品信息;- 验证购物车中商品数量的增加、减少是否正确计算;- 验证购物车中商品删除后,购物车是否能正确更新。
2.4 订单生成功能测试针对订单生成功能,设计以下几个测试用例:- 验证用户下单后,订单是否能正确生成;- 验证订单金额计算是否准确;- 验证订单状态更新是否正确。
三、测试结果与分析经过对以上测试用例的执行,得出以下测试结果:- 用户注册功能正常,能够正确提示用户输入错误;- 商品浏览功能正常,商品分类、排序和搜索功能均可正常运行;- 购物车管理功能正常,商品添加、数量更新和删除功能均可正常运行;- 订单生成功能正常,订单生成和金额计算功能均可正常运行。
软件测试黑盒测试实验
System.out.println("一般直角三角形.");
}
} else if (a == b && b == c && a == c) {
System.out.println("为等边三角形.");
} else if ((a == b && a != c) || (a == c && a != b)
Test6
边界值分析方法
60 60 2
等腰三角形
等腰三角形
Test7
边界值分析方法
60 60 60
等边三角形
等边三角形
Test8
边界值分析方法
50 50 99
等腰三角形
等腰三角形
Test9
边界值分析方法
50 50 100
非三角形
非三角形
Tes10
决策表
4 1 2
非三角形
非三角形
Test11
决策表
1 4 2
System.out.println("输入三角形的三边:");
a = input.nextDouble();
b = input.nextDouble();
c = input.nextDouble();
input.close();
if (a >0 && b > 0 && c > 0) {
if (a + b > c && a + c > b && b + c > a) {
System.out.println("能构成三角形.");
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
题目: 班级: 学号: 姓名: 完成日期:
等价划分类黑盒测试报告
一、实验目的 1、掌握等价类划分的方法 2、掌握按等价类方法设计测试用例 二、实验内容 1、请用等价类划分法为三角形问题划分等价类,并设计相应的测试用 例,测试下面三角形问题程序,找出缺陷并改正,给出缺陷报告。
cout<<"隔一天日期为:"<<a<<"年"<<b<<"月"<<c<<"日"<<endl; }
四、测试结果及缺陷分析
缺陷:源程序过于啰嗦,并未使用函数来时源程序简化。
五、附录
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
2
30 30
2013
2
源程序:
-24 31
#include "iostream.h" void main(){
int a,b,c; cout<<"请输入日期"<<endl<<"年:"<<endl;
cin>>a; cout<<"月:"<<endl;
cin>>b; cout<<"日:"<<endl;
cin>>c; if(a<=0)cout<<"年份不在允许范围内"<<endl; if(b<=0||b>12)cout<<"月份不在允许范围内"<<endl; if((b==1||b==3||b==5||b==7||b==8||b==10||b==12)&&(c<=0||c>31))cout<<" 日 期 不 在 允 许 范 围内"<<endl; if((b==4||b==4||b==6||b==9||b==11)&&(c<=0||c>30))cout<<"日期不在允许范围内"<<endl;
31
覆盖有效等价类号码
1、2、3、4 1、2、3、6 1、2、3、7 1、2、3、5
覆盖无效等价类号码
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
2013
9
31 25
2012
2
0 26
2012
2
-25 27
2012
2
30 28
2013
2
0 29
2013
5
1、2、3、4、5
4
1、2、3、4、6
覆盖无效等价类的测试用类
aLeabharlann bc覆盖无效等价类号码
0
4
5
7
3
0
5
8
3
4
0
9
3
4
7
10
7
2
3
11
2
5
3
12
程序改正:8:“不能”改成“能”;
11、“等边”改成“等腰”; 12、“a<>b&&b<>c&&c<>a”改成“a!=b&&b!=c&&a!=c”
实验二:输入日期为a年b月c日
构成一般三角
形
a+b>c
2
a+b<c
10
a+b=c
b+c>a
3
b+c<a
11
b+c=a
a+c>b
4
构成等腰三角 (a=b||b=c||a=c) 5
形
&& 两 边 之 和
大于第三遍
a+c<b
12
a+c=b
构成等边三角 a=b=c
6
形
覆盖有效等价类的测试用类
a
b
c
覆盖有效等价类号码
3
4
4
4
4
4
5
1、2、3、4
if(c<=28) c=c+2; else {
c=c-28; b=b+1; } } if(b==1||b==3||b==5||b==7||b==8||b==10) { if(c<=29) c=c+2; else { c=c-29; b=b+1; }
} if(b==12) {
if(c<=29) c=c+2; else {
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
}
2、请自己编写隔一天函数(编程语言自选),考虑闰年,2月,12月等
特殊情况,并划分等价类,按强一般等价类划分法设计测试用例,并进
行测试,要求给出部分测试用例截图,撰写测试报告。
三、实验过程
实验一:
有效等价类 号码
无效等价类 号码
输入三个整数 范围:1~100 1
a<1或a>100 7
b<1或b>100 8 c<1或c>100 9
0.2013
0.1
0.9
0
10
9
-2013
10
9
2013
0
9
2013
-10
9
2013
20
9
2013
10
0
2013
10
-9
2013
10
32
2013
9
0
2013
9
-15
b>12
19
C=0
20
C<0
21
C>31
22
C=0
23
C<0
24
C>30
25
C=0
26
C<0
27
C>29
38
C=0
29
C<0
30
C>28
#include "iostream.h" void main(){ 1
int a,b,c; 2 cout<<"请输入三角形的三条边(界于 1-100 之间)"<<endl; 3 cin>>a>>b>>c; 4 if(a<=1||a>=100)cout<<"a 的值超过允许的范围!"; 5 if(b<=1||b>=100)cout<<"b 的值超过允许的范围!"; 6 if(c<=1||c>=100)cout<<"c 的值超过允许的范围!"; 7
if((a%4==0)&&(a%100!=0)||(a%400==0)) {
if(b==2&&(c<=0||c>29)) cout<<"日期不在允许范围内"<<endl;
} else if(b==2&&(c<=0||c>28))cout<<"日期不在允许范围内"<<endl;
if(b==4||b==6||b==9||b==11) {
有效等价类 号码
输入三个数 整数
1
a>0
2
b:1~12
3
无效等价类
a为非整数 b为非整数 c为非整数 a,b为非整数 a,c为非整数 b,c为非整数 A,b,c为非整数
a=0 a<0 b=0 b<0
号码 8 9 10 11 12 13 14
15 16 17 18
当b=1、3、5、 4 7、8、10、12 时,c:1~31 当b=4、6、9、 5 11时,c:1~30
c=c-29; b=1; a=a+1; } } if((a%4==0)&&(a%100!=0)||(a%400==0)) { if(b==2) { if(c<=27)c=c+2; else { c=c-27; b=b+1; } } } else { if(b==2) { if(c<=27)c=c+2; else { c=c-26; b=b+1; } } }