黑盒测试_判定表因果图
- 格式:ppt
- 大小:8.46 MB
- 文档页数:81
⿊盒测试——等价类划分、边界值分析、因果图、状态图、场景、正交试验法⿊盒测试常⽤测试⽅法的选择:1⾸先采⽤等价类划分法来编写测试⽤例2必要时采⽤边界值分析法进⾏补充测试⽤例3采⽤错误推测法再追加测试⽤例4对照程序逻辑,检查⾃⼰设计出的测试⽤例逻辑覆盖程度,若覆盖不够,则需要再补充其他的测试⽤例5如果程序功能含有输⼊条件的组合情况,应⼀开始就采⽤因果图法6如果程序某功能适合⾃动测试,可以采⽤⾃动化测试及随机测试。
什么是⿊盒测试以及优缺点?定义:⿊盒测试把测试对象看做⼀个⿊盒⼦,不⽤考虑程序内部结构和内部特性,依据程序需求规格说明书,检查程序功能是否符合功能说明。
优缺点:优:1功能性测试与软件如何实现⽆关,如果实现发⽣变化,功能性测试仍然可⽤;2测试⽤例编写与软件开发同时进⾏,节省软件开发时间3通过软件的⽤例可⽤设计出⼤部分功能性测试⽤例缺:1测试⽤例数量⼤2测试⽤例可能产⽣很多冗余3功能性测试的覆盖范围不可能达到100%⿊盒测试⽤例设计⽅法?答:1等价类划分法(有意义,合理的输⼊数据组成集合检查是否符合产品需求;⽆意义,不合理的输⼊数据组成的集合推测不符合需求的地⽅)、2边界值分析法(输⼊的边界值进⾏测试)、3因果图法(分析和表达多逻辑条件下执⾏不同操作)、4状态图法(和产品需求反着来,⽐如要求输⼊数字,就输⼊字母,要求输⼊正数,就输⼊负数等)、5场景法(利⽤图解法分析输⼊的各种组合情况,即输⼊多个条件的各种组合及输出情况之间的相互制约关系)、6正交试验法(⽐如要进⾏18次测试,最终选择具有代表性的9次进⾏试验)7其他测试⽅法有:错误推测法、通过测试与失败测试、随机测试边界值划分法:考虑的边界数据类型如数值、速度、字符、地址、位置、尺⼨、数量;以及考虑条件的等价区间:默认、空⽩、空值、零值和⽆。
还要考虑:⾮法、错误、不正确和垃圾数据。
还要测试:程序的状态及切换。
次边界条件:。
黑盒测试的7种测试方法黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。
很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
黑盒测试有7种测试方法分别是等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、功能图法、正交实验法。
下面将一一介绍。
等价类划分法等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
该方法是一种重要的,常用的黑盒测试用例设计方法。
1、划分等价类:等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。
并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。
因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。
取得较好的测试结果。
等价类划分可有两种不同的情况:有效等价类和无效等价类。
有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。
利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
无效等价类:与有效等价类的定义恰巧相反。
设计测试用例时,要同时考虑这两种等价类。
因为,软件不仅要能接收合理的数据,也要能经受意外的考验。
这样的测试才能确保软件具有更高的可靠性。
2、划分等价类的方法:下面给出六条确定等价类的原则。
①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
广西师范大学计信学院《软件测试技术》课程实验实验报告题目:黑盒测试法——判定表法班级:10计本1班学号:201012301006姓名:焦德伟完成日期:2012/10/17实验二黑盒测试法——判定表法实验目的:1.掌握因果图、判定表的方法2.掌握按判定表设计测试用例实验时间:2学时实验内容:1、题目一:隔一天日期问题功能描述:输入年份、月、日;输出:输入日期在日历上的隔一天日期。
如输入1912年12月15日,应输出1912年12月17日。
要求:(1) 读源码并分析程序,给出问题规定的可能采取的操作(即列出所有的动作桩)。
所有的动作桩:(1)、年份超过界限,请重新输入a1(2)、月份超过界限,请重新输入a2(3)、日期超过界限,请重新输入a3(4)、本月为二月,请重新输入日期a4(5)、month+1 and day=1 a5(6)、month+1 and day=2 a6(7)、day=day+2 a7(8)、year++ and month=1and day=1 a8(9)、year++ and month=1and day=2 a9 (9)、输入非法a10 (2) 画出简化后的决策表,设计测试用例。
实验的决策表:条件桩:年份越界:Y1月份越界M1日期越界D1闰年:Y2平年:Y3月份二月:M2月份为十二月:M3月份为30天每月:M4月份为31天非十二月:M5日期小于27:D7日期为27:D2日期为28:D3日期为29:D4日期为30:D5日期为31:D6实验测试用例:测试用例:(3)执行测试用例,进行测试记录和缺陷统计。
实验测试记录的部分效果:缺陷报告书:缺陷统计:总过19组数据,其中10组出现错误!。
一、利用因果图方法设计测试用例,步骤必须描述清楚。
主要包括:1)分析题目中存在的输入条件和输出结果;2)分析原因和原因、原因和结果之间的关系,化因果图;3)将因果图转换为判定表,并进行优化;4)针对判定表中的每一列设计测试用例。
某软件规格说明书包含这样的要求,在输入的某行字符中,第一个字符必须是字母S或者M或者L,第二个字符必须是数字,在此情况下进行数据的登记,但如果第一个字符不正确,则给出输出信息第一个标号不正确;如果第二个字符不是数字,则给出信息第二个标号不正确。
第一个程序:package com;import java.util.Scanner;public class test1 {public static void main(String[] args) {Scanner sca = new Scanner(System.in);if(sca.hasNext()){String str = sca.next();int num = -1;if(str.length()>1){switch (str.charAt(0)) {case 'S':num = (int)str.charAt(1);if(num>=48 && num<=57)System.out.println("进行数据的登记");elseSystem.out.println("第二个标号不正确");break;case 'M':num = (int)str.charAt(1);if(num>=48 && num<=57)System.out.println("进行数据的登记");elseSystem.out.println("第二个标号不正确");break;case 'L':num = (int)str.charAt(1);if(num>=48 && num<=57)System.out.println("进行数据的登记");elseSystem.out.println("第二个标号不正确");break;default:System.out.println("第一个标号不正确");break;}}elseSystem.out.println("第一个标号不正确");}}}第二个程序:package com;import java.util.Scanner;public class test {public static String checkStr(String str){if(str.length()>2){int one = (int)str.charAt(0);int two = (int)str.charAt(1);if(one==76 || one==77 || one==83){if(two>=48 && two<=57)return str;elsereturn "第二个标号不正确";}elsereturn "第一个标号不正确";}return "第一个标号不正确";}public static void main(String[] args) {Scanner sca = new Scanner(System.in);if(sca.hasNext()){String str = sca.next();String result = test.checkStr(str);System.out.println(result);}}}因果图1∽E3 C 2 ∨113∨E14∽E2。
测试用例设计方法之因果图法与判定表1.因果图法1.1.前言从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。
因果图法即因果分析图,又叫特性要因图、石川图或鱼翅图,它是由日本东京大学教授石川馨提出的一种通过带箭头的线,将质量问题与原因之间的关系表示出来,是分析影响产品质量的诸因素之间关系的一种工具。
1.2.定义因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。
因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。
因果图法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。
采用因果图法能帮助我们按照一定的步骤选择一组高效的测试用例,同时,还能指出程序规范中存在什么问题,鉴别和制作因果图。
因果图法着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”。
1.3.因果关系因果图的表示中输入与输出间的因果关系有四种:1)恒等关系:当输入条件发生,会产生对应输出,当输入条件不发生时,不会产生都会应输出。
2)非关系:与恒等关系相反。
3)或关系:多个输入条件中,只要有一个发生,则会产生对应输出。
4)与关系:多个输入条件中,只有所有输入项发生时,才会产生对应输出。
特定的符号标明因果关系如下(图1.3.1):图1.3.1因果图的表示中输入与输入间的约束关系有四种:1)异(E):所有输入中至多一个输入条件发生。
2)或(I):所有输入中至少一个输入条件发生。
3)唯一(O):所有输入中有且只有一个输入条件发生。
4)要求(R):所有输入中只有一个输入条件发生,则其它输入也会发生。
特定的符号标明输入与输入间约束关系如下(图1.3.2):图1.3.2因果图的表示中输出条件约束类型(见图1.3.2):1)输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。
⿊盒测试⽤例设计⽅法⼆(因果图法、判定表法、场景法)测试步骤⼀、因果图法1.1什么是因果图法因果图是⼀种适合于描述对于多种输⼊条件组合的测试⽅法根据输⼊条件的组合、约束关系和输出条件的因果关系,分析输⼊条件的各种组合情况,从⽽设计测试⽤例的⽅法它适合于检查程序输⼊条件涉及的各种组合情况。
1.2因果图步骤第⼀步:根据功能说明书中规定的原因和结果之间的关系画出因果图恒等:原因A成⽴,结果B⼀定成⽴⾮:愿意A成⽴时,结果B⼀定不成⽴或:原因A、B、C三者只要有⼀个成⽴,结果D就⼀定成⽴与:原因A、B、C都成⽴时,结果D才会出现第⼆步:根据功能说明在因果图中加上约束条件其中互斥、包含、唯⼀、要求是对原因的约束,屏蔽是对结果的约束。
它们的含义如下:1、互斥(exclusive):表⽰不同时为1,即a,b,c中⾄多只有⼀个12、包含(include):表⽰⾄少有⼀个1,即a,b,c中不同时为03、唯⼀(only):表⽰a,b,c中有且仅有⼀个14、要求(request):表⽰若a=1,则b必须为1。
即不可能a=1且b=05、屏蔽(mask):表⽰若a=1,则b必须为0(当你收到注册成功的提⽰,就⼀定不会收到数据填写错误的提⽰)1.3因果图使⽤实例例:阅读和分析功能说明书,识别出“原因”和“结果”,并加以编号(1)有⼀个饮料⾃动售货机(处理单价为5⾓钱)的控制处理软件,它的软件规格说明如下若投⼊5⾓钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。
若投⼊1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则⾃动售货机在送出相应饮料的同时退回5⾓钱的硬币。
分析原因和结果画出原因和结果之间的关系(部分关系)按照需求描述原因、结果的约束因果图使⽤中的局限性:当原因和结果很多的时候,它们之间的关系连线就会很多,导致因果图的可读性变差。
因此⽤作局部的⼩功能(原因和结果不是很多的时候)分析。
列出所有的原因和结果的列表,设计初步的测试⽤例步骤C5:这是⼀种bug,不能做测试设计。
黑盒测试用例--因果图设计法
•因果图:是一种简化了的逻辑图,能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关系
•因果图法:是借助图形来设计测试用例的一种系统方法,特别适用于被测试程序具有多种输入条件,程序的输出又依赖于输入条件的各种的情况。
描述:
1.年薪制员工:严重过失,扣年终风险金的4%;
过失,扣年终风险金的2%
2.非年薪制员工:严重过失,扣当月薪资的8%
过失,扣当月薪资的4%
要求:如果年薪制员工既是过失又是严重过失则扣年终风险金的4% ;非年薪制员工既是过失又是严重过失扣当月薪资的8%
首先列出原因和结果
其次画出因果图:
再次:转换为判定表:
最后:分析测试用例
因果图的优点、缺点:
优点:不论输入条件的组合多么复杂,总可以按照上面的例子给出的步骤找出测试用例。
不足:输入条件的组合数2ª随a的上升急剧增长,当a较大时,因果图的结构将变得十分复杂,而把因果图转换为判定表则更为麻烦。
转自:哈尔滨软件测试交流/。
软件测试——⿊盒测试⽅法1、测试⽤例的定义:是为了特定的⽬的⽽设计的⼀组有测试输⼊、执⾏条件、预期结果的案例(⽂档)2、测试⽤例的构成要素:例如qq邮箱⽤例测试:3、⿊盒测试⿊盒测试⽤例设计⽅法:等价类、边界值、判定表、因果图、正交实验、状态迁移法、场景法、错误推测(1)等价类在所有的测试数据中,具有某种共同特征的数据⼦集,⼀般按照有效等价类和⽆效等价类等价类划分规则:等价类测试⽅法的分析步骤:等价类测试⽤例案例:例⼦:固定电话号测试地区码(3/4位)+电话号码(7/8位)(2)边界值选取正好等于、刚刚好⼤于或刚刚好⼩于边界值作于测试数据注意:⼤量的错误是发⽣在输⼊或输出范围的边界上,⽽不是在输⼊范围的内部边界值的选取:边界值法测试⽤例步骤:边界值法测试⽤例案例:例⼦:固定电话号测试地区码(3/4位)+电话号码(7/8位)(3)判定表法使⽤等价类⽅法时对于输⼊域与输⼊域存在关联时⽆法覆盖例如:两个输⼊不能组合:改⽤判定表法:条件桩:所有的输⼊的组合条件项:不同输⼊条件的组合动作桩:所有的输出的组合动作项:不同输⼊条件的组合的结果规则:⼀组条件与所得结果的组合,⼀个规则就是⼀个测试⽤例判定表法设计⽤例的步骤:案例:(4)因果图法判定表法适合⽤于条件少的时候,因为规则与条件是指数的关系,若条件过多,规则就会随之增多,会增加我们的⼯作量因果图引⼊:因果图中条件与条件,条件与结果的之间的依赖关系:案例:(5)状态迁移法状态迁移图案例:(7)场景法场景法介绍与步骤:基本流、备选流、异常流图解分析:案例:(8)正交实验法因⼦:就是条件(输⼊项)⽔平:就是取值(输⼊项的求值)案例:(9)错误推测法4、⿊盒测试⽅法总结:。
测试用例设计方法之因果图法与判定表1.因果图法1.1.前言从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。
因果图法即因果分析图,又叫特性要因图、石川图或鱼翅图,它是由日本东京大学教授石川馨提出的一种通过带箭头的线,将质量问题与原因之间的关系表示出来,是分析影响产品质量的诸因素之间关系的一种工具。
1.2.定义因果图法是一种适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。
因果图法一般和判定表结合使用,通过映射同时发生相互影响的多个输入来确定判定条件。
因果图法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。
采用因果图法能帮助我们按照一定的步骤选择一组高效的测试用例,同时,还能指出程序规范中存在什么问题,鉴别和制作因果图。
因果图法着重分析输入条件的各种组合,每种组合条件就是“因”,它必然有一个输出的结果,这就是“果”。
1.3.因果关系因果图的表示中输入与输出间的因果关系有四种:1)恒等关系:当输入条件发生,会产生对应输出,当输入条件不发生时,不会产生都会应输出。
2)非关系:与恒等关系相反。
3)或关系:多个输入条件中,只要有一个发生,则会产生对应输出。
4)与关系:多个输入条件中,只有所有输入项发生时,才会产生对应输出。
特定的符号标明因果关系如下(图1.3.1):图1.3.1因果图的表示中输入与输入间的约束关系有四种:1)异(E):所有输入中至多一个输入条件发生。
2)或(I):所有输入中至少一个输入条件发生。
3)唯一(O):所有输入中有且只有一个输入条件发生。
4)要求(R):所有输入中只有一个输入条件发生,则其它输入也会发生。
特定的符号标明输入与输入间约束关系如下(图1.3.2):图1.3.2因果图的表示中输出条件约束类型(见图1.3.2):1)输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。