(本科)第八章 软件测试ppt课件.pptx
《(本科)第八章 软件测试ppt课件.pptx》由会员分享,可在线阅读,更多相关《(本科)第八章 软件测试ppt课件.pptx(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程主讲人:第八章 软件测试软件测试所设计的软件符合要求吗?用户满意吗?还是先做测试吧!q软件测试的基本概念软件测试的基本概念 q测试技术测试技术q黑盒测试黑盒测试q白盒测试白盒测试 q测试策略测试策略q面向对象的软件测试面向对象的软件测试q程序的调试程序的调试 软件测试概述基本概念典型案例 美国航天局火星极地登陆 英特尔奔腾CPU浮点除法错误 使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别 (4195835/3145727)*3145727-4195835 =?软件测试 为了发现程序中的错误而执行程序的过程。具体地说,
2、软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计出一批测试用例测试用例,并利用测试用例来运行程序,以发现程序错误的过程。软件测试概述基本概念软件本身的特点所置:智力产品软件为什么会产生缺陷或错误?软件测过程软件软件配置配置测试测试测试测试配置配置测试测试工具工具结果结果分析分析排错排错可靠性可靠性 分析分析测试测试结果结果错误错误预期预期结果结果出错率出错率 改正改正的软件的软件预测预测的可的可靠性靠性需求规格说明书需求规格说明书软件设计说明书软件设计说明书 被测源程序被测源程序 测试计划测试计划 测试用例测试用例( (测试数据测试数据) )测试驱动程序测试驱动程序测试目标与原
3、则测试目标 好的测试用例能够发现至今尚未发现的错误 测试是一个为了发现错误而执行程序的过程 及早发现不能满足需求的错误测试原则 测试应该贯穿于开发全过程一个成功的测试是发现了至今尚未发现的错误必须制订完善合理的测试计划80:20原则也同样适用于测试测试人员不应是开发人员测试应该由小到大完全的测试是不可能的测试分类大全 测试步骤与策略 测试技术测试环境测试的功能 单元测试集成测试确认测试系统测试测试测试黑盒测试白盒测试静态分析动态测试配置测试兼容性测试语言测试文档测试特殊测试压力测试不执行被测代码,只对相关文档进行静态审查选取输入的有效值或无效值;根据程序的功能预期输出的结果;将选取值作为程序的
4、输入,执行程序;观察程序的输出并记录;将输出结果与预期结果进行比较,如不一致则说明程序存在错误,如一致再选择下一组值重复进行。 测试软件对各种硬件平台的兼容性测试软件对其它软件的兼容性测试软件在高负荷下的性能测试软件在各种语言下的适应性测试软件文档的正确性WEB测试C/S测试嵌入式系统测试实时系统测试测试用例测试用例的好处 测试用例是为某个测试目标而编制的一组测试输入、执行条件以及预期结果的方案,以便测试某个程序路径或核实是否满足某个特定需求。 测试用例反映了用户的需求。对测试过程可以进行有效的监督,可以准确、有效的评估测试的工作量。 可以对测试结果进行评估,并且对测试是否完成产生一个量化的结
5、果。 可以在回归测试的过程中准确、快速的进行正确的回归。 测试用例的使用令软件测试的实施重点突出、目的明确。在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。 测试用例测试用例应基于用户需求 测试用例的设计测试用例的设计测试用例应考虑使用对象 测试用例设计应由粗到细 所有的用例都必须经过评审 测试用例的格式测试用例的格式l 编号:惟一编号l前置条件:说明测试路径l输入:输入的条件l期望输出:期望输出的结果 实际输出:实际输出的结果l是否正确:是/否l执行人:测试用例执行人标志执行时间:测试用例执行的时间 黑盒测试及测试用例黑盒测试黑盒测试闭着眼睛测试闭着眼睛测试软件输入输入不深
6、入代码细节的测试方法称为动态黑盒测试不深入代码细节的测试方法称为动态黑盒测试软件测试员充当客户来使用它软件测试员充当客户来使用它输出输出v功能与性能是否满足要求v输出是否正确v外部信息能否保持完整v是否存在初始化或终止性错误黑盒测试及测试用例等价类法等价分类法基本思想等价分类法基本思想将所有可能的输入数据划分成苦干个等价类,可以假设:每类将所有可能的输入数据划分成苦干个等价类,可以假设:每类中的一个典型值在测试中的作用与这一类中所有其他值的作用中的一个典型值在测试中的作用与这一类中所有其他值的作用是相同的。因此可以从每个等价类中只取一组数据作为测试数是相同的。因此可以从每个等价类中只取一组数据
7、作为测试数据。这样选取的测试数据最具有代表性,最有可能发现程序中据。这样选取的测试数据最具有代表性,最有可能发现程序中的错误。的错误。 案例 例例: :某报表处理系统要求用户输入处理某报表处理系统要求用户输入处理 报表的日期,日期限制在报表的日期,日期限制在20012001年年1 1 月至月至20052005年年1212月,即系统只能对该月,即系统只能对该 段期间内的报表进行处理,如日期段期间内的报表进行处理,如日期 不在此范围内,则显示输入错误信不在此范围内,则显示输入错误信 息。息。 系统日期规定由年、月的系统日期规定由年、月的6 6位数字位数字 字符组成,前四位代表年,后两位字符组成,前
8、四位代表年,后两位 代表月。代表月。 如何用等价类划分法设计测试用例如何用等价类划分法设计测试用例, , 来测试程序的日期检查功能?来测试程序的日期检查功能?黑盒测试及测试用例等价类法如何划分等价类如何划分等价类划分原则 有效等价类有效等价类( (合理等价类合理等价类) )无效等价类无效等价类( (不合理等价类不合理等价类) ) 覆盖:所选类别应能覆盖所有可能的类别覆盖:所选类别应能覆盖所有可能的类别不相交:一种取值只测试某一种等价类不相交:一种取值只测试某一种等价类代表性:取值能代表某一种等价类代表性:取值能代表某一种等价类等价类 黑盒测试及测试用例等价类法划分等价类规则划分等价类规则如果输
9、入条件规定了取值范围,可定义一个有如果输入条件规定了取值范围,可定义一个有效等价类和两个无效等价类效等价类和两个无效等价类规则1 例例: :输入值是学生成绩,范围是输入值是学生成绩,范围是0 01001000 1000 100 无效等价类无效等价类 成绩成绩0100100黑盒测试及测试用例等价类法划分等价类规则划分等价类规则v 如果输入条件代表集合的某个元素,则可定义一个有如果输入条件代表集合的某个元素,则可定义一个有效等价类和一个无效等价类效等价类和一个无效等价类。规则规则2 2 v 如规定了输入数据的一组值,且程序对不同输入值做如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个
10、允许的输入值是一个有效等价类,不同处理,则每个允许的输入值是一个有效等价类,并有一个无效等价类并有一个无效等价类( (所有不允许的输入值的集合所有不允许的输入值的集合) )。规则规则3 3 例例: :输入值是学历,允许值:输入值是学历,允许值:专科、本科、硕士、博士专科、本科、硕士、博士有效等价类有效等价类专科专科本科本科硕士硕士博士博士无效等价类:其它任何学历无效等价类:其它任何学历黑盒测试及测试用例等价类法划分等价类规则划分等价类规则如果规定了输入数据应该遵守的规则,则可以将如果规定了输入数据应该遵守的规则,则可以将符合规则划分为一个有效的等价类,而将不符合符合规则划分为一个有效的等价类,
11、而将不符合规则作为一个无效的等价类规则作为一个无效的等价类 。规则4如果规定输入的数据必须是整数,则可以划分出如果规定输入的数据必须是整数,则可以划分出正整数、零、负整数等三个有效类。正整数、零、负整数等三个有效类。 规则5 黑盒测试及测试用例等价类法根据等价类设计测试用例根据等价类设计测试用例形成等价类表,每一等价类规定一个惟一的编号形成等价类表,每一等价类规定一个惟一的编号设计一测试用例,使其尽可能多地覆盖尚未覆盖设计一测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;价类均被测试用例所覆盖;设计
12、一新测试用例,使其只覆盖一个无效等价类设计一新测试用例,使其只覆盖一个无效等价类,重复这一步骤直到所有无效等价类均被覆盖;,重复这一步骤直到所有无效等价类均被覆盖;步骤等价类法案例案例报表日期输入测试用例报表日期输入测试用例步骤1:等价类划分输入等价类输入等价类 有效等价类有效等价类 无效等价类无效等价类 3 3位数字字符位数字字符(1)(1)有非数字字符有非数字字符 (4)(4)少于少于6 6个数字字符个数字字符 (5)(5)多于多于6 6个数字字符个数字字符 (6)(6)年份范围年份范围在在2001200120052005之间之间 (2)(2)小于小于20012001 (7) (7)大于大
13、于20052005 (8) (8)月份范围月份范围在在1 11212之间之间(3)(3)“报表日期报表日期”输入条件的等价类表输入条件的等价类表小于小于1 1 (9) (9)大于大于1212 (10) (10)报表日期的报表日期的类型及长度类型及长度等价类法案例案例报表日期输入测试用例报表日期输入测试用例步骤2:设计有效类的测试用例对表中编号为对表中编号为1,2,31,2,3的的3 3个有效等价类用一个测试用例覆盖个有效等价类用一个测试用例覆盖 测试数据测试数据 期望结果期望结果 覆盖范围覆盖范围200105200105等价类等价类(1)(2)(3)(1)(2)(3)输入有效输入有效案例案例报
14、表日期输入测试用例报表日期输入测试用例步骤3:设计无效类的测试用例对上表中每个无效类至少设计一个测试用例对上表中每个无效类至少设计一个测试用例测试数据测试数据期望结果期望结果覆盖范围覆盖范围001WAY200152001005200005200805200100200113输入无效输入无效输入无效输入无效输入无效输入无效输入无效输入无效输入无效输入无效输入无效输入无效输入无效输入无效等价类等价类(4)(4)等价类等价类(5)(5)等价类等价类(6)(6)等价类等价类(7)(7)等价类等价类(8)(8)等价类等价类(9)(9)等价类等价类(10)(10)不能出不能出现相同现相同的测试的测试用例用
15、例边界值分析法基本思想边界值分析法基本思想边界值分析法是使用一些输入边界值分析法是使用一些输入/ /输出值正好等于、小于或输出值正好等于、小于或大于边界值的测试用例对程序进行测试。边界值分析法作大于边界值的测试用例对程序进行测试。边界值分析法作为一种测试技术,通常作为等价分类法的补充。为一种测试技术,通常作为等价分类法的补充。边界条件的确定边界条件的确定能够作为边界条件的数据类型通常是数值、字符、位能够作为边界条件的数据类型通常是数值、字符、位置、数量、速度、尺寸等置、数量、速度、尺寸等 接近边界的合法数据和刚超过边界的非法数据接近边界的合法数据和刚超过边界的非法数据 注意隐含在程序内部或数据
16、结构内的边界数据注意隐含在程序内部或数据结构内的边界数据如果在程序中使用了内部数据结构如数组,则应该选如果在程序中使用了内部数据结构如数组,则应该选择这个结构的边界值进行测试择这个结构的边界值进行测试 错误推测法错误推测法基本思想错误推测法基本思想列举出程序可能有的错误和容易发生错误的特殊列举出程序可能有的错误和容易发生错误的特殊情况,并据此设计测试用例。情况,并据此设计测试用例。错误的确定错误的确定输入数据为输入数据为0 0或使输出数据为或使输出数据为0 0的输入最有可能出现的输入最有可能出现错误错误 如果分别使用每组测试数据都没有问题,可以输入如果分别使用每组测试数据都没有问题,可以输入这
17、些数据的组合这些数据的组合 如果分别使用每组测试数据都没有问题,可以输入如果分别使用每组测试数据都没有问题,可以输入这些数据的组合这些数据的组合 白盒测试及测试用例白盒测试白盒测试戴上戴上X光眼睛测试光眼睛测试3581322.293419985680302829734315? ?250*(1+0.015)*(1+0.015)360-1)/0.015250*(1+0.015)*(1+0.015)360-1)/0.015假如知道一个盒子包含一台计算机假如知道一个盒子包含一台计算机, ,而另一个盒子而另一个盒子是人用纸笔计算是人用纸笔计算, ,就会选择不同的测试用例就会选择不同的测试用例了解软件的运
18、作方式会影响测试手段了解软件的运作方式会影响测试手段静态白盒分析静态白盒分析静态白盒分析代码审查代码审查审查准备审查准备审查规则审查规则审查问题审查问题审查报告审查报告审查重点数据引用错误数据引用错误数据声明错误数据声明错误计算错误计算错误比较错误比较错误控制流错误控制流错误过程参数错误过程参数错误输入输出错误输入输出错误其他错误其他错误动态白盒测试动态白盒测试动态白盒测试目的目的保证一个模块中的所有独立路径至少被执行一次保证一个模块中的所有独立路径至少被执行一次对所有的逻辑值均需要测试真、假两个分支对所有的逻辑值均需要测试真、假两个分支 在上下边界及可操作范围内运行所有循环在上下边界及可操作
19、范围内运行所有循环 检查内部数据结构以确保其有效性检查内部数据结构以确保其有效性 测试方法测试方法逻逻辑辑覆覆盖盖法法基基本本路路径径测测试试动态白盒测试动态白盒测试动态白盒测试目的目的保证一个模块中的所有独立路径至少被执行一次保证一个模块中的所有独立路径至少被执行一次对所有的逻辑值均需要测试真、假两个分支对所有的逻辑值均需要测试真、假两个分支 在上下边界及可操作范围内运行所有循环在上下边界及可操作范围内运行所有循环 检查内部数据结构以确保其有效性检查内部数据结构以确保其有效性 测试方法测试方法逻辑覆盖法逻辑覆盖法基本路径测试基本路径测试语语句句覆覆盖盖 判判断断覆覆盖盖 条条件件覆覆盖盖 判
20、判定定条条件件覆覆盖盖 条条件件组组合合覆覆盖盖 循循环环覆覆盖盖 动态白盒测试void DoWork(int x,int y,int z)void DoWork(int x,int y,int z) int k=0,j=0; int k=0,j=0; if (x3)&(z3)&(z5) if (x= =4)|(y5) j=x j=x* *y+10; /y+10; /语句块语句块2 2 j=j%3; / j=j%3; /语句块语句块3 3 案例:源程序案例:源程序动态白盒测试案例:程序流程图案例:程序流程图No执行语句块1(x3)&(z3)&(z5)(x=4)|(y5)入口执行语句块2执行语句
21、块3结束acbedYesNoYes动态白盒测试动态白盒测试动态白盒测试语句覆盖语句覆盖设计若干个测试用例,运行被测试程序,使得每一条可执行设计若干个测试用例,运行被测试程序,使得每一条可执行语句至少执行一次语句至少执行一次 案例分析案例分析只要设计一个测试用例就可以把三个执行语句块中的只要设计一个测试用例就可以把三个执行语句块中的语句覆盖了语句覆盖了( (测试路径为测试路径为ABD)ABD)。测试用例可设计为:。测试用例可设计为: x=4 x=4、y=5y=5、z=5 z=5 语句覆盖是语句覆盖是最弱最弱的逻辑覆盖的逻辑覆盖动态白盒测试动态白盒测试动态白盒测试判断覆盖判断覆盖设计若干个测试用例
22、,运行所测程序,使程序中每个判断的设计若干个测试用例,运行所测程序,使程序中每个判断的取真分支和取假分支至少执行一次取真分支和取假分支至少执行一次 案例分析案例分析设计两个测试用例则可以满足条件覆盖的要求。测试用例设计两个测试用例则可以满足条件覆盖的要求。测试用例可设计为:可设计为: x=4 x=4、y=5y=5、z=5z=5,通过的路径为,通过的路径为abdabd; x=2 x=2、y=5y=5、z=5z=5,通过的路径为,通过的路径为aceace。 判断覆盖仍然是判断覆盖仍然是弱弱的逻辑覆盖的逻辑覆盖动态白盒测试动态白盒测试动态白盒测试条件覆盖条件覆盖设计足够多的测试用例,运行所测程序,使
23、程序中每个判断的每设计足够多的测试用例,运行所测程序,使程序中每个判断的每个条件的每个可能取值至少执行一次个条件的每个可能取值至少执行一次 案例分析案例分析设:对于第一个判断:设:对于第一个判断:条件条件x3 x3 取真值为取真值为T1T1,取假值为,取假值为-T1-T1条件条件z10 z5 y5 取真值为取真值为T4T4,取假值为,取假值为-T4-T4测试用例测试用例 通过路径通过路径 条件取值条件取值 覆盖分支覆盖分支 x=4,y=6,z=5abdT1,T2,T3,T4bdx=2,y=5,z=5ace-T1,T2,-T3,-T4cex=4,y=5,z=15acdT1,-T2,T3,-T4c
24、d分析?分析?动态白盒测试动态白盒测试动态白盒测试判断判断/条件覆盖条件覆盖设计足够多的测试用例,运行所测程序,使程序中每个判断的每设计足够多的测试用例,运行所测程序,使程序中每个判断的每个条件的所有可能取值至少执行一次,并且每个可能的判断结果个条件的所有可能取值至少执行一次,并且每个可能的判断结果也至少执行一次也至少执行一次 案例分析案例分析基于同样的假设,所设计的测试用例如下:基于同样的假设,所设计的测试用例如下:测试用例测试用例 通过路径通过路径 条件取值条件取值 覆盖分支覆盖分支 x=4,y=6,z=5abdT1,T2,T3,T4T1,T2,T3,T4bdx=2,y=5,z=11 ac
25、e-T1,-T1,- -T2,-T3,-T4T2,-T3,-T4ce能同时满足判定、条件两种覆盖标准,但逻辑表达式中的错误不能同时满足判定、条件两种覆盖标准,但逻辑表达式中的错误不一定能够查出来一定能够查出来 动态白盒测试动态白盒测试动态白盒测试条件组合覆盖条件组合覆盖设计足够多的测试用例,运行所测程序,使程序中每个判断的所设计足够多的测试用例,运行所测程序,使程序中每个判断的所有可能的条件取值组合至少执行一次有可能的条件取值组合至少执行一次 案例分析案例分析基于同样的假设,两个条件两个判断共有基于同样的假设,两个条件两个判断共有8 8种可能,因此,所设种可能,因此,所设计的测试用例如下:计的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科第八章 软件测试ppt课件 本科 第八 软件 测试 ppt 课件
限制150内