




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7讲等价类划分法徐浙君主要内容黑盒测试简介等价类划分法案例分析关于黑盒测试黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。软件输入黑盒测试不深入代码细节输出黑盒测试概述在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性,如图所示。黑盒测试黑盒测试主要用于发现以下情况是否有不正确或遗漏了的功能在接口上,能否正确地接受输入数据,能否产生正确地输出信息访问外部信息是否有错性能上是否满足要求界面是否错误,是否不美观初始化或终止错误“黑盒”的两种基本方法黑盒测试有两种基本方法,即通过测试和失败测试。在进行通过测试时,实际上是确认软件能做什么,而不会去考验其能力如何。软件测试员只运用最简单,最直观的测试案例。
在设计和执行测试案例时,总是先要进行通过测试。在进行破坏性试验之前,看一看软件基本功能是否能够实现。这一点很重要,否则在正常使用软件时就会奇怪地发现,为什么会有那么多的软件缺陷出现?
在确信了软件正确运行之后,就可以采取各种手段通过搞“垮”软件来找出缺陷。纯粹为了破坏软件而设计和执行的测试案例,被称为失败测试或迫使出错测试。黑盒测试的优缺点黑盒测试的优点:1)比较简单,不需要了解程序内部的代码及实现;2)与软件的内部实现无关;3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;5)在做软件自动化测试时较为方便。黑盒测试的缺点:1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;2)自动化测试的复用性较低。黑盒测试的方法等价类划分法边界值分析法决策表法因果图法等价类划分法为了保证软件质量,我们需要做尽量多的测试,但不可能用所有可能的输入数据来测试程序,即穷尽测试是不可能的。我们可以选择一些有代表性的数据来测试程序,但怎样选择呢?等价类划分是解决这一问题的一个方法。等价类划分法等价类是某个输入域的集合,在这个集合中每个输入条件都是等效的。如果其中一个的输入不能导致问题发生,那么集合中其它输入条件进行测试也不可能发现错误。等价类分为有效等价类和无效等价类。有效等价类就是由那些对程序的规格说明有意义的、合理的输入数据所构成的集合,利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。无效等价类就是那些对程序的规格说明不合理的或无意义的输入数据所构成的集合。
等价类划分法设计测试用例时,要同时考虑这两种等价类。因为,软件不仅要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并集是整个集合。
下面给出六条确定等价类的原则。等价类划分的原则1、在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。例如:成年人每分钟的心跳60-100之间为正常。有效等价类:60-100
无效等价类:<60和>100
等价类划分的原则2、在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。例如:用户连续输入错误密码的次数最多为3次。有效等价类:<=3次
无效等价类:>3次
等价类划分的原则3、在输入条件是一个布尔量的情况下,可确定一个有效等价类。
例如:单选的选中与不选中。○男生●女生等价类划分的原则4、在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
例如:输入数据为省份的选择。当输入‘青海’、‘福建’、‘浙江’。这些都是有效值。当输入‘福州’,就是无效值。等价类划分的原则5、在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
例如:规定必须输入非0的正整数。
这种例子应充分考虑规则是否可以拆分为具有单一的子规则,然后得到从不同角度违反规则的无效等价类。
该例子起码可拆分为非0、数字、正数、整数4个子规则,至少每个规则对应一个无效等价类,即0、字符串、负数、小数,甚至可挖掘出输入为空的隐含等价类。等价类划分的原则6、在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
例如:核对日期的有效性,初步有效等价类是1<=Month<=12,1<=Day<=31
可是考虑到2月以及闰年、闰月、长月、短月等,需要进一步细分,当然其中还涉及到了年月日组合的问题。根据等价类划分原则,将等价类填入下表。
等价类表输入条件有效等价类无效等价类等价类划分法的分类针对是否对无效数据进行测试,可以将等价类测试分为两种:标准等价类测试(也称,一般等价类测试)健壮等价类测试等价类划分法的分类标准等价类测试不考虑无效数据值,测试用例使用每个等价类中的一个值。通常,标准等价类测试用例的数量和最大等价类中元素的数目相等。案例分析(一)例1:要求输入三个整数a、b、c,分别作为三角形的三条边,取值范围在1~100之间,判断由三条边构成的三角形类型为等边三角形、等腰三角形、一般三角形以及不构成三角形。等价类划分:在多数情况下,是从输入域划分等价类,但对于三角形问题,从输出域来定义等价类是最简单的划分方法。R1={〈a,b,c〉:边为a,b,c的等边三角形}R2={〈a,b,c〉:边为a,b,c的等腰三角形}R3={〈a,b,c〉:边为a,b,c的一般三角形}R4={〈a,b,c〉:边为a,b,c不能构成三角形}案例分析(一)测试用例abc预期输出TC1202020等边三角形TC2202010等腰三角形TC35810一般三角形TC43610不构成三角形等价类划分法健壮等价类测试主要的出发点是考虑了无效等价类。对有效输入,测试用例从每个有效等价类中取一个值;对无效输入,一个测试用例有一个无效值,其他值均取有效值。等价类划分法测试用例设计(1)对每个输入或外部条件进行等价类划分,形成等价类表,为每一等价类规定一个唯一的编号;(2)设计一测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;(3)设计一新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖;案例分析(二)例2:设某公司要打印2001~2005年的报表,其中报表日期为6位数字组成,其中,前4位为年份,后两位为月份。第一步:划分等价类输入及外部条件有效等价类无效等价类报表日期的类型及长度6位数字字符①有非数字字符④少于6个数字字符
⑤多于6个数字字符⑥年份范围在2001~2005之间②小于2001⑦大于2005⑧月份范围在1~12之间③小于1⑨大于12⑩在划分等价类时可以先考虑输入数据的类型(合法型和非法型),再考虑数据范围(合法型中的合法区间和非法区间)。第二步:为有效等价类设计测试用例 对表中编号为①②③的3个有效等价类用一个测试用例覆盖:测试数据期望结果覆盖范围200105输入有效等价类①②③第三步:为每一个无效等价类至少设计一个测试用例测试数据期望结果覆盖范围001MAY输入无效等价类④20015输入无效等价类⑤2001001输入无效等价类⑥20000输入无效等价类⑦20080输入无效等价类⑧200100输入无效等价类⑨200113输入无效等价类⑩本例的10个等价类至少需要8个测试用例例3:对招干考试系统“输入学生成绩”子模块设计测试用例。
招干考试分三个专业,准考证号第一位为专业代号,如:1-行政专业,2-法律专业,3-财经专业.
行政专业准考证号码为:110001~111215
法律专业准考证号码为:210001~212006
财经专业准考证号码为:310001~314015案例分析(三)例:准考证号码的等价类划分
有效等价类:
(1)110001~111215(2)210001~212006(3)310001~314015
无效等价类:
(4)-
~110000(5)111216~210000(6)212007~310000(7)314016~+
案例分析(三)例3:在某网站申请免费信箱时,要求用户必须输入用户名、密码及确认密码,对每一项输入条件的要求如下:用户名要求为4位以上,16位以下,使用英文字母、数字、“-”、“_”,并且首字符必须为字母或数字;密码要求为6~16位之间,只能使用英文字母、数字以及“-”、“_”,并且区分大小写。案例分析(三)输入条件有效等价类编号无效等价类编号用户名4~16位1少于4位8多于16位9首字符为字母2首字符为除字母、数字之外的其他字符10首字符为数字3英文字母、数字、“-”、“_”组合4组合中含有除英文字母、数字、“-”、“_”之外的其他特殊字符11密码6~16位5少于6位12多于16位13英文字母、数字、“-”、“_”组合6组合中含有除英文字母、数字、“-”、“_”之外的其他特殊字符14确认密码内容同密码相同7内容同密码相同,但字母大小写不同15表:等价类表案例分析(三)根据上述等价类表,设计测试用例如下表所示。测试用例用户名密码确认密码预期输出TC1abc_2000abc_123abc_123注册成功TC22000-abc123-abc123-abc注册成功TC3abc1234567812345678提示用户名错误TC4abcdefghijk1234561234567812345678提示用户名错误TC5_abc1231234567812345678提示用户名错误TC6abc&1231234567812345678提示用户名错误TC7abc_1231234512345提示密码错误TC8abc_123abcdefghijk123456abcdefghijk123456提示密码错误TC9abc_123abc&123abc&123提示密码错误TC10abc_123abc_123Abc_123提示密码错误表:测试用例等价类划分法优缺点等价类划分法的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论