- 软件测试与软件工程息息相关,软件测试是软件工程组成中不可或缺的一部分。
- 在软件工程、项目管理、质量管理得到规范化应用的企业,软件测试也会进行得比较顺利,软件测试发挥的价值也会更大。
- 要关注软件工程、质量管理以及配置管理与软件测试的关系;在不同的开发模式下,如何进行软件测试。
测试模型
随着测试过程的管理和发展,测试人员通过大量的实践,从而总结出了不少测试模型,如常见的V模型、W模型、H模型等。这些模型与开发紧密结合,对测试活动进行了抽象,成为了测试过程管理的重要参考依据。
V模型
- V模型是最具有代表意义的测试模型,最早是由Paul Rook在20世纪80年代后期提出,由英国国家计算机中心文献中发布,旨在改进软件开发的效率和效果;
- V模型推出之前,人们通常把测试过程作为在需求分析、概要设计、详细设计、编码全部完成之后的一个阶段,尽管当时已经出现了测试工作会占用这个项目周期一半的时间,但是大多数人认为测试只是一个收尾工作;
- V模型在这个时候推出,就是为了改变之前行业的普遍认识。
- V模型本身是软件开发中瀑布模型的变种,它反映了测试活动与分析和设计的关系。
- V模型标明了测试过程中本身存在的不同阶段,从左到右,描述了开发过程和测试过程间的阶段对应关系。
需求分析
- 用户需求、业务需求、需求规格说明书
概要设计
- 系统架构、模块划分、模块与模块之间的接口。
详细设计
- 模块内部实现的逻辑和方法。 编码 实现上面的设计。
单元测试
- 检测代码的开发是否符合详细设计的要求。
集成测试
- 检测此前测试过的各组成部分是否能完好地结合到一起。
系统测试
- 检测已集成在一起的产品是否符合系统规格说明书的要求。
验收测试
- 检测产品是否符合最终用户的需求。
V模型的优点
测试V模型即包含了底层测试又包含了高层测试;
- 底层测试:检验源代码质量的测试,如:单元测试;
- 高层测试:检验整个系统的需要,如:系统测试;
V模型清楚地标识出了软件开发的阶段。
它采用自顶向下逐步求精的方式把整个开发过程分成不同的阶段,每个阶段的工作都很明确,因此便于控制开发过程。当所有的阶段都完成之后,该软件的开发过程也随之结束。
V模型的缺点
V模型一大缺点正是它自身的顺序性所导致的。到了测试阶段,程序已经完成,错误已经产生,很多前期的错误一直到测试阶段才发现,甚至无法发现,往往无从修改了。
同时实际的开发过程中,在需求阶段很难把用户的需求完全明确下来,因此,当需求变更时将会导致阶段反复,而且都要重复需求、设计、编码、测试等过程,返工量非常大,模型灵活性比较低。
W模型
- IEEE std1012-1998《软件验证和确认(V&V)》的原则中提出了在软件的需求和设计阶段也应有测试活动,并且提出了相应的原则;
- W模型由Evolutif公司提出:开发一个V,测试一个V,组合的W模型;
- 测试伴随着整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试。
W模型优缺点
H模型
测试流程
- 测试准备:所有测试执行活动的准备;判断是否到测试就绪点;
- 测试就绪点:测试准入准则,即是否可以开始执行测试的条件;
- 测试执行:具体的执行测试的程序。
其他流程
- 具体开发中的流程,如:设计流程
H模型优缺点
软件测试基础入门
最新软件测试视频教程,软件测试基础入门到项目实战(涵盖软件测试基础+黑马头条项目实战)
Linux系统2天快速入门Linux系统操作教程2天快速入门linux项目搭建
MySQL数据库软件测试工程师必备MySQL数据库,mysql系统精讲+课后练习
Python自动测试教程 黑马程序员Python自动测试教程,python从基础到UnitTest框架管理测试用例
自动化测试
Web自动化软件测试web自动化测试,Web自动化流程精讲和移动自动化测试环境
Appium框架视频 零基础入门移动自动化测试——Appium框架
Appium进行IOS真机自动化测试 轻松教你使用Appium进行IOS真机自动化测试【黑马程序员】
接口测试4天玩转接口测试,接口重点全解析+传智健康项目实战(包含requests库,集成UnitTes,Dubbo等诸多工具)
性能测试性能测试全套教程,4天快速入门性能测试+项目商城实战(含JMeter工具等)
综合项目强化
微信小程序自动化测试软件测试微信小程序自动化测试实战
金融项目功能测试软件测试4天快速搞定金融项目功能测试实战教程
一键收藏不谢