软件工程案例开发与实践 第14章 软件测试方法.ppt

上传人:s****8 文档编号:69581571 上传时间:2023-01-07 格式:PPT 页数:28 大小:606.50KB
返回 下载 相关 举报
软件工程案例开发与实践 第14章 软件测试方法.ppt_第1页
第1页 / 共28页
软件工程案例开发与实践 第14章 软件测试方法.ppt_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《软件工程案例开发与实践 第14章 软件测试方法.ppt》由会员分享,可在线阅读,更多相关《软件工程案例开发与实践 第14章 软件测试方法.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第14章章 软件测试方法软件测试方法 14.1 14.1 分类分类 1 1从执行软件的角度,分为静态测试和动态测试。从执行软件的角度,分为静态测试和动态测试。2 2从系统的结构角度,分为黑盒测试和白盒测试;从系统的结构角度,分为黑盒测试和白盒测试;3 3从测试过程角度,分为单元测试、集成测试、确认从测试过程角度,分为单元测试、集成测试、确认测试、系统测试和验收测试等。测试、系统测试和验收测试等。4 4从软件测试方向上,分为正向测试和逆向测试。从软件测试方向上,分为正向测试和逆向测试。5 5从测试环境分为:从测试环境分为:AlphaAlpha和和BetaBeta测试。测试。14.2 白盒子测试

2、白盒子测试 白盒测试也称作结构测试或逻辑驱动测试,它的目的是了解和检测产品的内部工作过程,在测试手段上使用的是覆盖测试方法。覆盖测试可以分为语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、条件组合覆盖和路径覆盖。语句覆盖是指设计若干个测试用例,程序运行时每个可执行语句至少被执行一次。在保证完成要求的情况下,测试用例的数目越少越好。语句覆盖语句覆盖判断(分支)覆盖方法判断(分支)覆盖方法 判判定定覆覆盖盖测测试试是是设设计计若若干干测测试试用用例例,想想法法使使得得程程序序中中的的每每个个判判定定至至少少都都获获得得一一次次“真真”值值和和“假假”值值,也也就就是是说说程程序序中中的的每每个个取取

3、“真真”“假假”的的分分支支至至少少经历一次。也叫经历一次。也叫“分支覆盖分支覆盖”测试。测试。是设计若干测试用例,每个判断条件是设计若干测试用例,每个判断条件中的每个条件的真假值至少执行一遍。中的每个条件的真假值至少执行一遍。条件覆盖方法条件覆盖方法 判断判断/条件覆盖是指执行被测条件覆盖是指执行被测试程序时,程序中每个判断条件试程序时,程序中每个判断条件的真假值分支至少被执行一遍,的真假值分支至少被执行一遍,并且每个判断条件的内部判断式并且每个判断条件的内部判断式的真假值也要被执行一遍。的真假值也要被执行一遍。判定与条件覆盖测试方法判定与条件覆盖测试方法 条件组合覆盖条件组合覆盖 条件组合

4、覆盖是指设计若干个测试用例,执行被测试程序时,程序中每个判断条件的的内部判断式的各种真假组合可能都至少被执行一遍。路径覆盖方法路径覆盖方法 路径覆盖也是白盒测试最为典型的问题。路径覆盖要求设计若干测试用例,执行被测试程序时,能够覆盖程序中所有的可能路径。14.5 黑盒子测试方法黑盒子测试方法 黑盒子方法的定义是:黑盒子方法的定义是:已知产品的功能设计,可以进行测试证明每已知产品的功能设计,可以进行测试证明每个实现了的功能是否符合要求。个实现了的功能是否符合要求。不考虑程序内部的逻辑结构和内部特性,只不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明,在特定的条件下,依据程序的需求规格

5、说明,在特定的条件下,输入相应的数据,检查程序的输出是否符合它输入相应的数据,检查程序的输出是否符合它的功能说明。的功能说明。等价类分析方法等价类分析方法 等价类划分法是黑盒测试用例设计中一种常用的设计方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭示程序中的错误都是等效的。等价类合理地假设:某个等价类的代表值,与该等价类的其他值,对于测试来说是等价的。因此,可以把全部的输入数据划分成若干的等价类,在每一个等价类中取一个数据来进行测试。这样就能以较少的具有代表性的数据进行测试,而取得较好的测试

6、效果。划分等价类有如下原则划分等价类有如下原则 (1 1)如果输入条件规定了数据的范围和取值个数,)如果输入条件规定了数据的范围和取值个数,可以确定一个有效等价类和可以确定一个有效等价类和2 2个无效等价类。个无效等价类。例如:例如:100X999100X999,有效等价类为有效等价类为 (100100,999999),无),无效等价类为小于效等价类为小于100100和大于和大于999999。(2 2)如果输入条件规定了一个必须成立的情况(如)如果输入条件规定了一个必须成立的情况(如输入数据必须是日期),可以划分为一个有效等价类输入数据必须是日期),可以划分为一个有效等价类(输入是日期字符)和

