测试概念
一 用户需求 和 软件需求
用户需求 可以简单理解为甲⽅提出的需求,如果没有甲⽅,那么就是终端⽤⼾使⽤产品时必须要完 成的任务 只是一句话 不能作为工作的依据
软件需求 或者叫功能需求,该需求会详细描述开发⼈员必须实现的软件功能。软件需求是测试⼈员进⾏测试⼯ 作的基本依据。
用户需求 需要经过产品经理进行 产品分析 (需要进⾏需求分析 技术可⾏性、市场可⾏性、成本投⼊和收益占⽐等)才能转化为软件需求
二 开发模型
首先要介绍的是软件的生命周期
需求转化 分析⽤⼾需求是否合理,分别从市场需求、技术等⽅⾯ 进⾏分析 输出需求等⽂档
计划 对成⽴的需求执⾏需求执⾏计划,多⻓时间内完成该需求,每段时间具体完成哪些功能
设计 会输出计划等⽂档 将需求细化成⼀个个任务,团队成员各司其职领取任务 并进⾏技术设计 该阶段会输出技术等⽂档
编码 开发⼈员参考需求⽂档、设计⽂档、交互图等等⽂件进 ⾏代码的编写 代码⽂件等⽂档
测试 测试⼈员需要介⼊到软件的测试中来,参考测试⽤例对 软件进⾏测试 测试⽤例、测试设计与计划、测试报告等⽂档
运行维护 项⽬测试结束之后,项⽬需要进⾏上线,并对产品进⾏ 线上的维护。
修复性维护:对项⽬中未发现的问题进⾏修复
完善性维护:对功能进⾏完善
预防性维护:居安思危,为了避免产品在线上出现⼀ 些其他不可预料的问题,进⾏⼀些防护的⼿段
三 如果测试与开发之间发生冲突该怎么办?
1. 首先反思自己的描述是否清楚 是否是自己的判断错误
2. 要站在用户的角度 去文开发如果你是一个用户 是否能够接受这样的情况
3. 不仅能够提出问题 也能够提出的解决问题 建议(但是测试人员是不能进行业务开发 修改代码的 不能代俎越庖)
四 常见的开发模型
瀑布模型 是与软件生命周期相同的历程
特点 每个流程只执行一次的线性开放流程
缺点 : 可运行的产品需要很久才能够上线 对于一些大型的产品 会存在非常大的风险
1. 测试后置 前面各阶段遗留的风险滞留到测试阶段才发现 导致工程大面积返工 失去了早修复的机会
2. 周期太长 很迟才能够投入使用 会导致产品功能失效和过时
总的来说 瀑布模型适用于 需求固定的小项目
螺旋模型 适用于规模庞大 复杂度高 风险大的项目
特点 引入了各个阶段的风险分析和原型 引入的目的是为了减少各阶段遗留风险问题 避免吧问题遗留到后面的阶段
在原型 需求分析 计划 设计 之后 都要进行风险分析 生成原型
优点 1. 强调了开发过程的风险管理 2. 强调了各阶段的质量 3. 增加了风险分析和原型
缺点 1. 风险分析的质量 项目中存在的分析与风险关联人员的技能水平有直接的关系
2.需求人员 资金 时间的投入增加 会导致项目的成本过高
增量模型和 迭代模型
它们两者是有区别的 对于增量模型来说 它是先完成一部分功能 之后在不断的添加新的部件功能 迭代模型则是先实现出一个大体的框架 之后对整个大的框架进行不断的完善
适用于大型项目 需求不明确