本文从回归测试的概念导入,对瀑布模型,v模型、w模型、h模型、x模型进行了总结和分析。
1.回归测试
1.1.什么是回归测试?
简而言之,回归测试就是在测试发现问题后转交开发人员进行修改,再进行测试的过程。这个过程就是回归测试。回归测试伴随着测试过程的始终,各个阶段都会进行回归测试。
1.2.回归测试的策略
(1)全面回归测试:全面回归测试是不管有多少个BUG,不管哪个功能有问题,整个系统全部测一遍。
(2)选择性回归测试:只对出现问题的功能或者模块进行测试。
(3)指标法回归测试:每次测试只测试一定比例的用例。
(4)自动化工具回归测试:使用自动化测试工具进行测试。
2.软件测试模型
1.1.瀑布模型
(1)核心思想:按工序使问题简化,将功能的实现和设计分开,便于分工协作,即采用结构化的分析和设计将逻辑实现与物理实现分开。
(2)软件生命周期:制定计划、需求分析、软件设计、程序编写、软件测试、运行维护。
(3)实现过程:如下图所示:其中软件测试和软件维护约占总周期的80%
(4)瀑布模型的优点:
- 为项目提供了按阶段划分的检查点
- 当前一阶段完成后只需要关注下一阶段
- 可在迭代模型中应用瀑布模型
(5)瀑布模型的缺点:
- 各个阶段之间极少有反馈
- 只有在项目生命周期的后期才能看到结果
- 测试过程知识软件开发的一个收尾工作,而非主要工程
1.2.V模型
(1)核心思想:把软件测试当做软件生命周期的重要组成部分,明确的标明了测试工程中存在的不同级别以及测试阶段开发阶段的对应关系。
(2)模型实现流程:
(3)优点
- 既由底层测试又有高层测试
- 将开发阶段清楚的表现出来,便于控制开发过程,当所有阶段都结束时,软件开发就结束了
(4)缺点
- 容易使人理解为测试是软件开发的最后一个阶段
- 由于它的顺序性,软件测试是在系统完成是后才开始测试的。这样的话,正式进入测试时,这时发现的一些bug可能不容易找到其根源,并且代码修改起来很困难,涉及到的体系可能会很庞大
- 实际中,由于需求变更很大,导致要重复变更需求、设计、编码、测试,返工量大
1.3.W模型
(1)基本思想:W模型是在V模型的基础上改进的,它解决了V模型不容易找到BUG的根源和难以修改的缺点。
(2)W模型实现的流程:也被称为双V模型,一个V是软件开发的生命周期,另一个是软件测试的生命周期。
(3)优点
- 将测试贯穿到整个软件的生命周期中,切除了代码要测试,需求、设计等都要测试
- 有利于更早的发现问题,修改的时候涉及到的范围可控
- 测试与开发独立起来,并与开发并行,加快项目进度
(4)缺点
- 对有些项目,开发过程中根本没有文档产生,故W模型无法使用
- 对于需求和测试技术要求很高,实践起来很困难
- 上一阶段完全结束,下一阶段才可以开始工作,这样无法支持迭代的开发模型
1.4.H模型
(1)基本思想:将测试活动分离出来,成为一个独立的流程,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段。软件测试可以尽早的进行,并且可以根据被测物的不同而分层次进行。
(2)测试就绪点:测试的就绪条件主要是检查以下几部分内容是否完成
- 该开发流程对应的测试策略是否完成
- 测试方案是否完成
- 测试环境是否搭建好
- 相关输入件输出件是否明确
(3)H模型图:
(4)H模型具备以下特点:
- 测试是一个独立的过程
- 测试需要达到就绪点才可以执行
- 测试对象是一个产品包,而不仅仅是程度、需求或相关说明书
1.5.X模型
(1)基本思想:X模型是在V模型的基础上进行修改,弥补V模型的缺陷。
(2)测试过程:X模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终成为可执行的程序,然后再对这些可执行程序进行测试。己通过集成测试的成品可以进行封装并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并行的曲线表示变更可以在各个部分发生。
(3)X模型图:由图中可见,X模型还定位了探索性测试,这是不进行事先计划的特殊类型的测试,这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误。但这样可能对测试造成人力、物力和财力的浪费,对测试员的熟练程度要求比较高。