当前位置 工程之家 软件工程 正文 下一篇:

软件单元测试的步骤和策略

通常而言,单元测试是在软件开发过程中要进行的最低级别的测试活动,或者说是针对软件设计的最小单位即程序模块、函数、类或方法所进行的正确性检验的测试工作,其目的在于发现每个单元内部可能存在的错误或缺陷。

单元测试步骤

一般情况下由程序员完成单元测试工作,单元测试也可以看作是编码工作的一部分,在编码的过程中考虑测试问题,得到的将是更优质的代码。所以,单元测试有时也称自测试。许多集成开发环境(IDE)都可以集成各种单元测试工具帮助编码人员进行单元测试(如Eclipse环境中集成Junit)。必要时也可以由测试团队专门进行单元测试。单元测试的主要工作分两个步骤。

(1)人工静态检查

人工静态检查也称为静态测试,可以保证代码算法的逻辑正确性、清晰性、规范性、一致性、算法高效性。尽可能地发现程序中可能存在的错误或缺陷。

(2)动态执行跟踪

动态执行跟踪也称为动态测试,是通过设计测试用例,执行待测程序来跟踪比较实际结果与预期结果来发现错误或缺陷。

单元测试的策略

(1)孤立的单元测试策略(Isolation Unit Testing),不考虑每个模块与其他模块之间的关系,为每个模块设计桩模块和驱动模块,每个模块进行独立的单元测试。优点是操作简单、容易,可以达到较高的结构覆盖率。缺点是桩函数和驱动函数工作量很大。

(2)自顶向下的单元测试策略(Top Down Unit Testing),先对最顶层的单元进行测试,把顶层所调用的单元做成桩模块;再对第二层进行测试,使用上面已测试的单元做驱动模块;如此类推直到测试完所有模块。此策略可以节省驱动函数的开发工作量,测试效率较高。缺点是随着被测单元一个一个被加入,测试过程将变得越来越复杂,并且开发和维护的成本将增加。

(3)自底向上的单元测试策略(Bottom Up Unit Testing),先对模块调用层次图上最底层的模块进行单元测试,模拟调用该模块的模块做驱动模块;然后再对上面一层做单元测试,用下面已被测试过的模块做桩模块;以此类推,直到测试完所有模块。此策略优点是可以节省桩函数的开发工作量,测试效率较高。缺点是它不是纯粹的单元测试,底层函数的测试质量对上层函数的测试将产生很大的影响。

单元测试已经不仅仅是只有编码完成以后才能进行的工作了,单元测试通常在项目的详细设计阶段已经开始了,贯穿于项目开发的生命周期中。单元测试被认为是集成测试的基础,只有通过了单元测试,才能将各个单元集成在一起进行集成测试。

版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。http://www.apmygs.com/539.html
返回顶部