软件测试实验报告-黑盒测试等价划分类
- 格式:rtf
- 大小:346.91 KB
- 文档页数: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位之间,只能使⽤英⽂字母、数字以及“-”、“_”,并且区分⼤⼩写。
⿊盒测试⽤例设计技术--等价类划分法本⽂通过案例的形式,详细讲解⿊盒测试⽤例设计技术中的等价类划分法。
等价类划分是⼀种典型的⿊盒测试⽅法,其原理是把程序的输⼊域划分成若⼲部分(⼦集),然后从每⼀个⼦集中选取少数具有代表性的数据作为测试⽤例。
通过等价类划分,可以在尽可能覆盖所有测试路径的前提下,⼤幅度减少测试⽤例的数⽬。
本⽂的主要内容有:等价类的概念介绍划分等价类的原则根据等价类设计测试⽤例的⽅法案例演⽰划分等价类等价类是指某个输⼊域的⼦集合。
在该⼦集合中,各个输⼊数据对于揭露程序中的错误都是等效的。
并合理的假设,测试某等价类的代表值就等于对这⼀类其它值的测试。
等价类划分有两种不同的情况:有效等价类:指对于程序的规格说明来说是合理的、有意义的输⼊数据构成的集合。
⽆效等价类:指对程序的规格说明是不合理的或⽆意义的输⼊数据所构成的集合。
对于具体的问题,⽆效等价类⾄少应有⼀个,也可能有多个。
在设计测试⽤例时,要同时考虑有效等价类和⽆效等价类,以此验证软件在正常操作和异常操作时是否都能正常运⾏。
确定等价类的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) 请结合实验谈一下边界值分析测试方法的优劣。