软件的生命周期
软件生命周期是软件开始研制
到最终被废弃不用
所经历的各个阶段。
瀑布型生命周期模型
规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落,具有顺序性和依赖性。每个阶段规定文档并需进行评审。
特点:自上而下,有顺序性
缺点:测试介入比较晚,回溯成本比较高,测试周期比较长
V模型
通过开发和测试同时进行的方式来缩短开发周期,提高开发效率。
V模型,测试在需求分析阶段就已经介入了
软件生命周期的各阶段
一、问题的定义及规划
主要确定软件的开发目的及其可行性,制定项目总体开发计划
二、需求分析
在确定软件开发可行的情况下,对软件需要实现各个功能进行详细分析,明确客户的需求,输出需求规格说明书终版,提交评审。
三、设计
把需求分析得到的结果转换为软件结构和数据结构,形成系统架构
概要设计
:主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和数据传递的实现等项事务。
详细设计
:对概要设计中表述的各模块进行深入分析等,其中需要包含数据库设计说明。
四、编码
按照详细设计好的模块功能表,编程人员编写出计算机可运行的程序代码
五、软件测试
六、运行维护
敏捷开发模型
是一个用于开发和维持复杂产品的框架。就是把一个大项目分为多个相互联系,但也可以独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
软件测试的基本流程(重点)
测试需求分析阶段
:阅读需求,理解需求,主要就是对业务的学习,分析需求点。参与需求评审会议。
测试计划阶段
:主要任务是编写测试计划
,参考软件需求规格说明书、项目总体计划,内容包括测试范围(来自需求文档)、进度的安排,人力物力的分配,整体测试策略的制定,和风险的评估与规避措施有一个制定,一般有测试负责人编写,当然我们可能也会参与相关的评审工作。
测试设计阶段
:主要任务是编写测试用例
,会参考需求文档(原型图)、概要设计、详细设计等文档,有不明确的也会及时和开发、产品经理沟通。用例编写完成后会进行评审
。
测试执行阶段
:首先搭建测试环境,执行预测(冒烟),以判定当前版本可测与否,如果预测通过,正式进入系统测试,遇到问题提交Bug到缺陷管理平台,并对bug进行跟踪,直到被测软件达到测试需求要求,没有重大bug,测试结束。----(完善测试用例)
测试评估阶段
:出测试报告
,对整个测试过程和版本质量做一个详细的评估,确认是否可以上线