单元测试的设计策略稍有不同。因为在为模块设计程式用例时,能直接参考模块的源程式。所以单元测试的策略,总是把白盒法和黑盒法结合运用。具体做法有两种:
a、先仿照上述步骤用黑盒法提出一组基本的测试用例,然后用白盒法作验证。如果发现用黑盒法产生的测试用例未能满足所需的覆盖标准,就用白盒法增补新的测试用例来满足他们。覆盖的标准应该根据模块的具体情况确定。对可靠性需求较高的模块,通常要满足条件组合覆盖或路径覆盖标准。
b、先用白盒法分析模块的逻辑结构,提出一批测试用例,然后根据模块的功能用黑盒法进行补充。
三、测试人员组织
人是测试工作中最有价值也是最重要的资源,没有一个合格的、积极的测试小组,测试就不可能实现。为高质高效地完成测试任务,好的测试工程师应具有如下能力:
1、沟通能力
一名最佳的测试者必须能够同测试涉及到的所有人进行沟通,具有和技术(研发者)和非技术人员(客户,管理人员)的交流能力。既要能和用户谈得来,又能同研发人员说得上话,不幸的是这两类人没有一起语言。和用户谈话的重点必须放在系统能正确地处理什么和不能处理什么上。而和研发者谈相同的信息时,就必须将这些活重新组织以另一种方式表达出来,测试小组的成员必须能够同等地同用户和研发者沟通。
2、技术能力
就总体言,研发人员对那些不懂技术的人持一种轻视的态度。一旦测试小组的某个成员作出了一个错误的断定,那么他们的可信度就会即时被传扬了出去。一个测试者必须既明白被测软件系统的概念又要会使用工程中的那些工具。要做到这一点需要有几年以上的编程经验,前期的研发经验能帮助对软件研发过程有较深入的理解,从研发人员的角度正确的评价测试者,简化自动测试工具编程的学习曲线。
3、自信心
研发者指责测试者出了错是常有的事,测试者必须对自己的观点有足够的自信心。如果容许别人对自己指东指西,就不能完成什么更多的事情了。
4、外交能力
当你告诉某人他出了错时,就必须使用一些外交方法。机智老练和外交手法有助于维护和研发人员的协作关系,测试者在告诉研发者他的软件有错误时,也同样需要一定的外交手腕。如果采取的方法过于强硬,对测试者来说,在以后和研发部门的合作方面就相当于"赢了战争却输了战役"。
5、幽默感
在遇见狡辩的情况下,一个幽默的批评将是非常有帮助的。
6、非常强的记忆力