一、软件测试流程
二、软件测试过程模型
- 如同软件开发过程一样,软件测试也有自己的过程模型。软件测试过程是一种抽象的模型,用于定义软件测试的流程和方法
- 测试过程的质量将直接影响测试结果的准确性和有效性。软件测试过程和软件开发过程一样。都遵循软件工程原理,遵循管理学原理
- 一个标准的软件测试过程中,应当包含但不限于包含以下测试活动
- 需求分析、测试计划、测试设计、测试执行、测试总结......
① V模型
- 揭示了开发过程与测试过程中各个阶段的对应关系
- 缺点
- 仅仅将测试过程作为在需求分析、系统设计及编码之后的一个阶段,忽视了测试对需求分析、系统设计的验证
- 需求的满足情况一直到后期的验收测试才被验证
- 没有体现出“尽早地和不断地进行软件测试”的原则
② W模型
- 由两个V模型组成,分别代表测试与开发过程,明确表示出测试与开发的并行关系
- 优点
- 测试的活动与软件开发同步进行
- 测试对象不仅仅是程序,包括需求和设计
- 尽早发现软件缺陷可降低软件开发的成本
- 缺点
- 在W模型中,需求、设计、编码等活动被视为串行的,这样就无法支持灵活的迭代
③ H模型
- 将测试活动完全独立出来,形成了一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来
- 揭示了一个原理:软件测试是一个独立的流程
- 指出软件测试要尽早准备,尽早执行;只要某个测试达到准备就绪点,测试执行活动就可以开展,并且不同的测试活动可按照某个次序先后进行,也可以反复进行
④ X模型
- 是对V模型的改进,提出针对单独的程序片段进行相互分离的编码和测试,此后通过频繁的交接,通过集成,最终合成为可执行的程序
-
还定位了探索性测试,这是不进行事先计划的特殊类型的测试,这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误
三、软件测试过程理念
① 尽早测试
- 测试人员早期参与软件项目
- 尽早的开展测试执行工作
② 全面测试
- 对软件的所有产品进行全面的测试
- 软件开发及测试人员(有时包括用户)全面的参与到测试工作中
③ 全过程测试
- 测试人员要充分关注开发过程
- 测试人员要对测试的全过程进行全程的跟踪
④ 独立的、迭代的测试
- 测试活动是独立的
- 测试活动应该是循环往复、不断地进行