黑盒与白盒测试讲座

上传人:飞*** 文档编号:52091335 上传时间:2018-08-18 格式:PPT 页数:53 大小:589.50KB
返回 下载 相关 举报
黑盒与白盒测试讲座_第1页
第1页 / 共53页
黑盒与白盒测试讲座_第2页
第2页 / 共53页
黑盒与白盒测试讲座_第3页
第3页 / 共53页
黑盒与白盒测试讲座_第4页
第4页 / 共53页
黑盒与白盒测试讲座_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《黑盒与白盒测试讲座》由会员分享,可在线阅读,更多相关《黑盒与白盒测试讲座(53页珍藏版)》请在金锄头文库上搜索。

1、软件测试基本方法软件测试方法软件测试方法 三种常用的测试方法三种常用的测试方法 黑盒测试黑盒测试 白盒测试白盒测试 灰盒测试灰盒测试黑盒测试黑盒测试黑盒测试 这种方法是把这种方法是把测试对象测试对象看做看做一个黑盒一个黑盒 子子,测试人员完全不考虑程序内部的,测试人员完全不考虑程序内部的 逻辑结构和内部特性,只依据程序的逻辑结构和内部特性,只依据程序的 需求规格说明书,检查程序的功能是需求规格说明书,检查程序的功能是 否符合它的功能说明。否符合它的功能说明。 黑盒测试又叫做黑盒测试又叫做功能测试功能测试或或数据驱动数据驱动 测试测试。 黑盒测试方法是在程序接口上进行测试黑盒测试方法是在程序接口

2、上进行测试 ,主要是为了发现以下错误,主要是为了发现以下错误: : 是否有不正确或遗漏了的功能是否有不正确或遗漏了的功能? ? 在接口上,在接口上,输入能否正确地接受输入能否正确地接受? ? 能否输出正确的结果能否输出正确的结果? ? 是否有数据结构错误或外部信息是否有数据结构错误或外部信息( ( 例如数据文件例如数据文件) )访问错误访问错误? ? 性能上是否能够满足要求性能上是否能够满足要求? ? 是否有初始化或终止性错误是否有初始化或终止性错误? ? 用黑盒测试发现程序中的错误用黑盒测试发现程序中的错误 ,必须在,必须在所有可能的输入条件所有可能的输入条件 和输出条件和输出条件中确定测试

3、数据,中确定测试数据, 来检查程序是否都能产生正确来检查程序是否都能产生正确 的输出。的输出。 但这是但这是不可能不可能的。的。 假设一个假设一个程序程序P P有有输入量输入量X X和和Y Y及及输出量输出量Z Z。若。若X X、Y Y取整数,按黑盒方法进行穷举取整数,按黑盒方法进行穷举 测试:测试: 可能采用的可能采用的测试数据组:测试数据组:2 232322 232322 26464 如果测试一组数据需要如果测试一组数据需要1 1毫秒,一年工毫秒,一年工 作作365365 24 24小时,完成所有测试需小时,完成所有测试需5 5亿亿 年。年。黑盒测试的技术方法黑盒测试的技术方法 等价类划分

4、 边界值分析 错误推测法 因果图 比较测试法 决策表法等价类划分等价类划分 等价类划分是一种典型的黑盒测试方法,使等价类划分是一种典型的黑盒测试方法,使 用这一方法时,用这一方法时,完全不考虑程序的内部结构完全不考虑程序的内部结构 ,只依据程序的规格说明来设计测试用例只依据程序的规格说明来设计测试用例。 等价类划分方法等价类划分方法把所有可能的输入数据把所有可能的输入数据,即,即 程序的输入域程序的输入域划分成若干部分划分成若干部分,然后,然后从每一从每一 部分中选取少数有代表性的数据做为测试用部分中选取少数有代表性的数据做为测试用 例例。 在进行等价类划分之前,需要先从程在进行等价类划分之前

