 - 概念篇(1)-- 什么是需求 软件生命周期)
测试(3) - 概念篇1-- 什么是需求 软件生命周期文章目录测试(3) - 概念篇1-- 什么是需求 软件生命周期1. 什么是需求1.1 用户需求1.2 软件需求1.3 实际工作场景1.4 总结笔试题用户需求的作用需求分析2. 开发模型概念 软件生命周期2.1 什么是开发模型2.2软件的生命周期(:star:重要)2.2.1 举例造房子2.2.2 映射到软件的生命周期2.2.3 软件的生命周期每个阶段3. 结尾1. 什么是需求在多数软件公司会有两部分需求一部分是用户需求一部分是软件需求。1.1 用户需求用户需求可以简单理解为甲方提出的需求如果没有甲方那么就是终端用户使用产品时必须要完成的任务。该需求一般比较简略通常是一句话。用户的需求是五花八门往往只是一句话这句话是没有经过合理评估的。用户需求不是开发人员进行项目开发测试人员进行测试工作的基本依据。如何判断是否是用户需求其实很简单用户直接提出来的几乎都是用户需求。例如你的女朋友说我饿了这个就是一个用户需求。例如你说我想找对象这个也是一个用户需求。1.2 软件需求软件需求也叫功能需求该需求会详细描述开发人员必须实现的软件功能。软件需求是开发人员进行项目开发测试人员进行测试工作的基本依据。用户需求和软件需求有什么不同呢我们还是举这个例子我想找一个女朋友首先用户A 提出来我想找一个女朋友这是一个用户需求那么我们就需要针对用户需求做评估判断是否能够实现。找女朋友是这么一个实现思路多去社交拓宽自己的社交圈子交到更多女性朋友喜欢某一位女生加联系方式相处一段时间投其所好追求她告白告白成功找到女朋友了告白失败没找到大概是这么一个流程。当然最终能不能实现是不确定的但是我们要有这个一个实现思路再去判断能不能实现。那么这个找女朋友的流程就是我们作为实现的依据这个就可以当作是一个软件需求。上述找女朋友的过程就类似于软件需求。你需要将软件的实现流程和细节都告诉 程序员和测试人员程序员才能去实现这个软件测试人员也能根据这个实现思路更好的进行测试例如编写测试用例写测试报告…………。最终能不能实现是不确定的但是我们要有这个一个实现思路再去判断能不能实现。1.3 实际工作场景首先我需要针对一个名词进行介绍软件需求规格说明书软件需求规格说明书在工作中也叫做 软件需求文档或者需求文档开发人员和测试人员都必须要根据 软件需求规格说明书需求文档 进行开发和设计测试用例。在工作中我们实际见到的软件需求文档类似于下面的表述软件需求规格说明书需求文档一、用户需求平台支持邮箱注册二、软件需求开发人员就要根据这个需求文档进行代码的开发。测试人员就要根据这个需求文档进行功能的测试举一个例子姓名长度为 6~15 位那么测试人员就要测试如果没有 6 位的姓名长度是否会出错如果超过了 15 位的姓名长度是否会出错…………所以还是那句话软件需求是开发人员进行项目开发测试人员进行测试工作的基本依据。1.4 总结用户需求是没有经过合理评估的一句话的表达。软件需求是根据用户需求构造一个软件功能的实现思路用户需求经过合理评估后转化为 软件需求将 软件需求 交给程序员程序员才能够判断这个软件功能是否能够实现。测试人员才能针对 软件需求设计测试用例。所以软件需求是开发人员进行项目开发测试人员进行测试工作的基本依据。笔试题如果有一道笔试题是这么说的用户需求可以作为测试人员的工作依据答案是错误用户需求的作用那么用户需求是否就真的没用答当然不是用户的需求不能作为测试和开发的工作依据。但是产品经理需要收集用户需求对用户需求进行需求分析后转变为软件需求。最后开发出来的产品必须要满足用户需求才能够上线交付。所以用户需求它是有始有终的并不是没有任何用处。用户需求既是软件需求的前提也是一款软件项目是否可以交付上线的标准。需求分析需求分析你可以在 百度 上搜索相关资料B站的教学视频比我这里简单讲讲会好很多。需求分析可以从这几个角度分析技术可行性**一个功能是否可以用现有技术实现**比如用户需求说想要一个五彩斑斓的黑这个功能肯定是没法实现的就不具备 技术可行性市场可行性这款产品现有市场是否有这个产品。比如用户的需求是家用的自动炒菜机这款商品在市场上就很少人会买由此就会判断市场可行性不高经济可行性开发软件开发其他项目都是需要投入财力物力人力的通过判断 成本投入和收益占比是否符合预期从而判断 经济可行性如何。2. 开发模型概念 软件生命周期2.1 什么是开发模型开发模型是什么你以为的模型实际的模型其实开发模型实际上指的是开发一款软件/功能需要具备的开发流程。开发流程截止到 2026年已经形成了规范。那么开发模型都有哪些认识具体的开发模型之前我们需要先了解软件的生命周期。下面我们先介绍软件的生命周期。关于开发模型的介绍在这篇博客中进行介绍博客链接测试(4) - 概念篇2-- 常见的开发模型2.2软件的生命周期(⭐️重要)生命周期我举个例子大家就懂了。以人为例人类的生命周期从生命孕育开始中间会经历下面这些阶段幼年童年少年青年老年最终直至死亡。而软件/产品的生命周期也是如此。需求的提出是软件生命周期的起点中间会经历需求计划、设计、程序开发、程序测试等阶段直至软件不再进行维护便到达了生命周期的终点。那么软件的生命周期是什么我们还是先举一个生活中的例子理解生命周期的概念再映射到 软件 上面去。2.2.1 举例造房子假如我想要建造一套房子房子的生命周期流程是什么样的步骤总结为什么要建房子商品房还是普通住宅建造 100 层技术上是否可行明确合理的建房目标什么时候开发建房子计划竣工时间多久可以交房计划好时间建房前明确流程先打地基做基础框架砌墙、粉刷、水电工程……设计好具体的建房流程按照前面的流程和时间实施建房中…施工中房屋建造完成开发商验收成果、买家验收房子品质房子是否牢固是否漏水及其他偷工减料的地方是否按照规定来建造的检查房屋建造结果检查结束开始逐步入住使用中出现了各种情况如房屋漏水、墙面掉皮、下水道堵塞等问题一边使用一边找物业修理使用并及时维护2.2.2 映射到软件的生命周期理解了上面的流程我们再把这些步骤对应到 软件 中去就是这样的步骤总结映射软件流程为什么要建房子商品房还是普通住宅建造 100 层技术上是否可行明确合理的建房目标需求分析什么时候开发建房子计划竣工时间多久可以交房计划好时间计划建房前明确流程先打地基做基础框架砌墙、粉刷、水电工程……设计好具体的建房流程设计按照前面的流程和时间实施建房中…施工中编码房屋建造完成开发商验收成果、买家验收房子品质房子是否牢固是否漏水及其他偷工减料的地方是否按照规定来建造的检查房屋建造结果测试检查结束开始逐步入住使用中出现了各种情况如房屋漏水、墙面掉皮、下水道堵塞等问题一边使用一边找物业修理使用并及时维护运行维护因此我们就得到了软件开发的生命周期需求分析 → 计划 → 设计 → 编码 → 测试 → 运行维护2.2.3 软件的生命周期每个阶段阶段具体内容产出需求分析分析用户需求是否合理分别从市场需求、技术等方面进行分析。该阶段会输出需求文档。计划对成立的需求执行需求执行计划多长时间内完成该需求每段时间具体完成哪些功能。该阶段会输出计划文档。设计将需求细化成一个个任务团队成员各司其职领取任务并进行技术设计如何进行架构设计设计哪些接口、采用什么技术。该阶段会输出技术文档。编码开发人员参考需求文档、设计文档、交互图等等文件进行代码的编写。代码文件的文档。测试测试人员需要介入到软件的测试中来参考测试用例对软件进行测试。测试用例、测试设计与计划、测试报告等文档。运行维护项目测试结束之后项目需要进行上线并对产品进行线上的维护。线上的维护主要分为三个方面分别为修复性维护、完善性维护和预防性维护。修复性维护对项目中未发现的问题进行修复。即测试人员进行软件测试没有测试到的 bug用户在使用过程中发现的问题进行修复完善性维护对功能进行完善。一款大型的软件游戏也是一种软件并不是把它做的十全十美再发布上线而是选取优先级较高的功能实现出来发布上线目的是为了留住用户。之后根据用户的反馈以及当初实现软件游戏遗漏的功能对软件的功能进行优化完善。预防性维护居安思危为了避免产品在线上出现一些其他不可预料的问题进行一些防护的手段。不可预料的问题例如12306抢票同一时刻面对大量的用户请求要保证服务器不会崩溃能持续工作。淘宝购物平时一秒的交易金额平台的收益就可能达到几十万双十一期间服务器如果因访问量激增宕机了也就是程序崩溃了就会造成大量的资金损失。就需要针对这类问题进行一些防护的手段确保用户的使用体验。3. 结尾最后如果这篇博客能帮到你的请你点点赞有写错了写的不好的欢迎评论指出谢谢下一篇博客测试(4) - 概念篇2-- 常见的开发模型