软件的生命周期
一、软件的生命周期简述
软件的生命周期中最早可能是客户,可能是产品的一个想法阶段,然后再到后来的一个需求阶段,再到开发人员去进行编码,去进行自己的自测,再提到软件测试人员进行综合测试,经过综合测试之后,产品就上线了,上线之后就要涉及到软件的后续维护。不管是升级也好,优化也好,添加新功能也好,改bug也好,都是软件维护的一部分,这就是软件的一生。
按照整个软件开发的规模和复杂程度,从时间上来说把整个开发过程分段,各个阶段进行分解,形成相对独立的一些阶段,每个阶段可能有自己的名称,但是说各阶段独立,互相之间又有一些联系。所以只能说是各阶段相对独立,每一个阶段都是固定必须存在。在每个阶段又分解成几个具体的任务,每个阶段都需要有开发成果,这个成果不仅仅是代码,需要有文档的维系,而文档他其实也是测试的一个范畴,因为它也是软件一部分。
二、软件的生命周期组成
软件的一生分成了几个步骤,包括问题定义、可行性研究、需求分析、概要设计、详细设计、编码和单元测试、综合测试、软件维护。这是一个通用的软件生命周期,可能在实际软件的开发过程中会有相对的调整。
- 2.1.问题定义
问题定义就是不管是产品,还是客户,脑门一热想到一个idea,比如说我今天想了一个想法,我希望能能够做一个硬件加软件的综合体,这就是我脑洞大开,确定好我到底要解决的一个什么样的问题。
- 2.2.可行性研究
就是从目前的技术来看,我刚刚的这种脑洞大开的想法,到底有没有可以解决的方案,是否能够通过技术手段来实现。所以假设这个是可以实现,经过可行性研究,大家论证,通过了你这个想法,没问题的话就开始进行需求分析。
- 2.3.需求分析
就是深入具体地了解客户的需求,上面只是一个想法,这个想法要落实到一个个需求上,落实到最终的一个文档上。那接下来我就要去做一些概要设计。
- 2.4.概要设计
其实就是实现这个需求到底有哪几种方案,把他设计出来。
- 2.5.详细设计
到了详细设计,就是首先要从概要设计里选出一条最合适实现的一个方案,然后根据这个方案涉及到各个模块,这里边可能需要包含的一些算法,算法里面可能还要包含到你的数据结构的东西,这也是在详细设计之中。比如说要用一个什么样的数据库,这个数据库是以什么样的形式而存在,数据结构是什么样子的,都要设计好。设计好了就可以开始下一步。
- 2.6.编码
到这步就可以开始写程序了,写完程序之后自己写一些单元测试来验证自己写的方法,然后自测没问题。那交给的软件测试人员。
- 2.7.测试
软件测试人员针对各种各样的场景,设计好测试用例(就是想要做的事情以及对他有一个期望结果)。把这些用例都测试完成之后,产品就可以上线了。
- 2.8.软件维护
线上运行过程中发现的问题和客户反馈的问题,要进行维护进行解决。这样才是正式的软件的一生所包含各个阶段的事情。
三、高质量软件
生成一个高质量的软件,这个软件里边除了有很好的代码,有经过测试之后的软件,能够上线的程序,同时还要有比较完善的文档,这个文档是能够为后来人所用的,不管这个文档拿出去给客户看,还是这个文档留下来给后续入职的其他新员工去看,都能够产生一定的依据,产生一定的作用。这样的软件叫做好的软件。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!!
![](https://i-blog.csdnimg.cn/blog_migrate/bfe3ee82516126cce6c2c5ad44c96426.gif)