5、,需要先从程 序的功能说明书中找出各个输入条件序的功能说明书中找出各个输入条件 ,然后为每个输入条件划分两个或多,然后为每个输入条件划分两个或多 个等价类,形成若干的互不相交的子个等价类,形成若干的互不相交的子 集,这称之为等价类。所谓等价类是集,这称之为等价类。所谓等价类是 指输入域的某个子集合,所有等价类指输入域的某个子集合,所有等价类 的并集就是整个输入域的并集就是整个输入域 使用这一方法设计测试用例要经历使用这一方法设计测试用例要经历 划分等价类划分等价类(列出等价类表)和(列出等价类表)和选选 取测试用例取测试用例两步。两步。 划分等价类划分等价类 等价类是指某个输入域的子集合。等价

6、类是指某个输入域的子集合。 在该子集合中,在该子集合中,各个输入数据对于各个输入数据对于 揭露程序中的错误都是等效的揭露程序中的错误都是等效的。测。测 试某等价类的代表值就等价于对这试某等价类的代表值就等价于对这 一类其它值的测试。一类其它值的测试。 等价类的划分有两种不同的情况:等价类的划分有两种不同的情况: 有效等价类有效等价类:是指对于程序的:是指对于程序的 规格说明来说,是合理的,有意义规格说明来说,是合理的,有意义 的输入数据构成的集合。的输入数据构成的集合。举例:测试举例:测试a a、b b是正整数,是正整数, 1:c:边为边为a a、b b、c c的等边三角形的等边三角形 R2=

7、:c:边为边为a a、b b、c c的等腰三角形的等腰三角形 R3=:c:边为边为a a、b b、c c的一般三角形的一般三角形 R4=:c:边为边为a a、b b、c c的非三角形的非三角形 4 4个标准等价类测试用例个标准等价类测试用例测试用例测试用例a ab bc c预期输出预期输出Test1Test1101010101010等边三角形等边三角形Test2Test2101010105 5等腰三角形等腰三角形Test3Test33 34 45 5一般三角形一般三角形Test4Test44 42 21 1非三角形非三角形7 7个健壮性等价类测试用例个健壮性等价类测试用例 测试用例测试用例a

8、ab bc c预期输出预期输出Test1Test15 56 67 7一般三角形一般三角形Test2Test2-1-15 55 5a a值超出输入值定义域值超出输入值定义域Test3Test35 5-1-15 5b b值超出输入值定义域值超出输入值定义域Test4Test45 55 5-1-1c c值超出输入值定义域值超出输入值定义域Test5Test51011015 55 5a a值超出输入值定义域值超出输入值定义域Test6Test65 51011015 5b b值超出输入值定义域值超出输入值定义域Test7Test75 55 5101101c c值超出输入值定义域值超出输入值定义域边界值分

9、析边界值分析 边界值分析也是一种黑盒测试方法,边界值分析也是一种黑盒测试方法, 是对等价类划分方法的补充。是对等价类划分方法的补充。 人们从长期的测试工作经验得知,人们从长期的测试工作经验得知,大大 量的错误是发生在输入或输出范围的量的错误是发生在输入或输出范围的 边界上,而不是在输入范围的内部边界上,而不是在输入范围的内部。 因此针对各种边界情况设计测试用例因此针对各种边界情况设计测试用例 ,可以查出更多的错误可以查出更多的错误。 比如,在做三角形计算时,要输入三角比如,在做三角形计算时,要输入三角 形的三个边长:形的三个边长:A A、B B和和C C。 我们应注我们应注 意到这三个数值应当

10、满足意到这三个数值应当满足A A0 0、B B0 0、C C0 0、A AB BC C、A AC CB B、B BC CA A,才才 能构成三角形。但如果把六个不等式中能构成三角形。但如果把六个不等式中 的任何一个大于号的任何一个大于号“ “” ”错写成大于等于错写成大于等于 号号“”“”,那就不能构成三角形。问题恰,那就不能构成三角形。问题恰 出现在容易被疏忽的边界附近。出现在容易被疏忽的边界附近。 这里所说的边界是指,相对于输入等价类和这里所说的边界是指,相对于输入等价类和 输出等价类而言,稍高于其边界值及稍低于输出等价类而言,稍高于其边界值及稍低于 其边界值的一些特定情况。其边界值的一些

