测试的概念
调试 测试
目的 发现并解决问题 发现问题
角色 开发人员 开发、测试...项目组成员
阶段 开发阶段 贯穿于软件的整个生命周期
需求的概念
用户需求
一句话
软件需求
是开发人员和测试人员执行工作的依据
例子:(源自比特)
开发模型
规范的流程是在时代的演变下逐渐成型,并不是一开始就是规范的流程。
软件的生命周期
建造一套房子(用户需求)。
建造房子的原因 明确合理的建房目标 需求分析
建造房子的时间 计划好时间 计划
建房的流程 设计好具体的建房流程 设计
开发商验收成果、检验房子是否牢固 测试
入住一边使用一边修理 使用并及时维护 运行维护
开发:设计开发文档(用什么技术、用什么框架等等)测试:明确需求,设计测试用例测试计划(明确本次测试设计到的工具、设计到的测试类型.
项自测试结束之后,项自需要进行上线,并对产品进行线上的维护。线上的维护主要分为三个方面。分别为修复性维护、完善性维护和预防性维护
修复性维护:对项目中未发现的问题进行修复。
完善性维护:对功能进行完善。
预防性维护:居安思危,为了避免产品在线上出现一些其他不可预料的问题,进行一些防护的手段。
瀑布模型
特点:每个流程只执行一次线性的开发流程
缺点:
测试后置
前面各阶段遗留的风险推迟到测试阶段才被发现,导致项目大面积返工,失去了及早修复的机会
必须留有足够的时间给测试活动,否则导致测试不充分,将缺陷直接暴漏给客户。
周期太长,产品很迟才能被看到和使用,可能会导致需求/功能过时
螺旋模型
特点:螺旋模型中各个阶段都引|入的风险分析原型。
引入的目的是减少各阶段遗留的风险问题,避免把问题留到后面的阶段
优点:强调严格的全过程风险管理、强调各开发阶段的质量、增加风险分析和原型
缺点:
项目中可能存在的风险性与风险管理人员的技能水平有直接关系
需求人员、资金、时间的增加和投入,可能会导致项目的成本太高。