网络安全 频道

安全研究:网络监听技术概览

• 单元测试者技能的提高

1 .加强对单元测试人员的技能培训


    单元测试的质量很大程度上决定于进行单元测试的人的技术水平。如果测试者不具备单元测试的知识,那么应该对测试者进行相关的培训。一个没有做过单元测试人,不经过培训初次是很难做好单元测试的。单元测试在详设阶段结束时开始,但是单元测试相关培训应该尽早准备和计划,培训可以分两个阶段,每个阶段的内容类似。第一阶段是写单元测试方案前,培训对象为测试方案的写作者和详设的写作者,这样可以在设计时多考虑可测试性,培训的内容为单元测试基本概念、单元测试分析方法、单元测试用例的写作、单元测试标准的明确;第二阶段为单元测试执行前,对象为测试执行者,培训内容为具体单元测试的执行,包括驱动函数、桩函数的构造、覆盖率测试工具的使用( TrueCoverage 、 Logiscope 等)、利用自动化单元测试框架构造单元测试自动化( TCL 、 CppUnit 、 JUnit 等)。培训过程中最好结合实例穿插其中,会比较生动,而且增强理解。

    通过以上的系统培训,可以统一单元测试方法、明确单元测试的标准、掌握单元测试基本技能,为后期单元测试的顺利开展扫平道路。

2 .必须引入工具进行辅助

    单元测试非常需要工具的帮助,特别是覆盖率工具不能缺少,否则用例执行后无法得到测试质量如语句覆盖、路径覆盖等情况,也就无法对被测对象进行进一步的分析。应用较广的分析覆盖率的工具有 Logiscope 、 TrueCoverage 、 PureCoverage 等,它们的功能有强有弱,可以根据实际情况采用。

    为了提高单元测试的效率,特别是提高进行回归测试时的效率,需要在单元测试中引入自动化。目前常用的方法是采用 TCL 语言编写扩展指令,构造自己的单元测试自动化。也可以直接采用开源的自动化测试框架如 CppUnit 、 JUnit 等。

    此外,在单元测试之前,还需要利用 PC_Lint 对被测代码进行检查,排除代码语法错误,确保进行单元测试的代码已经具备了基本质量,保证单元测试能够顺利进行,提高单元测试执行效率。

3 .单元测试者加强对被测软件的全面了解

    单元测试的目的除了要发现编码中引入的错误和发现代码与详细设计不一致的地方之外,还有一个目的是为了保证详细设计的质量。因为测试分析和测试用例设计需要依据详细设计来进行,这个过程实际上是对详细设计的重新检视,在这个过程中会发现以前评审中没有发现的问题。

    无论是在单元测试的设计活动中还是在单元测试的执行过程中,都需要测试者了解软件的需求和概要,加强对被测软件的全面了解。否则对被测对象了解不深,只能就被测单元的流程而测流程,而对于该流程是否正确就无法保证了。

    测试者要注重与开发的交流,这样能对被测单元有更深的了解;同时因为进度的原因,包括详设在内的文档往往来不及更新,所以最新最正确的思想往往存在于开发人员的脑袋里,及时与他们交流才会获得最及时的信息,减少将来更新用例的工作量。

结尾

单元测试是软件开发过程中非常重要的质量保证手段,加强单元测试对提高软件质量具有非常重要的意义。而做好单元测试不是只要掌握单元测试方法就可以了的,这需要从组织、流程和技术三个方面来保证。
0
相关文章