7、一个无效等价类(输入非日期字(输入是日期字符)和一个无效等价类(输入非日期字符)符)(3 3)如果输入条件是一个布尔量,则可以确立一个)如果输入条件是一个布尔量,则可以确立一个有效等价类和一个无效等价类;有效等价类和一个无效等价类;如果在输入条件中对输入数据的一组可能值进行了规如果在输入条件中对输入数据的一组可能值进行了规定,定,并且程序是用不同的方法处理每一种值,并且程序是用不同的方法处理每一种值,那么可那么可以为每一种值划分一个有效等价类和一个无效等价类。以为每一种值划分一个有效等价类和一个无效等价类。边界值分析方法边界值分析方法 边界值分析法是一种补充等价类划分法的测试用例设计技术,它不

8、是选择等价类的任意元素,而是选择等价类边界的测试用例。在测试过程中,可能会忽略边界值的条件,而软件设计中大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。循以下几条原则 (1 1)如果输入条件规定了值的范围,则应该选取刚达)如果输入条件规定了值的范围,则应该选取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据。为测试输入数据。(2 2)如果输入条件规定了值的个数,则用最大个数、)如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少最小个

9、数、比最小个数少1 1、比最大个数多、比最大个数多1 1的数作为测试的数作为测试数据。数据。(3 3)根据规格说明的每一个输出条件,分别使用以上)根据规格说明的每一个输出条件,分别使用以上两个原则。两个原则。(4 4)如果程序的规格说明给出的输入域或者输出域是)如果程序的规格说明给出的输入域或者输出域是有序集合(如有序表、顺序文件等),则应选取集合的第有序集合(如有序表、顺序文件等),则应选取集合的第一个元素和最后一个元素作为测试用例。一个元素和最后一个元素作为测试用例。(5 5)如果程序中使用了一个内部数据结构,则应当选)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界值作

10、为测试用例。择这个内部数据结构的边界值作为测试用例。(6 6)分析规格说明,找出其他可能的边界条件。)分析规格说明,找出其他可能的边界条件。14.5 14.5 软件测试过程软件测试过程 单元测试的主要内容是模块接口测试。单元测试的主要内容是模块接口测试。模块接口测模块接口测试中的被测模块并不是一个独立的程序,在考虑测试模块试中的被测模块并不是一个独立的程序,在考虑测试模块时,同时要考虑它和外界的联系,用一些辅助模块去模拟时,同时要考虑它和外界的联系,用一些辅助模块去模拟与被测模块相关联的模块。这些辅助模块可分为两种:与被测模块相关联的模块。这些辅助模块可分为两种:(1 1)驱动模块:相当于被测

11、模块的主程序。它接收测试)驱动模块:相当于被测模块的主程序。它接收测试数据,把这些数据传送给被测模块,最后输出实测结果。数据,把这些数据传送给被测模块,最后输出实测结果。例如,模块例如,模块A A要调用模块要调用模块B B,现在测试模块,现在测试模块B B时,要编写一时,要编写一个驱动模块(代替模块个驱动模块(代替模块A A的功能)来调用模块的功能)来调用模块B B,(假设模假设模块块A A是正确的是正确的)检查是否模块检查是否模块B B的缺陷。的缺陷。(2 2)桩模块:用以代替被测模块调用的子模块。桩模块桩模块:用以代替被测模块调用的子模块。桩模块可以做少量的数据操作,不需要把子模块所有功能

12、都带进可以做少量的数据操作,不需要把子模块所有功能都带进来,但不允许什么事情也不做。来,但不允许什么事情也不做。14.5.1 单元测试单元测试 14.5.2集成测试集成测试 集集成成测测试试是是根根据据实实际际情情况况对对程程序序模模块块采采用用适适当当的的集集成成测测试试策策略略组组装装起起来来,对对系系统统的的接接口口以以及及集集成成后后的的功功能能进进行行正正确确校验的测试工作。校验的测试工作。通通常常,把把模模块块组组装装成成为为系系统统的的测测试试方方式式有有两两种种:一一次次性性集集成成测测试试方方式式;增增值值式式集成测试方式集成测试方式.1.1.一次性集成测试方式一次性集成测试

