需求
衡量软件测试结果的依据
用户需求
甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务
软件需求
也叫功能需求,会详细描述开发人员必须实现的软件功能
软件测试是测试人员进行测试工作的基本依据
测试用例
是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素
测试用例解决了两大问题:测什么、怎么测
Bug
当且仅当规格说明是存在的并且正确,程序与规格说明之间的不匹配才是错误
当需求规格说明书没有提到的功能,判断标准以最终用户为准:当程序没有实现其最终用户合理预期的功能要求时,就是软件错误
开发模型
软件的生命周期是指从软件产品的设想开始到软件不再使用而结束的时间。软件的生命周期可以分为6个阶段,即需求分析、计划、设计、编码、测试、运行维护
瀑布模型
特点
线性结构,每个阶段只执行一次
是其他模型的基础框架
缺点
测试后置
前面各阶段遗留的风险推迟到测试阶段才被发现,导致项目大面积返工,失去了及早修复的机会;
必须留有足够的时间给测试活动,否则导致测试不充分,将缺陷暴露给用户(产品质量差)
周期太长,产品很迟才能够被看到和使用
使用场景
需求固定的小项目
螺旋模型
特点
螺旋模型中增加了风险分析和原型
缺点
1、项目中可能存在的风险性与风险管理人员的技能水平有直接关系
2、需要人员、时间和资金的增加和投入,可能会导致项目的成本太高
使用场景
适合规模庞大、复杂度高、风险大的项目
增量模型和迭代模型
增量是逐块建造;迭代是反复求精
敏捷模型
特点
轻流程、轻文档、重目标、重产出
scrum模型
角色:由产品经理、项目经理和研发团队组成
重要会议:
发布计划会议(最终确定本次迭代要完成的需求)
迭代计划会议(任务拆解,确定责任人工时的评估)
每日例会(了解当前的项目进度)
演示会议(产出用户需求)
回顾会议(总结当前迭代周期的不足,形成总结,并在下一次迭代中进行)
测试模型
软件测试的生命周期:需求分析、测试计划、测试设计与开发、测试执行、测试评估
V模型
特点
测试过程中存在不同类型的测试
测试阶段的参考标准以前面对应阶段为准
缺点
测试后置
W模型
W模型重流程,不能够迎接变化,不适用于敏捷模型