软件测试——模块(单元)测试

软件测试——模块(单元)测试

ID:37465205

大小:25.83 KB

页数:17页

时间:2019-05-24

软件测试——模块(单元)测试_第1页
软件测试——模块(单元)测试_第2页
软件测试——模块(单元)测试_第3页
软件测试——模块(单元)测试_第4页
软件测试——模块(单元)测试_第5页
资源描述:

《软件测试——模块(单元)测试》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、模块(单元)测试测试单个子程序或过程单元测试?单元测试(模块测试)的元素?对程序中较小构成元素——单个子程序或过程进行测试?动机?单元测试减轻了调试的难度,因为错误一旦发现,就知道它在哪个具体的模块中?单元测试提供了同时测试多个模块的可能,将并行工程引入了软件测试。?目的?将模块的功能与定义模块的功能规格说明或接口规格说明进行比较,揭示出模块与其规格说明之间存在的矛盾。单元测试针对的问题?模块接口:检查进出单元的数据流是否正确?局部数据结构:测试内部数据是否完整?例如:不正确的类型说明,错误的初始化等。?路径测试:发现由于不正确的判定或不正常的控

2、制流而产生的错误,例如:不正确的逻辑操作或优先级,不适当地修改循环变量。?边界条件:测试边界处程序是否正确工作??出错处理:测试出错处理措施是否有效?例如:提供的错误信息不足,难以找到错误原因等。5.1测试用例的设计?需要的信息?模块的规格说明:模块的输入和输出以及模块的功能?模块的源代码?测试用例的设计方法?单元测试总体上是面向白盒测试的(静态、动态)?后续测试针对较大的元素不易进行白盒测试?后续测试着眼于发现其他类型的错误,不一定与程序逻辑结构有关?使用一种或多种白盒测试方法分析模块的逻辑结构,然后使用黑盒测试方法对照模块的规格说明补充测试用

3、例5.2增量测试?测试单独的模块可能需要一个特殊的驱动模块和一个或多个桩模块?驱动模块是为测试编写的一个小模块,用来将测试用例驱动或传输数据到被测模块。驱动模块还需要向测试人员显示被测模块的结果。?桩模块充当被测模块调用的模块,模拟该模块的功能,接受被测模块的调用指令。?例如测试模块B时需要一个驱动模块,和一个模拟模块E的桩模块ABCDEF5.2增量测试?单元测试除了要考虑如何设计一个有效的测试用例集之外,还有一个重要问题,就是模块组装方式?两类测试方法?非增量测试:先独立地测试每个模块,然后再将所有这些模块组装成完整的程序测试,又称为崩溃(bi

4、g-bang)测试。?增量测试:将被测模块组装到测试完成的模块集合中,然后再进行测试。注:在进行增量模块测试时,单元测试和集成是同步进行的,集成测试就是模块测试的隐含部分,往往并不作为一个独立的测试步骤。非增量测试和增量测试增量测试工作量小:使用前面测试过的模块来取代非增量测试中所需要的驱动模块或桩模块。可以较早发现模块中与不匹配接口、不正确假设等编程错误。容易进行调试,新出现的错误往往与最近添加的模块有关测试可以进行地更彻底,每个模块经受了更多的检验非增量测试工作量较大:要设计驱动模块和桩模块到了测试过程的最后阶段,模块之间才能“互相看到”直到

5、整个程序组装之后,模块之间接口相关的错误才会浮现,难以定位使用驱动模块和桩模块而非实际模块,对被测试模块的测试只影响自身在测试上花费的时间多,设计驱动模块和桩模块所用时间少并行性差测试时间少,但设计驱动模块和桩模块需要大量时间可以同时并行测试很多模块5.3自顶向下测试与自底向上测试?自顶向下测试?从程序的顶部或初始模块开始测试。选择后续模块进行增量测试的原则是:至少一个调用该模块的模块事先经过了测试。有多种可能的测试序列时,应该考虑先测试关键模块和I/O模块?为了测试上层模块,需要设计桩模块,桩模块通常要向被测模块提供测试数据,如读取外部数据文件

6、?自底向上测试?从不调用其他模块的终端模块开始测试,选择下一个模块进行增量测试的原则是:该模块调用的所有的模块都已经事先经过了测试。?为了测试低层模块,需要为它们设计驱动模块:即包含着有效的测试输入、调用被测模块且显示输出的模块。例子ABCD?图中共有12个模块A到L?模块I包含IO的写操作?模块J包含IO的读操作IEFGHJKL自顶向下的增量测试?首先测试模块A,需要设计代表模块B,C,D的桩模块;如图?接着用实际模块代替桩模块,如B,并添加B的桩模块;如图stubE?增量的序列有多种可能,例如:ABFJDICGEKHL,加入I后如图ABstu

7、bBstubCDstubDFstubFstubHIJ自顶向下的增量测试中的桩模块ABCD显示跟踪信息显示传递信息返回一个值根据输入返回一个值自底向上的增量测试?第一步是测试E,J,G,K,L和I中的部分或全部模块,既可以串行也可以并行进行;需要设计驱动模块,有的驱动模块可以供几个测试模块使用?接着测试的模块序列有多种可能,如果接下来是测试较关键的模块F,H,则用它们代替相应的驱动模块,并加入它们的驱动模块,如图DriverDriverDriverDDriverFDriverHIJKL自底向上的增量测试中的驱动模块ABCD调用从属模块调用从属模块,

8、并传递参数调用从属模块,并要求得到参数兼有B,C的功能自顶向下测试和自底向上测试的比较如果主要缺陷发生在程序顶层将非常有利优点早期程序框

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。