本节主要介绍一下层次测试的第一步——单元测试。在了解单元测试之前先看一个简单的主程序树状模块图:
所谓模块测试就是在底层进行的测试,如上图,单元测试就是测试上图中紫色的模块。单元测试是整个测试的基础,单元测试中发现的错误约占程序总错误数2/3,单元测试的目标是通过对程序底层模块的静态和动态测试使底层模块达到模块说明的要求。
单元测试主要测试5方面的的问题:
模块的接口测试主要检查数据能否正确地通过模块;数据结构测试目的在于保持程序内部数据的完整性;重要路径测试是单元测试的一项基本任务,主要做好覆盖分析;程序最容易在边界上出错,因此边界条件测试是必不可少的;错误处理测试要点是在工作中发生了错误,其中的错误处理措施是否有效。
单元测试的一般步骤:
编译过程中主要检查对象就是代码中的语法错误;静态分析器检查使用专用工具来进行分析,代码审查主要依靠人工,第二步和第三步都是以检查结构性错误为主的静态分析;动态测试是单元测试的最后步骤,重点是发现单元的功能型错误,可采用白盒测试或者黑盒测试方法进行测试,白盒测试和黑盒测试会在以后进行详细介绍,这里知道有这两种方法即可。
代码评审有两类组织形式:一、办公桌检查,由程序员自己审查自己的代码,仅适用于规模很小的程序。二、以小组会的方式进行,又分为走查和代码会审两种,适用于各种规模的程序。
单元测试不是独立的程序,在多模块程序中,模块之间可以相互调用,单元测试时往往需要为被测模块编制若干模块替身,替身模块仅是真实模块的简化,仅需模拟与被测模块直接相关的一部分功能。
根据经验总结,在单元级发现问题时,问题肯定就在那个单元中,如果在多个单元模块集成时发现缺陷,那么它一定与模块之间的交互有关。在实际情况中,有很少的例外。
好的,本节到此结束,下一节将详细介绍层次测试的第二步——集成测试。敬请期待,谢谢!