




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程导论陈丹琪灾害信息工程系复 习n白盒测试白盒测试按照程序按照程序内部内部预期应有的预期应有的逻辑逻辑测试测试程序,检验程序中的每条执行通路是否都能按程序,检验程序中的每条执行通路是否都能按预预定要求定要求正确工作。正确工作。又称结构测试,也叫做玻璃盒又称结构测试,也叫做玻璃盒测试测试。n设计白盒测试方案的两种常用技术:设计白盒测试方案的两种常用技术:逻辑覆盖逻辑覆盖n从覆盖语句的详尽程度分析从覆盖语句的详尽程度分析n从程序路径的覆盖程度分析:点、边、路径从程序路径的覆盖程度分析:点、边、路径控制结构测试控制结构测试n基本路径测试基本路径测试n条件测试条件测试n循环测试循环测试语句覆盖语
2、句覆盖判定覆盖判定覆盖条件覆盖条件覆盖判定判定/条件覆盖条件覆盖条件组合覆盖条件组合覆盖1.依据过程设计的结果画出相应的流图。依据过程设计的结果画出相应的流图。2.计算流图的环形复杂度。计算流图的环形复杂度。3.确定线性独立路径的基本集合。确定线性独立路径的基本集合。程序的环形复杂度程序的环形复杂度 = 程序中独立路径的数量程序中独立路径的数量独立路径独立路径是指至少包含一条在定义该路径之前是指至少包含一条在定义该路径之前不曾用过的边。不曾用过的边。4.设计出可强制执行基本集合中每条路径的测设计出可强制执行基本集合中每条路径的测试用例。试用例。本节课内容n第七章实现第七章实现 7.17.1、编
3、码、编码7.27.2、软件测试基础、软件测试基础7.37.3、单元测试、单元测试7.47.4、集成测试、集成测试7.57.5、确认测试、确认测试7.67.6、白盒测试技术、白盒测试技术7.77.7、黑盒测试技术、黑盒测试技术7.87.8、调试、调试7.97.9、软件可靠性、软件可靠性黑盒测试技术 n黑盒测试黑盒测试已知产品应该具有的功能,通过已知产品应该具有的功能,通过在程在程序接口进行的测试序接口进行的测试来检验是否每个功能都能来检验是否每个功能都能按照规按照规格说明书的规定格说明书的规定正常使用。正常使用。黑盒测试又称为功能测试、数据驱动测试或行为测黑盒测试又称为功能测试、数据驱动测试或行
4、为测试。一般由测试工程师负责实施。试。一般由测试工程师负责实施。黑盒测试是与白盒测试技术互补的方法。它很可能黑盒测试是与白盒测试技术互补的方法。它很可能发现白盒测试不易发现的其他不同类型的错误。发现白盒测试不易发现的其他不同类型的错误。n白盒测试在测试过程的早期阶段进行,而黑盒测试则白盒测试在测试过程的早期阶段进行,而黑盒测试则主要用在测试过程的后期。主要用在测试过程的后期。黑盒测试技术应用黑盒测试技术可以设计出满足下述标准的测试应用黑盒测试技术可以设计出满足下述标准的测试用例集:用例集:n所设计出的测试用例能够减少为达到合理测试而需要所设计出的测试用例能够减少为达到合理测试而需要设计的附加测
5、试用例的数目。设计的附加测试用例的数目。n所设计出的测试用例能够指出是否存在某些类型的错所设计出的测试用例能够指出是否存在某些类型的错误,而不是仅仅告诉我们与特定测试相关的错误是否误,而不是仅仅告诉我们与特定测试相关的错误是否存在。存在。黑盒测试方法主要有:黑盒测试方法主要有:n等价划分等价划分n边界值分析边界值分析n错误推测错误推测没有一种方法能提供一组完整的测试用没有一种方法能提供一组完整的测试用例来检查程序的全部功能,在实际测试例来检查程序的全部功能,在实际测试中应该把各种方法结合起来使用。中应该把各种方法结合起来使用。等价划分n等价划分等价划分首先把程序的输入域划分成若干个首先把程序的
6、输入域划分成若干个数据类(等价类:有效、无效),然后从划分出数据类(等价类:有效、无效),然后从划分出的每个输入数据种类中选取少量的每个输入数据种类中选取少量最有代表性的输最有代表性的输入数据入数据作为测试数据,以便用较小的代价测试出作为测试数据,以便用较小的代价测试出较多的程序错误。较多的程序错误。使用等价划分法设计测试方案时,注意:使用等价划分法设计测试方案时,注意:n要同时考虑有效等价类和无效等价类的设计。要同时考虑有效等价类和无效等价类的设计。n还要分析输出数据的等价类,以便根据输出数据的还要分析输出数据的等价类,以便根据输出数据的等价类导出对应的输入数据等价类。等价类导出对应的输入数
7、据等价类。划分等价类的启发式规则划分等价类的启发式规则等价划分等价划分法测试用例设计步骤:等价划分法测试用例设计步骤:n1. 划分等价类:列举出所有有效和无效等价类,并划分等价类:列举出所有有效和无效等价类,并为每个等价类规定一个唯一的编号。为每个等价类规定一个唯一的编号。n2. 设计一个新的测试方案以尽可能多地覆盖尚未被设计一个新的测试方案以尽可能多地覆盖尚未被覆盖的有效等价类,复重这一步骤直到所有有效等覆盖的有效等价类,复重这一步骤直到所有有效等价类都被覆盖为止。价类都被覆盖为止。n3. 设计一个新的测试方案,使它覆盖一个而且只覆设计一个新的测试方案,使它覆盖一个而且只覆盖一个尚未被覆盖的
8、无效等价类,重复这一步骤直盖一个尚未被覆盖的无效等价类,重复这一步骤直到所有无效等价类都被覆盖为止。到所有无效等价类都被覆盖为止。等价划分例例1.1.在某一在某一PASCALPASCAL语言版本中规定:语言版本中规定:“标识符是标识符是由字母开头,后跟字母或数字的任意组合。有效由字母开头,后跟字母或数字的任意组合。有效字符数为字符数为8 8个,最大字符数为个,最大字符数为8080个。个。”并且规定:并且规定:“标识符必须先说明,再使用。在同一说明语句标识符必须先说明,再使用。在同一说明语句中,标识符至少必须有一个。中,标识符至少必须有一个。”n按照等价类的划分原则,建立输入等价类。按照等价类的
9、划分原则,建立输入等价类。等价划分n选取测试用例,覆盖所有的等价类。选取测试用例,覆盖所有的等价类。 var x, T1234567:real var x, T1234567:real; begin x:=3.414begin x:=3.414;T1234567:=2.732T1234567:=2.732; (1),(2),(4),(8),(9),(12),(14) (1),(2),(4),(8),(9),(12),(14) 有效标识符有效标识符 var :real; (3) var :real; (3) 无效标识符无效标识符 var x, :real; (5) var x, :real; (
10、5) var T12345678:real; (6) var T12345678:real; (6) var T12345.:real var T12345.:real; (7)(7)多于多于8080个字符个字符 var T$:char var T$:char; (10)(10) var GOTO:integer var GOTO:integer; (11)(11) var 2T:real var 2T:real; (13)(13) var PAR:real var PAR:real; begin PAP:=2.5+(3.14begin PAP:=2.5+(3.14* *0.8)/60.8)/
11、6; (15) (15)等价划分例例2.2.输入三个整数输入三个整数a、b和和c分别作为三角形的分别作为三角形的3条边,条边,通过程序判断由这通过程序判断由这3条边构成的三角形类型是:等条边构成的三角形类型是:等边三角形、等腰三角形、一般三角形或非三角形。边三角形、等腰三角形、一般三角形或非三角形。请从输出域定义等价类,设计测试用例。请从输出域定义等价类,设计测试用例。n按照等价类的划分原则,建立输出等价类。按照等价类的划分原则,建立输出等价类。n选取测试用例,覆盖所有的等价类。选取测试用例,覆盖所有的等价类。输出输出有效等价类有效等价类无效等价类无效等价类构成何构成何种三角种三角形形等边三角
12、形等边三角形 (1)非三角形(非三角形(4)等腰三角形(等腰三角形(2)一般三角形(一般三角形(3)abc预期结果预期结果覆盖等价类覆盖等价类555等边三角形等边三角形1223等腰三角形等腰三角形2345一般三角形一般三角形3412非三角形非三角形4等价划分例例3.3.某一报表处理系统,要求用户输入处理报表某一报表处理系统,要求用户输入处理报表的日期。假设日期限制在的日期。假设日期限制在19901990年年1 1月至月至19991999年年1212月,月,即系统只能对该段时间内的报表进行处理。如果即系统只能对该段时间内的报表进行处理。如果用户输入的日期不在此范围内,则显示输入错误用户输入的日期
13、不在此范围内,则显示输入错误信息。该系统规定日期由年、月的信息。该系统规定日期由年、月的6 6位数字字符组位数字字符组成,前成,前4 4位代表年,后两位代表月。现用等价类划位代表年,后两位代表月。现用等价类划分法设计测试用例,来测试程序的分法设计测试用例,来测试程序的“日期检查功日期检查功能能” 。等价划分n按照等价类的划分原则,建立输入等价类。按照等价类的划分原则,建立输入等价类。等价划分n选取测试用例,覆盖所有的等价类。选取测试用例,覆盖所有的等价类。“报表日期报表日期”的等价类测试用例的等价类测试用例边界值分析n边界值分析边界值分析由于处理边界情况时程序最容易由于处理边界情况时程序最容易
14、发生错误,所以针对各种边界情况设计测试用例,发生错误,所以针对各种边界情况设计测试用例,可以查出更多的错误。可以查出更多的错误。产生边界条件问题的示例:产生边界条件问题的示例:1: Rem Create a 10 element integer array2: Rem Initialize each element to -13: Dim data(10) As Integer4: Dim i As Integer5: For i=1 To 106: data(i)=-17: Next i8: End边界值分析边界值和等价类密切相关,输入等价类和输出等边界值和等价类密切相关,输入等价类和输出等
15、价类的边界是要着重测试的边界情况。价类的边界是要着重测试的边界情况。边界值分析是对等价类划分方法的补充。边界值分析是对等价类划分方法的补充。边界值分析法测试用例设计步骤:边界值分析法测试用例设计步骤:n确定边界情况(输入或输出等价类的边界)确定边界情况(输入或输出等价类的边界)n选取正好等于、刚刚大于或刚刚小于边界值作为测选取正好等于、刚刚大于或刚刚小于边界值作为测试数据试数据边界值分析例例4.4.用边界值分析法,对例用边界值分析法,对例3 3报表处理系统中的报报表处理系统中的报表日期输入条件设计测试用例。表日期输入条件设计测试用例。边界值分析n实施黑盒测试过程中,设计测试方案时总是联合实施黑
16、盒测试过程中,设计测试方案时总是联合使用等价划分和边界值分析两种技术。使用等价划分和边界值分析两种技术。例例5.5.联合使用等价划分和边界值分析法,完成对联合使用等价划分和边界值分析法,完成对“计算两个计算两个1 1100100之间整数和之间整数和”程序的用例设计。程序的用例设计。n按照等价类的划分原则,建立输入等价类。按照等价类的划分原则,建立输入等价类。输入条件输入条件有效等价类有效等价类无效等价类无效等价类输入输入2个整数个整数2个数(个数(1)1个数(个数(4)3个数(个数(5)整数(整数(2)小数(小数(6)字母(字母(7)特殊字符(特殊字符(8)空格(空格(9)空白(空白(10)1
17、100(3)小于小于1(11)大于大于100(12)边界值分析n选取测试用例,覆盖所有的等价类。选取测试用例,覆盖所有的等价类。测试用例测试用例输入输入a、b期望输出期望输出覆盖等价类覆盖等价类Test13 , 403 , 40431,2,3Test21010提示提示“请输入两个请输入两个1100之间的整数之间的整数”4Test31 , 5 , 121 , 5 , 12提示提示“请输入两个请输入两个1100之间的整数之间的整数”5Test42.3 , 4.12.3 , 4.1提示提示“请输入两个请输入两个1100之间的整数之间的整数”6Test5A , BA , B提示提示“请输入两个请输入两
18、个1100之间的整数之间的整数”7Test6 , # , #提示提示“请输入两个请输入两个1100之间的整数之间的整数”8Test7 , , 提示提示“请输入两个请输入两个1100之间的整数之间的整数”9Test8提示提示“请输入两个请输入两个1100之间的整数之间的整数”10Test90 , 00 , 0提示提示“请输入两个请输入两个1100之间的整数之间的整数”11Test10101 , 101101 , 101提示提示“请输入两个请输入两个1100之间的整数之间的整数”12Test111 , 11 , 121,2,3Test12100 , 100100 , 1002001,2,3Test
19、132 , 22 , 241,2,3Test1499 , 9999 , 991981,2,3错误推测法n错误推测法错误推测法依靠测试人员的直觉和经验推测依靠测试人员的直觉和经验推测程序中可能存在的各种错误,从而有针对性地编程序中可能存在的各种错误,从而有针对性地编写检查这些错误的例子。写检查这些错误的例子。基本做法:基本做法:n列举出程序中可能有的错误和容易发生错误的特殊列举出程序中可能有的错误和容易发生错误的特殊情况,并且根据它们设计测试方案。情况,并且根据它们设计测试方案。错误推测法的几条经验:错误推测法的几条经验: n输入数据为输入数据为0或输出数据为或输出数据为0 n输入表格为空或输入表格只有一行输入表格为空或输入表格只有一行 n针对排序程序,输入空的值、一个数据、让所有输针对排序程序,输入空的值、一个数据、让所有输入数据都相等、让所有输入数据有序排列、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供货合同买卖合同范本
- 矿资源赠送合同范本
- 2025年多翼式鼓风机项目合作计划书
- 单位长期包车合同范本
- 写转账合同范本
- 买卖介绍居间合同范本
- 2025年单相电能表项目建议书
- 农村基建安全施工合同范本
- 个体企业转让合同范本
- 模具加工报价合同范本
- 化学品(氩气+二氧化碳混合气)安全技术使用说明书
- 煤层气开发-第2章-煤层气地质
- 美罗华(利妥昔单抗)课件
- 税务简易注销课件
- 人教版五年级数学下册第六单元分层作业设计
- 肺叶切除术和全肺切除术的麻醉课件
- 智能制造在食品加工业的应用
- BI软件工程师个人年终工作总结
- CH:火花塞功能、结构类型及检测
- “中小学教师全员远程培训”的实效性研究-以山西省J市为例的中期报告
- 工业旅游项目策划
评论
0/150
提交评论