软件测试模型指的是软件测试和开发阶段的对应关系,它可以被用来指导整个软件测试过程,常见的软件测试模型包括:V模型、W模型、H模型、X模型,其中V模型是最具代表性的软件测试模型,需要掌握,其余模型了解即可
一、V模型
V模型从左往右依次是用户需求-需求分析-概要设计-详细设计-编码-单元测试-集成测试-系统测试-验收测试
(1)用户需求
一般由甲方业务牵头部门成立需求编写小组,由小组人员编写并完善需求文档,有的项目也可能由乙方来完成。产出物为《XX业务需求》、《XX新增功能工程业务需求》、《XX新增功能及扩容改造业务需求》等
(2)需求分析
由甲方业务人员、用户、开发人员等完成,针对需求文档进行细致研讨和分析,产出物为《需求分析说明书》、《需求规格说明书》等
(3)概要设计
该阶段由开发人员完成,产出物为《概要设计说明书》
(4)详细设计
该阶段由开发人员完成,产出物为《详细设计说明书》
(5)编码
该阶段由程序员完成,产出物为程序,即源代码
(6)单元测试
也叫模块测试,是最小的测试单位,理论上以白盒测试为主,测试对象一般就是一个功能、类、函数、窗口、菜单等。实际工作中,考虑成本问题,一般由程序员自己完成。测试依据是《详细设计文档》,从模型图中我们能看出,单元测试与详细设计相对应
(7)集成测试
也叫组装测试,组装过程一般是逐步完成的,所以会形成很多临时版本,理论上以黑盒测试为主,核心模块适当采用白盒测试。测试依据是《概要设计文档》,从模型图中我们能看出,集成测试与概要设计相对应
(8)系统测试
是在所有功能组装完成后,对集成了硬件、软件、数据的完整系统进行的测试。测试的重点在于系统在真实环境下的正确运行以及系统的兼容性问题,测试方法为黑盒测试,测试依据是《需求规格说明书》、《需求文档》等文档。从模型图中我们能看出,系统测试与需求分析相对应
(9)验收测试
也叫用户接受度测试,是由用户参与的验收过程,包括alpha测试和beta测试。从模型图中我们能看出,验收测试阶段与用户需求阶段相对应
特点:
V模型是一个从左往右串行的模型
V模型中开发阶段和测试阶段划分明确,对应关系明确
V模型中既包括专业级测试(如单元测试、集成测试)又包括用户级测试(如验收测试)
V模型中没有体现对需求、文档和设计阶段的测试,容易被误解为测试工作只是开发完成后的收尾
V模型没有体现尽早测试和不断测试原则
二、W模型
W模型又称双V模型,它由V模型演变而来,弥补了V模型的不足。左边的V是开发的生命周期,右边的V是测试的生命周期
W模型不仅体现了对程序的测试,还体现了对需求、文档和设计阶段的测试
W模型是一个开发与测试并行的模型,能否清楚的看到开发和测试工作同步进行
W模型体现了尽早测试和不断测试原则
W模型也有其局限性,左边的V亦是把开发视为一系列串行的活动,无法支持迭代
三、H模型
H模型只体现了测试过程,未体现开发过程,它表明测试是一个独立的过程
H模型有一个测试就绪点,即达到准入条件(测试方案、测试策略、测试用例、测试环境、输入输出项等是否明确)才能继续执行
H模型的测试范围不仅仅是需求、文档和程序,它涉及整个产品包
H模型体现了尽早测试和不断测试原则
四、X模型
X模型也是对V模型的改进,X模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成,最终成为可执行的程序,然后再对这些可执行程序进行测试。己通过集成测试的成品可以进行封装并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并行的曲线表示变更可以在各个部分发生。
此外,X模型还定位了探索性测试,这是不进行事先计划的特殊类型的测试,这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误。但这样可能对测试造成人力、物力和财力的浪费,对测试员的熟练程度要求比较高
好了,本期内容就先讲到这里,我们下期见!
文章作者简介:软件测试工程婶,一名从事软件测试行业的大婶,倔起来十头牛都拉不回来的另类摩羯,三观比五官正,思想比套路深
领取专属 10元无门槛券
私享最新 技术干货