一个标准的软件测试过程应当包括以下测试活动(但不仅限以下活动):
- 需求分析
- 编写测试方案及测试计划
- 设计测试用例
- 测试用例评审
- 测试用例执行
- 编写测试报告
以上也是一般的测试工作流程。
软件测试过程主要有以下几种模型:
V模型
V模型图形如下:
V模型揭示了开发过程与测试过程中各阶段的对应关系,通过开发和测试同时进行的方式来缩短开发周期,提高开发效率。
缺点:
- 忽视了测试对需求分析,系统设计的验证,需求的满足情况一直到后期的验收测试才被验证;
- 没有体现出“尽早地和不断地进行软件测试”的原则
W模型
W模型由两个V字形模型组成,分别代表测试与开发过程,明确的表示出了测试与开发的并行关系。
W模型的流程图如下:
W模型一个主要的事项是测试伴随着整个软件开发周期。
优点:
- 测试与开发同步进行,体现了尽早进行软件测试的思想;
- 测试对象不仅仅是代码,还包括需求和设计,测试更加完全;
- 尽早的发现软件缺陷,可降低软件开发的成本(缺陷越早被发现,修复的成本越低);
局限性:不支持迭代,测试过程和开发过程始终保持着一种线性的前后关系。
H模型
H模型图如下:
H模型将测试活动完全独立出来,形成了一个完全独立的流程,将测试准备和测试执行清晰地体现出来。
H模型揭示了软件测试是一个独立的流程,指出软件测试要尽早的准备,尽早执行,只要某个测试达到了测试就绪点,测试执行过程就可以开展,并且不同的测试活动可按照某个次序先后进行,也可以反复进行(执行迭代)。
X模型
X模型是对V模型的改进,X模型提出针对单独的程序片段进行相互分离的编码和测试,此后通过频繁的交接,通过集成最终合成为可执行的程序。
X模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后,进行频繁的交接,通过集成最终合成为可执行的程序,这一点在图的右上方得以体现。已通过集成测试的成品可以进行封装并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并行的曲线表示变更可以在各个部分发生。
价值体现:X模型还定位了探索性测试,这是不进行事先计划的特殊类型的测试,这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误。
局限性:探索性测试可能对测试造成人力、物力和财力的浪费,对测试人员的熟练程度要求比较高。
总结
在实际项目中要合理的应用这些模型的优点,比如,在W模型下,合理运用H模型的思想进行独立的测试,将测试和开发紧密结合,寻找最适合的测试过程方案。