11、特定情况。 使用边界值分析方法设计测试用例,首先应使用边界值分析方法设计测试用例,首先应 确定边界情况。确定边界情况。应当选取正好等于,刚刚大应当选取正好等于,刚刚大 于,或刚刚小于边界的值做为测试数据于,或刚刚小于边界的值做为测试数据,而,而 不是选取等价类中的典型值或任意值做为测不是选取等价类中的典型值或任意值做为测 试数据。试数据。 在应用边界值分析法进行测试用例设在应用边界值分析法进行测试用例设 计时,应遵循的原则:计时,应遵循的原则: 1 1、如果输入条件对取值范围进行了界定,则、如果输入条件对取值范围进行了界定,则 应以边界内部以及刚超出范围边界外的值应以边界内部以及刚超出范围边界

12、外的值 作为测试用例。若范围的下界为条件作为测试用例。若范围的下界为条件X X,上,上 界为界为Y Y,则测试用例应当包含,则测试用例应当包含X X、Y Y以及稍以及稍 小于小于X X和稍大于和稍大于Y Y的值。的值。 2 2、如果对取值的个数进行了界定,则应当分、如果对取值的个数进行了界定,则应当分 别以最大、最小个数及稍小于最小、稍大别以最大、最小个数及稍小于最小、稍大 于最大个数作为测试用例。于最大个数作为测试用例。3 3、对于输出条件,同样可以应用上面提到的、对于输出条件,同样可以应用上面提到的 两条原则来进行测试用例设计。两条原则来进行测试用例设计。 4 4、如果程序规格说明书中指明

13、输入或输出域、如果程序规格说明书中指明输入或输出域 是一个有序的集合,如顺序文件、表格等是一个有序的集合,如顺序文件、表格等 ,就应当注意选取该有序集合中的第一个,就应当注意选取该有序集合中的第一个 和最后一个元素作为测试用例。和最后一个元素作为测试用例。 下例是三角形问题用边界值分析法设计的下例是三角形问题用边界值分析法设计的 测试用例测试用例测试用例测试用例a ab bc c预期输出预期输出 Test1Test1606060601 1等腰三角形等腰三角形 Test2Test2606060602 2等腰三角形等腰三角形 Test3Test3606060606060等边三角形等边三角形Test

14、4Test4505050509999等腰三角形等腰三角形Test5Test550505050100100非三角形非三角形Test6Test660601 16060等腰三角形等腰三角形Test7Test760602 26060等腰三角形等腰三角形Test8Test8505099995050等腰三角形等腰三角形Test9Test950501001005050非三角形非三角形Test10Test101 160606060等腰三角形等腰三角形Test11Test112 260606060等腰三角形等腰三角形Test12Test12999950505050等腰三角形等腰三角形Test13Test1310

15、010050505050非三角形非三角形错误推测法错误推测法 人们也可以靠经验和直觉推测程序人们也可以靠经验和直觉推测程序 中可能存在的各种错误,从而有针中可能存在的各种错误,从而有针 对性地编写检查这些错误的例子。对性地编写检查这些错误的例子。 这就是错误推测法。这就是错误推测法。 错误推测法的基本想法是:错误推测法的基本想法是:列举出列举出 程序中所有可能有的错误和容易发程序中所有可能有的错误和容易发 生错误的特殊情况,根据它们选择生错误的特殊情况,根据它们选择 测试用例测试用例。因果图因果图 因果图的适用范围因果图的适用范围 如果在测试时必须考虑如果在测试时必须考虑输入条件的输入条件的 各种组合各种组合,可使用一种适合于描述,可使用一种适合于描述 对于多种条件的组合,相应产生多对于多种条件的组合,相应产生多 个动作的形式来设计测试用例,这个动作的形式来设计测试用例,这 就需要利用因果图。就需要利用因果图。 因果图方法最终生成的就是判定表因果图方法最终生成的就是判定表 。它适合于检查程序输入条件的各。它适合于检查程序输入条件的各 种组合情况。种组合情况。 (1)(1) 分析软件规格说明描述中,哪分析软件规格说明描述中,哪 些是原因些是原因 ( (即输入条件或输入条件即输入条件或输入条件 的等价类的等价类) ),哪些是结果,哪些是结果

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号