● 设计异常测试用例
异常测试用例非常重要。一般的开发过程只测试代码能否在正常情境中工作,而不测试代码能否针对异常情境所做出适当的反应。这种做法是很片面的,对于复杂系统而言,更要引起足够重视。设计异常测试用例采取的方法是输入一些古怪的数值,看软件单元如何反应。如输入越界数值,输入类型不匹配的数值,输入参数个数不匹配等。
除了设计测试用例以外,单元测试人员还应该对关键软件部件的程序代码做必要的核查,检查编码人员是否在代码中引入了“后门”(一种能侵入系统取得控制权或窃取数据的程序段代码)、代码中是否存在冗余代码等。
单元测试工程实施要领
在工程实践中,单元测试应该坚持如下原则进行展开:
● 单元测试越早进行越好。在TDD方法中,Kent甚至认为开发团队应该遵行“先写测试、再写代码”的编程途径。
● 对于修改过的代码应该重做单元测试,以保证对已发现错误的修改没有引入新的错误。
● 测试人员的测试用例应经过审核,如有必要应经过会议评审,以保证测试用例的质量。
● 当测试用例的测试结果与设计规格说明上的预期结果不一致时,测试人员应如实记录实际的测试结果。
除了上述四点原则之外,单元测试还应注意以下几点:
● 单元测试应该依据《软件详细设计规格说明》进行,而不要只看代码,不看设计文档。因为只查代码,仅仅能验证代码有没有做某件事,而不能验证它应不应该做这件事。
● 单元测试应注意选择好被测软件单元的大小。软件单元划分太大,那么内部逻辑和程序结构就会变得很复杂,造成测试用例过于繁多,令用例设计和评审人员疲惫不堪;而软件单元划分太细会造成测试工作太繁琐,失去效率。工程实践中要适当把握好划分原则,不能过于拘泥。
● 注意使用单元测试工具。目前市面上有很多可以用于单元测试的工具。如果一味地排斥自动化测试工具,有可能会导致大量的重复劳动。因此,好的测试团队应对市面的测试工具保持高度敏感,并在技术条件许可的情况下尽量开发一些通用的自主版权的测试工具。这样日积月累,测试团队就能很好地把握测试进度,降低工作强度,把测试人员的精力花在更有创造性的工作上。
下期话题预报:软件的集成过程往往是软件开发周期中最不可控的阶段,集成阶段投入的测试工作如果不够,将会严重影响到系统测试阶段的工作。因此,集成测试是相当重要的测试环节。
下期,测试专家戴金龙将和大家分享集成测试工作的相关经验。