软件测试的重要性是毋庸置疑的。但如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品质,则是软件公司探索和追求的目标,每个软件产品或软件开发项目都需要有一套优秀的测试方案和测试方法。[2]
影响软件测试的因素很多,例如软件本身的复杂程度、开发人员(包括分析、设计、编程和测试的人员)的素质、测试方法和技术的运用等。因为有些因素是客观存在,无法避免的;有些因素则是波动的、不稳定的。例如开发队伍是流动的,有经验的开发人员走了,新人不断补充进来;每个开发人员的工作也会受情绪影响,等等。有了测试用例,无论是谁来测试,参照测试用例实施,都能保障测试的质量,从而把人为因素小。即便最初的测试用例考虑不周全,随着测试的进行和软件版本更新,也将日趋完善。[2]
因此,测试用例的设计和编制是软件测试活动中最重要的。测试用例是测试工作的指导,是软件测试必须遵守的准则,更是软件测试质量稳定的根本保障。[2]
确定测试用例之所以很重要,原因有以下几方面。[2]
(1)测试用例构成了设计和制定测试过程的基础。[2]
(2)测试的“深度”与测试用例的数量成比例。由于每个测试用例反映不同的场景、条件或经由产品的事件流,因而,随着测试用例数量的增加,测试人员对产品质量和测试流程也就越有信心。[2]
(3)判断测试是否完全的一个主要评测方法是基于需求的覆盖,而这又是以确定、实施和/或执行的测试用例的数量为依据的。类似下面这样的说明:“95%的关键测试用例已得以执行和验证”,远比“我们已完成95%的测试”更有意义。[2]
(4)测试工作量与测试用例的数量成比例。根据全面且细化的测试用例,可以更准确地估计测试周期各连续阶段的时间安排。[2]
(5)测试设计和开发的类型以及所需的资源主要都受控于测试用例。[2]
(6)测试用例通常根据它们所关联的测试类型或测试需求来分类,而且将随类型和需求进行相应的改变。最佳方案是为每个测试需求至少编制两个测试用例:一个测试用例用于证明该需求已经满足,通常称作正面测试用例;另一个测试用例反映某个无法接受、反常或意外的条件或数据,用于论证只有在所需条件下才能够满足该需求,这个测试用例称作负面测试用例