博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单元测试的内容与步骤
阅读量:5046 次
发布时间:2019-06-12

本文共 1099 字,大约阅读时间需要 3 分钟。

针对程序模块,进行正确性检验的。其目的在于发现各模块内部可能存在的各种差错。需要从程序的内部结构出发设计。多个模块可以平行地独立进行单元测试。

①单元测试的内容

模块接口:对通过被测模块的数据流进行测试。为此,对模块接口,包括参数表、调用子模块的参数、全程数据、文件输入/输出操作都必须检查。

局部数据结构测试:设计测试用例检查数据类型说明、初始化、缺省值等方面的问题,还要查清全程数据对模块的影响。

路径测试:选择适当的测试用例,对模块中重要的执行路径进行测试。对基本执行路径和循环进行测试可以发现大量路径错误。

错误处理测试:检查模块的错误处理功能是否包含有错误或缺陷。例如,是否拒绝不合理的输入;出错的描述是否难以理解、是否对错误定位有误、是否出错原因报告有误、是否对错误条件的处理不正确;在对错误处理之前错误条件是否已经引起系统的干预等。

边界测试:要特别注意数据流、控制流中刚好等于、大于或小于确定的比较值时出错的可能性。对这些地方要仔细地选择测试用例,认真加以测试。

此外,如果对模块运行时间有要求的话,还要专门进行关键路径测试,以确定最坏情况下和平均意义下影响模块运行时间的因素。这类信息对进行性能评价是十分有用的。

②单元测试的步骤

通常单元测试在编码阶段进行。在源程序代码编制完成,经过评审和验证,确认没有语法错误之后,就开始进行单元测试的测试用例设计。利用设计文档,设计可以验证程序功能、找出程序错误的多个测试用例。对于每一组输入,应有预期的正确结果。

模块并不是一个独立的程序,在考虑测试模块时,同时要考虑它和外界的联系,用一些辅助模块去模拟与被测模块相联系的其它模块。这些辅助模块分为两种:

驱动模块:相当于被测模块的主程序。它接收测试数据,把这些数据传送给被测模块,最后输出实测结果。

桩模块:用以代替被测模块调用的子模块。桩模块可以做少量的数据操作,不需要把子模块所有功能都带进来,但不允许什么事情也不做。

被测模块、与它相关的驱动模块及桩模块共同构成了一个“测试环境”,见图1。

图1单元测试的测试环境

如果一个模块要完成多种功能,且以程序包或对象类的形式出现,例如Ada中的包,Modula中的模块,C++中的类。这时可以将这个模块看成由几个小程序组成。对其中的每个小程序先进行单元测试要做的工作,对关键模块还要做性能测试。对支持某些标准规程的程序,更要着手进行互联测试。有人把这种情况特别称为模块测试,以区别单元测试。

转载于:https://www.cnblogs.com/yangxia-test/archive/2013/04/10/3011820.html

你可能感兴趣的文章
第三周
查看>>
Python 错误总结
查看>>
java入门学习
查看>>
QACT 在线调试 Android O
查看>>
poj 1094 Sorting It All Out (拓扑排序)
查看>>
excel导入到java/导出到excel
查看>>
Cocoa如何应用设计模式
查看>>
ubuntu 12.04的源更新
查看>>
如何制作自定义打印格式
查看>>
自定义指令
查看>>
Nancy in .NET Core学习笔记 - 路由
查看>>
入门Webpack,看这篇就够了
查看>>
内存使用
查看>>
第六章部分例题
查看>>
python3 字典相关方法
查看>>
[洛谷P2774] 方格取数问题
查看>>
easyui-基本操作
查看>>
C++ 11 右值引用以及std::move
查看>>
Android高手进阶——Adapter深入理解与优化
查看>>
Windows移动开发(一)——登堂入室
查看>>