第二集 测试概念

发布于:2025-08-08 ⋅ 阅读:(17) ⋅ 点赞:(0)

需求的概念

需求分两部分:一部分是用户需求,另一部分则是软件需求。

用户需求

理解为甲方所提出的需求,或者最终使用者的要求。

软件需求

或者叫功能需求,会详细描述开发人员必须完成的软件功能。软件需求是测试人员进行测试时的基本依据。

开发模型

实际上的模型

模型的工作流程:

需求收集——>需求定义——>产品设计——>编码——>测试——>发布
需要如上几步

软件的生命周期

指的是软件从需求开始,经历需求的计划、设计、程序的开发、程序的测试等阶段,直到软件不在进行维护便到了生命的重点。

常见的开发模型

瀑布模型

在这里插入图片描述
瀑布模型在软件工程中有着重要地位 ,是所有其他模型的基础框架。瀑布模型的每一个阶段都只执行一次,因此是线性的开发模式。

优缺点:

可以运行的产品很迟才能被看见,会给项目带来很大的风险,尤其是集成的风险。因为如果在需求引入的一个缺陷要到测试阶段才可能会被发现,甚至更后的阶段。通常会导致前面阶段的工作大面积返工。
所以现在很多企业在其瀑布模型的线性思想上面,做出了修改,列如细化了各个阶段,在某些重点关注的阶段之间掺入迭代的思想。
正在瀑布模型中,测试往往处于软件实现后,这意味着必须在代码完成后又足够的时间预留给测试的活动,否则会导致测试不充分,把缺陷直接遗留给用户。

螺旋模型

在这里插入图片描述

一般在开发初期对需求不是很明确时,采用的则是渐进式的开发模式。

适用于那些规模庞大、复杂程度高、风险大的项目尤其适合。要求就是不允许有一段独立的测试时间和阶段,测试必须跟随开发的迭代而迭代。

增量模型、迭代模型

在这里插入图片描述
增量开发能显著降低 项目风险,结合软件持续构建机制,构成了当今软件工程最佳实践之一。

区别

比如画一幅画
增量模型:

先画人的头部(对其打草、勾线、上色后完整的画面),在画身体,在画手脚。

迭代模型:

先打草整体、在勾线整形、最后上色整体。

敏捷模型

敏捷模型是一种以迭代、增量和协作为核心的软件开发方法,强调快速响应变化、持续交付价值和紧密的团队协作。与传统的瀑布模型不同,敏捷模型通过短周期的迭代逐步完善产品,更适应需求频繁变动的项目。
敏捷模型中有⼀个⾮常重要的《敏捷宣⾔》,宣⾔内容:

个体与交互重于过程和⼯具
可⽤的软件重于完备的⽂档
客⼾协作重于合同谈判
响应变化重于遵循计划

四个特点:轻⽂档,轻流程,重⽬标,重产出。

scrum

scrum是敏捷模型中的一种,又叫做迭代式增量软件开发模型。

测试模型

测试模型中有两个⾮常重要且具有标志性的测试模型:V模型和W模型

V模型

在这里插入图片描述

优点:
• 明确的标注了测试过程中存在的不同类型的测试,并且清楚的描述了这些测试阶段和开发过程期间
各阶段的对应关系,有效提升测试的质量和效率。
• V模型指出:
◦ 单元和集成测试应检测程序的执⾏是否满⾜软件设计的要求;
◦ 系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;
◦ 验收测试确定软件的实现是否满⾜⽤⼾需要或合同的要求
缺点:仅仅把测试作为在编码之后的⼀个阶段,未在需求阶段就介⼊测试。缺点同瀑布模型。

W模型

在这里插入图片描述

特点:测试的对象不仅是程序,需求、设计等同样要测试,测试与开发是同步进⾏的
优点:
• 有利于尽早地全⾯的发现问题。例如,需求分析完成后,测试⼈员就应该参与到对需求的验证和确
认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项⽬难度和测试⻛险,
及早制定应对措施,显著减少总体测试时间,加快项⽬进度。
缺点:
• 需求、设计、编码等活动被视为串⾏的;
• 测试和开发活动也保持着⼀种线性的前后关系,上⼀阶段完全结束,才可正式开始下⼀个阶段⼯
作。
• 重流程,⽆法⽀持敏捷开发模式。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理
⾯临着困惑。


网站公告

今日签到

点亮在社区的每一天
去签到