13、方式 一次性集成测试方式也称作非增值式集成测试。一次性集成测试方式也称作非增值式集成测试。先分别测试每个模块,再把所有模块按设计要求放在一先分别测试每个模块,再把所有模块按设计要求放在一起结合成所需要实现的程序。起结合成所需要实现的程序。如图如图12-612-6是所示按照一次性集成测试方式的实例。是所示按照一次性集成测试方式的实例。如图如图12-612-6(a a)所示表示的是整个系统结构,共包含)所示表示的是整个系统结构,共包含6 6个个模块。具体测试过程如下:模块。具体测试过程如下:(1 1)如图)如图12-612-6(b b)所示,为模块)所示,为模块B B配备驱动模块配备驱动模块D1D

14、1,来模拟模块来模拟模块A A对对B B的调用。为模块的调用。为模块B B配备桩模块配备桩模块S1S1,来模,来模拟模块拟模块E E被被B B调用。对模块调用。对模块B B进行单元测试;进行单元测试;(2 2)如图)如图12-612-6(d d)所示,为模块)所示,为模块D D配备驱动模块配备驱动模块D3D3,来模拟模块来模拟模块A A对对D D的调用。为模块的调用。为模块D D配备桩模块配备桩模块S2S2,来模,来模拟模块拟模块F F被被D D调用。对模块调用。对模块D D进行单元测试;进行单元测试;(3)如图)如图12-6(c)、图)、图11-5(e)、图)、图11-5(f)所示,)所示,

15、为模块为模块C、E、F分别配备驱动模块分别配备驱动模块D2、D4、D5。对模。对模块块C、E、F分别进行单元测试;分别进行单元测试;(4)如图)如图12-6(g)表示,为主模块)表示,为主模块A配备三个桩模块配备三个桩模块S3、S4、S5。对模块。对模块A进行单元测试;进行单元测试;(5)在将模块)在将模块A、B、C、D、E分别进行了单元测试之分别进行了单元测试之后,再一次性进行集成测试;后,再一次性进行集成测试;(6)测试结束。)测试结束。2.增值式集成测试方式增值式集成测试方式增值式集成测试方式有三种:增值式集成测试方式有三种:(1)自顶向下增值测试方式)自顶向下增值测试方式 主控模块作为

16、测试驱动,所有与主控主控模块作为测试驱动,所有与主控模块直接相连的模块作为桩模块;根据集模块直接相连的模块作为桩模块;根据集成的方式(深度或广度),每次用一个模成的方式(深度或广度),每次用一个模块把从属的桩模块替换成真正的模块;在块把从属的桩模块替换成真正的模块;在每个模块被集成时,都必须已经进行了单每个模块被集成时,都必须已经进行了单元测试;进行回归测试以确定集成新模块元测试;进行回归测试以确定集成新模块后没有引入错误。这种组装方式将模块按后没有引入错误。这种组装方式将模块按系统程序结构,沿着控制层次自顶向下进系统程序结构,沿着控制层次自顶向下进行组装。行组装。如图12-7所示表示的是按照

17、深度优先方式遍历的自顶向下增值的集成测试实例。具体测试过程如下:在树状结构图中,按照先左后右的顺序确定模块集成路线;(1)如图12-7(a)所示,先对顶层的主模块A进行单元测试。就是对模块A配以桩模块S1、S2和S3,用来模拟它所实际调用的模块B、C、D,然后进行测试;(2)如图12-7(b)所示,用实际模块B替换掉桩模块S1,与模块A连接,再对模块B配以桩模块S4,用来模拟模块B对E的调用,然后进行测试;(3)图12-7(c)是将模块E替换掉桩模块S4并与模块B相连,然后进行测试;(4)判断模块E没有叶子结点,也就是说以A为根结点的树状结构图中的最左侧分支深度遍历结束。转向下一个分支;(5)

18、图12-7(d)所示,模块C替换掉桩模块S2,连到模块A上,然后进行测试;判断模块C没有桩模块,转到树状结构图的最后一个分支;(6)如图12-7(e)所示,模块D替换掉桩模块S3,连到模块A上,同时给模块D配以桩模块S5,来模拟其对模块F的调用。然后进行测试;(7)如图12-7(f)所示,去掉桩模块S5,替换成实际模块F连接到模块D上,然后进行测试;(8)对树状结构图进行了完全测试,测试结束。(2)自底向上增值测试方式 组装从最底层的模块开始,组合成一个构件,用以完成指定的软件子功能。编制驱动程序,协调测试用例的输入与输出;测试集成后的构件;按程序结构向上组装测试后的构件,同时除掉驱动程序。(3)混合增值测试方式 自顶向下增值的方式和自底向上增值的方式各有优缺点。通常是把以上两种方式结合起来进行组装和测试。14.5.3系统测试系统测试 系统测试是将已经集成好的软件系统与计算机硬件、外设、某些支撑软件、数据和人员等结合在一起,在实际运行环境下,对计算机系统进行一系列的确认测试。

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

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