第11章软件测试优秀PPT.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第11章软件测试优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第11章软件测试优秀PPT.ppt(74页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第11章软件测试章软件测试现在学习的是第1页,共74页内容摘要内容摘要1软件测试基础2白盒测试3黑盒测试4测试策略5面向对象测试6测试完成标准7调试现在学习的是第2页,共74页内容摘要内容摘要1软件测试基础2白盒测试3黑盒测试4测试策略5面向对象测试6测试完成标准7调试现在学习的是第3页,共74页软件测试基础软件测试基础1软件测试的目的软件测试的目的2软件测试的基本原则软件测试的基本原则3白盒测试和黑盒测试白盒测试和黑盒测试现在学习的是第4页,共74页有关软件测试的错误观点有关软件测试的错误观点1 “软件测试是为了证明程序是正确的,即测试能发现程序中所有的错误”。u事实上这是不可能的。要通过
2、测试发现程序中的所有错误,就要穷举所有可能的输入数据。例如:(1)对于一个输入三个16位字长的整型数据的程序,输入数据的所有组合情况有2*48,如果测试一个数据需1ms,则即使一年365天一天24小时不停地测试,也需要约1万年。(2)对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。例如一个小程序的流程图,它包括了一个执行20次的循环,其循环体有五个分支。这个循环的不同执行路径数达5*20条,如果对每一条路径进行测试需要1毫秒,那么即使一年工作365 24小时,要想把所有路径测试完,大约需3170年。现在学习的是第5页,共74页1“程序测试是证明程序正确地执行了预期的功能”。实
3、际上,一个程序不仅要完成它所需完成的功能,而且不应完成它不该做的事。例:三条边相等的三角形是等边三角形。如不能把边长为0、0、0的三条边判断为等边三角形。有关软件测试的错误观点有关软件测试的错误观点现在学习的是第6页,共74页软件测试的目的软件测试的目的uGlen Myers给出的软件测试目的:给出的软件测试目的:测试是一个为了发现错误而执行程序的过程测试是一个为了发现错误而执行程序的过程一个好的测试用例是指很可能找到迄今为至尚未发现的错误一个好的测试用例是指很可能找到迄今为至尚未发现的错误的测试用例的测试用例一个成功的测试是指揭示了迄今为至尚未发现的错误的测一个成功的测试是指揭示了迄今为至尚
4、未发现的错误的测试试 根据这个测试目的,我们应该排除对测试的错误观点,设根据这个测试目的,我们应该排除对测试的错误观点,设计合适的测试用例,用尽可能少的测试用例,来发现尽可计合适的测试用例,用尽可能少的测试用例,来发现尽可能多的软件错误。能多的软件错误。现在学习的是第7页,共74页软件测试的原则软件测试的原则Davis提出了一组指导软件测试的基本原则:提出了一组指导软件测试的基本原则:1.所有的测试都应可追溯到客户需求所有的测试都应可追溯到客户需求2.应该在测试工作真正开始前的较长时间就进行测试计划应该在测试工作真正开始前的较长时间就进行测试计划3.Pareto原则:测试中发现的原则:测试中发
5、现的80%的错误可能来自于的错误可能来自于20%的程序代码的程序代码4.测试应从测试应从“小规模小规模”开始,逐步转向开始,逐步转向“大规模大规模”5.穷举测试是不可能的穷举测试是不可能的6.为了达到最有效的测试,应由独立的第三方来承担测试为了达到最有效的测试,应由独立的第三方来承担测试现在学习的是第8页,共74页其他的测试原则:其他的测试原则:1.在设计测试用例时,应包括合理的输入条件和不合理的输入条件在设计测试用例时,应包括合理的输入条件和不合理的输入条件2.严格执行测试计划,排除测试的随意性严格执行测试计划,排除测试的随意性3.应当对每一个测试结果做全面检查应当对每一个测试结果做全面检查
6、4.妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便5.检查程序是否做了应做的事,仅仅是成功的一半,而成功的另一半检查程序是否做了应做的事,仅仅是成功的一半,而成功的另一半是检查程序是否做了不该做的事是检查程序是否做了不该做的事6.在规划测试时不要设想程序中不会查出错误在规划测试时不要设想程序中不会查出错误软件测试的原则软件测试的原则现在学习的是第9页,共74页u测试用例u测试用例的设计是软件测试的关键所在u设计尽可能少的测试用例来发现尽可能多的错误u设计最有可能发现软件错误的测试用例,同时避免使用发现错误效果
7、相同的测试用例u测试用例的设计方法大体可分为两类:白盒测试和黑盒测试,也称白箱测试和黑箱测试软件测试的原则软件测试的原则现在学习的是第10页,共74页u白盒测试白盒测试(又称为结构测试)(又称为结构测试)把测试对象看作一个透明的盒子,测试人员根据程把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确地工作。定的要求正确地工作。u白盒测试主要用于对模块的测试,包括:白盒测试主要用于对模块的测试,包括:程序模块中的所有独立路径至少执行一次程序模块中的所
8、有独立路径至少执行一次对所有逻辑判定的取值(对所有逻辑判定的取值(“真真”与与“假假”)都至少测试一次)都至少测试一次在上下边界及可操作范围内运行所有循环在上下边界及可操作范围内运行所有循环测试内部数据结构的有效性等测试内部数据结构的有效性等白盒测试与黑盒测试白盒测试与黑盒测试现在学习的是第11页,共74页u黑盒测试黑盒测试(又称行为测试)把测试对象看做一个黑盒子,测试人员完(又称行为测试)把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能需求。明书,检
9、查程序的功能是否符合它的功能需求。u黑盒测试可用于各种测试,它试图发现以下类型的错误:黑盒测试可用于各种测试,它试图发现以下类型的错误:不正确或遗漏的功能不正确或遗漏的功能接口错误,如输入接口错误,如输入/输出参数的个数、类型等输出参数的个数、类型等数据结构错误或外部信息数据结构错误或外部信息(如外部数据库如外部数据库)访问错误访问错误性能错误性能错误初始化和中止错误初始化和中止错误白盒测试与黑盒测试白盒测试与黑盒测试现在学习的是第12页,共74页内容摘要内容摘要1软件测试基础2白盒测试3黑盒测试4测试策略5面向对象测试6测试完成标准7调试现在学习的是第13页,共74页白盒测试白盒测试常用的白
10、盒测试方法有:常用的白盒测试方法有:逻辑覆盖测试逻辑覆盖测试基本路径覆盖测试基本路径覆盖测试数据流测试数据流测试循环测试循环测试现在学习的是第14页,共74页逻辑覆盖测试逻辑覆盖测试 语句覆盖语句覆盖 判定覆盖判定覆盖 条件覆盖条件覆盖 判定条件覆盖判定条件覆盖 条件组合覆盖条件组合覆盖 路径覆盖路径覆盖逻辑覆盖主要考察使用测试数据运行被测程序时对程序逻辑覆盖主要考察使用测试数据运行被测程序时对程序逻辑的覆盖程度。通常希望选择最少的测试用例来满足逻辑的覆盖程度。通常希望选择最少的测试用例来满足所需的覆盖标准。主要的覆盖标准有:所需的覆盖标准。主要的覆盖标准有:现在学习的是第15页,共74页逻辑
11、表达式错误敏感的测试逻辑表达式错误敏感的测试u逻辑覆盖测试依赖于程序中的逻辑条件,这些逻辑条件由逻辑表达式组成。对于一个含有n个逻辑变量,或n个关系表达式的逻辑表达式,通常需要2n个测试用例来覆盖其所有可能的条件组合。u当n较大时,我们可以选择对发现逻辑表达式错误比较敏感的组合条件进行测试,以较少的测试用例来发现逻辑表达式中的绝大多数错误。现在学习的是第16页,共74页基本路径测试基本路径测试u在实际问题中,一个不太复杂的程序,特别是包含循环的程序,其路径数可能非常大。因此测试常常难以做到覆盖程序中的所有路径,为此,我们希望把测试的程序路径数压缩到一定的范围内。u基本路径测试是Tom McCa
12、be提出的一种白盒测试技术,这种方法首先根据程序或设计图画出控制流图,并计算其区域数,然后确定一组独立的程序执行路径(称为基本路径),最后为每一条基本路径设计一个测试用例。现在学习的是第17页,共74页数据流测试数据流测试u数据流测试是根据程序中变量的定义(赋值)和引用位置来选择测试用例u假定s为语句的标号(每个语句有唯一的标号),x为变量名。定义:DEF(s)=x|语句s中含有对x的定义USE(s)=x|语句s中含有对x的引用 当s为分支或循环语句时,DEF(s)=设变量x在语句s中被定义,如果存在一条从语句s到语句s 的路径,并且在这条路径上不存在对x的其它定义,则称变量x在s处定义在s处
13、仍有效。现在学习的是第18页,共74页循环测试循环测试u循环分为4种不同类型:简单循环、嵌套循环、串接循环和非结构循环。现在学习的是第19页,共74页循环测试循环测试 (1)简单循环简单循环 按照下列规则设计测试用例:按照下列规则设计测试用例:零次循环:从循环入口到出口零次循环:从循环入口到出口 一次循环:检查循环初始值一次循环:检查循环初始值 二次循环:检查多次循环二次循环:检查多次循环 m次循环:次循环:检查多次循环检查多次循环 最大次数循环最大次数循环 比最大次数多一次的循环比最大次数多一次的循环 比最大次数少一次的循环比最大次数少一次的循环现在学习的是第20页,共74页按照下列规则设计
14、测试用例:先测试最内层循环:所有外层的循环变量置为最小值,最内层按简单循环测试;由里向外,测试上一层循环:测试时此层以外的所有外层循环的循环变量取最小值,此层以内的所有嵌套内层循环的循环变量取“典型”值,该层按简单循环测试;重复上一条规则,直到所有各层循环测试完毕;对全部各层循环同时取最小循环次数,同时取最大循环次数(2)嵌套循环嵌套循环循环测试循环测试现在学习的是第21页,共74页(3)串接循环串接循环如果串接的各个循环互相独立,则可以分别用简单循环的方法进行测试;但如果第一个循环的循环变量与第二个循环控制相关,则两个循环不独立,此时,把第一个循环看作外循环,第二个循环看作内循环,然后用测试
15、嵌套循环的办法来处理。(4)非结构循环非结构循环这一类循环应该先将其结构化,然后再测试。这一类循环应该先将其结构化,然后再测试。循环测试循环测试现在学习的是第22页,共74页内容摘要内容摘要1软件测试基础2白盒测试3黑盒测试4测试策略5面向对象测试6测试完成标准7调试现在学习的是第23页,共74页黑盒测试黑盒测试黑盒测试是依据软件的需求规约,检查程序的功黑盒测试是依据软件的需求规约,检查程序的功能是否符合需求规约的要求。能是否符合需求规约的要求。主要的黑盒测试方法有:主要的黑盒测试方法有:等价类划分等价类划分边界值分析边界值分析比较测试比较测试错误猜测错误猜测因果图因果图现在学习的是第24页,
16、共74页等价类划分等价类划分u由于不能穷举所有可能的输入数据来进行测试,由于不能穷举所有可能的输入数据来进行测试,所以只能所以只能选择少量有代表性选择少量有代表性的输入数据,来揭露尽的输入数据,来揭露尽可能多的程序错误可能多的程序错误u等价类划分方法等价类划分方法将所有可能的输入数据划分成若将所有可能的输入数据划分成若干个等价类,然后在每个等价类中选取一个代表干个等价类,然后在每个等价类中选取一个代表性的数据作为测试用例性的数据作为测试用例现在学习的是第25页,共74页1等价类划分方法把输入数据分为有效输入数据和无效输入数据2有效输入数据指符合规格说明要求的合理的输入数据,主要用来检验程序是否
17、实现了规格说明中的功能3无效输入数据指不符合规格说明要求的不合理或非法的输入数据,主要用来检验程序是否做了规格说明以外的事4在确定输入数据等价类时,常常还要分析输出数据的等价类,以便根据输出数据等价类导出输入数据等价类。等价类划分等价类划分现在学习的是第26页,共74页等价类划分设计测试用例的步骤等价类划分设计测试用例的步骤1确定等价类确定等价类根据软件的规格说明,对每一个输入条件(通常是规格说明根据软件的规格说明,对每一个输入条件(通常是规格说明中的一句话或一个短语)确定若干个有效等价类和若干个无中的一句话或一个短语)确定若干个有效等价类和若干个无效等价类。效等价类。可使用如下表格可使用如下
18、表格输入条件输入条件有效等价类有效等价类 无效等价类无效等价类现在学习的是第27页,共74页1确定等价类的规则:确定等价类的规则:如果输入条件规定了取值范围,则可以确定一个有效等价类如果输入条件规定了取值范围,则可以确定一个有效等价类(输入值在此范围内)和两个无效等价类(输入值小于最小值(输入值在此范围内)和两个无效等价类(输入值小于最小值及大于最大值)及大于最大值)等价类划分设计测试用例的步骤等价类划分设计测试用例的步骤现在学习的是第28页,共74页1设计测试用例设计测试用例在确定了等价类之后,建立等价类表,列出所有划分出的等价在确定了等价类之后,建立等价类表,列出所有划分出的等价类。并为每
19、个有效等价类和无效等价类编号。类。并为每个有效等价类和无效等价类编号。等价类划分设计测试用例的步骤等价类划分设计测试用例的步骤现在学习的是第29页,共74页边界值分析边界值分析u边界值分析也是一种黑盒测试方法,是对等价类划分方法的补边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。充。u人们从长期的测试工作经验得知,人们从长期的测试工作经验得知,大量的错误是发生在输大量的错误是发生在输入或输出范围的边界上,入或输出范围的边界上,而不是在输入范围的内部。因此针而不是在输入范围的内部。因此针对各种边界情况设计测试用例,其揭露程序中错误的可能性就对各种边界情况设计测试用例,其揭露程序中错误的
20、可能性就更大。更大。现在学习的是第30页,共74页u边界值分析方法选择测试用例的规则如下:1如果输入条件规定了值的范围,则选择刚刚达到这个范围的边界的值以及刚刚超出这个范围的边界的值作为测试输入数据。2如果输入条件规定了值的个数,则分别选择最大个数、最小个数、比最大个数多1、比最小个数少1的数据作为测试输入数据。3对每个输出条件使用第1条。4对每个输出条件使用第2条。5如果程序的输入或输出是个有序集合,例如,顺序文件、表格,则应把注意力集中在有序集的第1个元素和最后一个元素上。6如果程序中定义的内部数据结构有预定义的边界,则应选择使得正好达到该数据结构边界以及刚好超出该数据结构边界的输入数据作
21、为测试数据。7发挥你的智慧,找出其他可能的边界条件。边界值分析边界值分析现在学习的是第31页,共74页比较测试(比较测试(back to back)u在现实中,有些软件有很高的可靠性要求,特别是那些可能危及人的生命安全的软件系统,如航空航天控制软件、核电厂控制软件等,其软件可靠性绝对重要。此时,需要冗余的硬件和软件来减少错误发生的可能性。u通常,可由二支软件开发队伍,根据相同的需求规格说明分别开发二个软件版本,然后,用相同的测试用例对二个版本的软件分别进行测试,比较二个版本软件的测试结果,如果测试结果相同,则可认为二个版本的软件都是正确的,如果测试结果不同,则要分析各个版本,以发现错误的所在。
22、这种测试称为比较测试或称为背靠背测试(backtoback testing)。大多数情况下,可用自动化工具来进行比较测试。现在学习的是第32页,共74页u值得注意的是,比较测试并不能保证软件没有错误,如果规格说明本身有错,那么所有的版本都可能反映这种错误。u另外,如果各个版本产生相同的,但都不正确的结果,那么比较测试也无法发现这种错误。比较测试(比较测试(back to back)现在学习的是第33页,共74页错误推测法错误推测法u错误猜测是一种凭直觉和经验推测某些可能存在的错误,从而针对这些可能存在的错误设计测试用例的方法。u这种方法没有机械的执行步骤,主要依靠直觉和经验。u错误猜测法的基本
23、思想是:列举出程序中所有可能的错误和容易发生错误的特殊情况,然后根据这些猜测设计测试用例。现在学习的是第34页,共74页内容摘要内容摘要1软件测试基础2白盒测试3黑盒测试4测试策略5面向对象测试6测试完成标准7调试现在学习的是第35页,共74页测试策略测试策略u一种测试策略就是将测试分为单元测试、集成测试、确认测试和系统测试。u单元测试是针对程序中的模块或构件,主要揭露编码阶段产生的错误。u集成测试针对集成的软件系统,主要揭露设计阶段产生的错误。u确认测试是根据软件需求规约对集成的软件进行确认,主要揭露不符合需求规约的错误。u对于基于计算机系统中的软件,还需将它集成到基于计算机系统中,并进行系
24、统测试,以揭露不符合系统工程中对软件要求的错误。现在学习的是第36页,共74页uV模型:描述软件开发各阶段与测试策略之间的对应关系模型:描述软件开发各阶段与测试策略之间的对应关系。系统工程系统工程需求分析需求分析设计设计编码编码系统测试系统测试确认测试确认测试集成测试集成测试单元测试单元测试测试策略测试策略现在学习的是第37页,共74页uTom Gilb指出实现一个成功的软件测试策略必须涉及的问题:指出实现一个成功的软件测试策略必须涉及的问题:1.在着手开始测试之前的较长时间,就要以量化的形式确定产品的需求。在着手开始测试之前的较长时间,就要以量化的形式确定产品的需求。2.显式地陈述测试目标。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 11 软件 测试 优秀 PPT
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内