软件测试模型是软件测试工作的主要框架,描述了软件测试过程所包含的主要活动。常见的软件测试模型包括V模型、W模型、X模型、H模型等。其都是在瀑布模型之上所做的改进。以下简单谈谈各种模型的优缺点。
1.V模型
优点:制定的策略既包括了底层的测试,又包括了高层的测试。底层测试是为了源代码正确性,高层测试是为了整个系统满足用户的需求。能较好地反映测试活动与开发之间的关系。缺点:容易让人误解测试是在编码之后的一个阶段,由于他的顺序性,需求分析的错误要到后期才能发现,返工量大。实际中,由于需求变更较大,导致要重复变更需求、设计、编码、测试等工作。
2.W模型
优点:1.测试伴随整个软件开发周期。测试对象不仅仅是程序,需求、文档和代码同样要测试。2.更早介入软件开发中,能够尽早发现缺陷。3.测试与开发是独立过程,保持同步关系。缺点:1.有些项目,开发过程中没有文档产生,无法使用W模型。2.对于需求和设计的测试技术要求很高,实践起来困难。
3.X模型
优点:1.将单独程序片段进行相互分离的编码、测试。之后再通过集成成为可执行的程序。2.定位了探索性测试,往往能使经验丰富的测试人员发现在测试计划之外的更多软件错误。缺点:探索性测试对测试员技术熟练程度要求较高。故容易造成人力,物力,财力的浪费。
4.H模型
H模型揭示了软件测试是一个独立的流程,与其他流程并发进行。H模型指出测试要尽早准备,尽早执行。只要到达某个测试达到准备就绪点,测试执行活动就可以开展,并且不同的测试活动可按照某个次序先后进行,但也可以反复进行。