软件的生命周期
可行性分析-需求分析-软件设计-软件编码-软件测试-软件维护
1.可行性分析
主要确定软件开发的目的和可行性(PM)
2.需求分析
对软件的功能进行详细的分析(PM),输出需求规格说明书(原型图)
3.软件设计(DEV)
把需求分析得到的结果转换为软件结构和数据结构,形成系统架构
概要设计:搭建架构、模块功能、接口连接和数据传输
详细设计:模块深入分析,对各模块组合进行分析,伪代码 包含数据库设计说明
4.软件编码(DEV)
可运行的程序代码
5.软件测试
5.1.单元测试(DEV)
模块和类,函数等代码测试
5.2.集成测试
测试软件单位之间的接口是否正确、数据是否正常传递
5.3.系统测试(工作接触最多的)
按照软件需求规格说明书,测试其功能和性能等与用户需求是否符合,是否存在漏洞等
5.4.验收测试
用户对软件进行验收测试
6.运行维护
纠错性维护和改进性维护
7.软件生命周期模型
V模型
用户需求---------验收测试
↓ ↓
需求分析---------系统测试
↓ ↓
概要设计---------集成测试
↓ ↓
详细设计---------单元测试
↓
软件编码
软件的测试流程
1.测试需求分析
阅读理解需求,分析需求点,参与需求评审会议
2.计划阶段
编写测试计划(TL),内容包括测试范围、进度安排、人力物力分配,测试策略制定,和风险评估等
3.设计阶段
编写测试用例,根据需求文档、概要设计、详细设计等用例编写完要进行评审
4.执行阶段
搭建测试环境-执行预测-系统测试-提交BUG-跟踪BUG-关闭BUG
5.评估阶段:
出测试报告,对测试的过程和版本质量做一个详细的评估
流程梳理:
1.开发流程
需求分析-得知功能组成以及设计软件结构、数据结构(概要设计、详细设计)-编写代码-单元测试-代码审查-打包提交测试-等待测试BUG-修复BUG-等待测试回归BUG-N轮-版本上线-用户使用
2.测试流程
需求分析-编写测试用例-评审测试用例-搭建测试环境-等待开发研发完成-部署测试包-冒烟测试(预测)-执行测试用例-bug跟踪(提交以及回归BUG)-N轮-版本上线-用户使用
课后习题
1)开发环境--测试环境--生产环境?
答:
1.开发环境:开发环境时程序猿们专门用于开发的服务器,配置可以比较随意,为了开发调试方便,一般打开全部错误报告和测试工具,是最基础的环境。
2.测试环境:一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它发布到生产服务器上,是开发环境到生产环境的过度环境。一般部署到公司私有的服务器或者局域网服务器上,主要用于测试是否存在bug,一般会不让用户和其他人看到,并且测试环境会尽量与生产环境相似。
3.生产环境: 生产环境是指正式提供对外服务的,一般会关掉错误报告,打开错误日志,是最重要的环境。三个环境也可以说是系统开发的三个阶段:开发->测试->上线,其中生产环境也就是通产说的真实的环境,最后交给用户的环境。
2)你在测试环境后台添加的数据和信息,能够在生产环境看到么?
答:不能。因为测试添加数据是在测试环境下操作的,只能在测试环境下查看。