什么是测试
验证软件的特性符不符合用户的需求
侧开和测试的区别
首先都是属于测试的方向,都是为了对产品保证质量和负责
侧开的话会开发一些工具(并不是业务开发),提高测试的效率。提升测试的质量
测试和开发差别(测试的视角)
测试人员也需要写代码,对一些框架有一定的认识,便于白盒测试。
可以提高对软件测试的质量,从底层去发现问题。
需求
用户需求:甲方提出的要求,简要的概念,不一定合理
软件需求:产品经理的事,转化为利于开发和测试可以开展工作的依据
软件的生命周期
需求分析 --> 计划 --> 设计 --> 编码 --> 测试 --> 运维
开发模型
1.瀑布模型
Start --> 需求分析 --> 计划 --> 设计 -- >编码 --> 测试 --> End
优点
强调阶段性,线性结构,
每个阶段执行完再去执行后面的阶段
缺点
1.产品只有最后可以看到
2.测试后置 如果发现Bug需要大面积返工,直至到达Bug点,再继续流程
适用场景
需要固定流程的小项目(流程固定,返工快)
2.螺旋模型
优点
强调全过程风险管理
强调各阶段的质量
增加风险分析、原型
缺点
依赖各个阶段风险分析人员技能,
人员、资金、时间投入大,成本高
使用场景
规模大,复杂度高,风险高的项目
3.迭代模型
有了大需求 --> 上线一个草稿版 --> 慢慢更新迭代优化版本
适用场景
大型项目,需求不明确(后面补充来啥加啥)
4.增量模型
分多个增量,分批次进行 开发-->测试-->发布
适用场景
分批次功能上架的项目(平台只有短视频、再上架直播、再上架购物)
基本用的是综合起来的“敏捷模型”
主要内容
个体与交互重于过程和工具(强调高效沟通)
可用的软件重于完备的文档(轻文档,文档不作验收标准)
客户协作重于合同谈判(主动了解当下需求)
响应变化重于遵循计划(主动迎接变化)
特点
轻文档、轻流程、重目标、重产出
代表:Scrum(迭代式增量模型开发)
主要内容是
三个角色(产品经理、项目经理、研发团队)
五个会议(发布计划会议、迭代计划会议、每日会站、演示会议、回顾会议)
流程
测试模型
V模型
优点
明确标记对各个测试的类型,不同测试对应不同的设计
缺点
测试后置,和瀑布差不多,都是 有风险返工面积大
W模型
优点
解决V模型的测试后置的问题,不止测试对象,对需求设计也进行测试,同步进行
尽早、全面发现问题
缺点
测试开发依旧保持先后关系,前一个完成后面才可以进展
重流程,无法敏捷开发
需求、编码、设计串行