软件工程第七章软件测试2.ppt
《软件工程第七章软件测试2.ppt》由会员分享,可在线阅读,更多相关《软件工程第七章软件测试2.ppt(70页珍藏版)》请在三一办公上搜索。
1、软件工程第七章软件测试,2,Contents,7.4 测试用例设计,软件危机(1.2),3,测试用例设计,两种常用的测试方法 黑盒测试 白盒测试,4,黑盒测试,这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。黑盒测试又叫做功能测试或数据驱动测试。,5,黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误:是否有不正确或遗漏了的功能?在接口上,输入能否正确地接受?能否输出正确的结果?是否有数据结构错误或外部信息(例如数据文件)访问错误?性能上是否能够满足要求?是否有初始化或终止性错误?,6,
2、用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。但这是不可能的。,7,假设一个程序P有输入量X和Y及输出量Z。在字长为32位的计算机上运行。若X、Y取整数,按黑盒方法进行穷举测试:可能采用的 测试数据组:232232 264 如果测试一组数据需要1毫秒,一年工作365 24小时,完成所有测试需5亿年。,8,白盒测试,此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构
3、测试或逻辑驱动测试。,9,软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:对程序模块的所有独立的执行路径至少测试一次;对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;在循环的边界和运行界限内执行循环体;测试内部数据结构的有效性,等。,10,对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。给出一个小程序的流程图,它包括了一个执行20次的循环。包含的不同执行路径数达520条,对每一条路径进行测试需要1毫秒,假定一年工作365 24小时,要想把所有路径测试完,需3170年。,11,12,逻辑覆盖,1 语句覆盖 2 判定覆盖 3 条件覆盖,4 判定/条件覆盖
4、5 条件组合覆盖 6 路径覆盖,逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术。它属白盒测试。,13,(A1)and(B=0),(A=2)or(X1),X=X/A,X=X+1,T,T,F,F,a,b,d,c,e,14,L1(a c e)=(A1)and(B=0)and(A=2)or(X/A1)=(A1)and(B=0)and(A=2)or(A1)and(B=0)and(X/A1)=(A=2)and(B=0)or(A1)and(B=0)and(X/A1),15,L2(a b d)=not(A1)and(B=0)and not(A=2)or(X1)=not(A1)or not(B=0)a
5、nd not(A=2)and not(X1)=not(A1)and not(A=2)and not(X1)or not(B=0)and not(A=2)and not(X1),16,L3(a b e)=not(A1)and(B=0)and(A=2)or(X1)=not(A1)or not(B=0)and(A=2)or(X1)=not(A1)and(A=2)or not(A1)and(X1)or not(B=0)and(A=2)or not(B=0)and(X1),17,L4(a c d)=(A1)and(B=0)and not(A=2)or(X/A1)=(A1)and(B=0)and not(
6、A=2)and not(X/A1),18,1 语句覆盖,语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。在图例中,正好所有的可执行语句都在路径L1上,所以选择路径 L1设计测试用例,就可以覆盖所有的可执行语句。,19,测试用例的设计格式如下【输入的(A,B,X),输出的(A,B,X)】为图例设计满足语句覆盖的测试用例是:【(2,0,4),(2,0,3)】覆盖 ace【L1】,(A=2)and(B=0)or(A1)and(B=0)and(X/A1),20,2 判定覆盖,判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。
7、判定覆盖又称为分支覆盖。对于图例,如果选择路径L1和L2,就可得满足要求的测试用例:,21,【(2,0,4),(2,0,3)】覆盖 ace【L1】【(1,1,1),(1,1,1)】覆盖 abd【L2】,(A=2)and(B=0)or(A1)and(B=0)and(X/A1),not(A1)and not(A=2)and not(X1)or not(B=0)and not(A=2)and not(X1),22,如果选择路径L3和L4,还可得另一组可用的测试用例:【(2,1,1),(2,1,2)】覆盖 abe【L3】【(3,0,3),(3,1,1)】覆盖 acd【L4】,not(A1)and(X1
8、)or not(B=0)and(A=2)or not(B=0)and(X1),(A1)and(B=0)and not(A=2)and not(X/A1),23,3 条件覆盖,条件覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。在图例中,我们事先可对所有条件的取值加以标记。例如,对于第一个判断:条件 A1 取真为,取假为 条件 B0 取真为,取假为,24,对于第二个判断:条件A2 取真为,取假为 条件X1 取真为,取假为 测试用例 覆盖分支 条件取值【(2,0,4),(2,0,3)】L1(c,e)【(1,0,1),(1,0,1)】L2(b,d)【(2
9、,1,1),(2,1,2)】L3(b,e)或,25,测 试 用 例覆盖分支 条件取值【(1,0,3),(1,0,4)】L3(b,e)【(2,1,1),(2,1,2)】L3(b,e),26,4 判定/条件覆盖判定条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,每个判断中的每个条件的可能取值至少执行一次。,27,测 试 用 例覆盖分支 条件取值【(2,0,4),(2,0,3)】L1(c,e)【(1,1,1),(1,1,1)】L2(b,d),(A=2)and(B=0)or(A1)and(B=0)and(X/A1),not(A1)and not(A=2)and not(X
10、1)or not(B=0)and not(A=2)and not(X1),28,and,or,A1,T,B=0,T,X=X/A,T,F,F,A=2,T,F,X1,F,X=X+1,29,5 条件组合覆盖,条件组合覆盖就是设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次。记 A1,B0 作 A1,B0 作 A1,B0 作 A1,B0 作,30,A2,X1 作 A2,X1 作 A2,X1 作 A2,X1 作 测 试 用 例 覆盖条件 覆盖组合【(2,0,4),(2,0,3)】(L1),【(2,1,1),(2,1,2)】(L3),【(1,0,3),(1,0,4)】(L
11、3),【(1,1,1),(1,1,1)】(L2),31,6 路径测试,路径测试就是设计足够的测试用例,覆盖程序中所有可能的路径。测 试 用 例 通过路径 覆盖条件【(2,0,4),(2,0,3)】ace(L1)【(1,1,1),(1,1,1)】abd(L2)【(1,1,2),(1,1,3)】abe(L3)【(3,0,3),(3,0,1)】acd(L4),32,黑盒测试的测试用例设计,等价类划分 边界值分析 错误推测法,33,1 等价类划分,等价类划分是一种典型的黑盒测试方法,使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。等价类划分方法把所有可能的输入数据,即程序
12、的输入域划分成若干部分,然后从每一部分中选取少数有代表性的数据做为测试用例。,34,使用这一方法设计测试用例要经历划分等价类(列出等价类表)和选取测试用例两步。划分等价类等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其它值的测试。,35,等价类的划分有两种不同的情况:有效等价类:是指对于程序的规格说明来说,是合理的,有意义的输入数据构成的集合。无效等价类:是指对于程序的规格说明来说,是不合理的,无意义的输入数据构成的集合。在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。,36,划分等价类等价类的原则。(1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 第七 软件 测试
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5639628.html