1.什么是需求?
满足用户期望或者正式规定文档的所具有的条件和权能,包含用户需求和软件需求
用户需求:终端用户使用产品必须要完成的任务,需求一般比较简单
软件需求:也叫功能需求,会详细描述开发人员必须实现的软件功能
需要对用户需求进行市场可行性和技术可行性分析
需求是测试人员开展软件测试的依据
测试贯穿于软件的整个生命周期
2.什么是bug
当且仅当规格说明书是存在并正确,程序与规格说明之间不匹配才是错误
当需求规格说明书没有提到的功能,判断标准以最终用户为准,当程序没有实现其最终用户合理预取的功能要求时,就是软件错误
3.软件的生命周期
分为6个阶段:需求分析、计划、设计、编码、测试、 运行维护
需求分析: 分析用户需求是否合理(市场分析,技术可行性分析),产出软件需求文档
计划: 制定需求执行计划,产出计划文档
设计: 将需求细化成一个个任务,进行技术设计(设计哪些接口,采用哪些技术),产出设计文档
编码: 开发人员 按照需求文档和设计文档进行编码
测试: 测试人员使用测试用例在执行测试
运行维护: 项目上线之后对产品进行线上的维护
修复性维护: 对项目中遗留的问题进行修复
完善性维护: 对功能进行完善
预防性维护: 避免产品在线上出现一些其他的问题,使用一些预防的手段
4.软件测试用例
为了实施测试而想被测试的系统提供的一组集合。包含测试环境,操作步骤,测试数据,预期结果等要素
可以使用思维导图来辅助编写测试用例
为什么要设计测试用例?
围绕着软件需求来设计测试用例
解决了重复测试问题,避免测试用例用后即弃
5.开发模型
1.瀑布模型
特点:线性的开发流程
缺陷:测试被后置。风险往往延迟到后期测试阶段才暴露,失去了及早纠正的机会;没有足够的时间预留个测试活动,否则将导致测试不充分,从而把缺陷遗留给用户;不能应对需求的变化
瀑布模型是所有其他模型的基础框架
适用场景:需求固定的小项目
2.螺旋模型
螺旋模型引入全流程的风险分析,每次分析完成之后都会生成一个新的模型
相当于在瀑布模型的每步中加入了风险分析
螺旋模型适用于规模庞大,复杂度高,风险大的项目
缺点: 花费的时间较长,比较耗费人力和资金。
3.增量模型
一共有5个需求,每开发完一个功能就直接上线给用户使用,直到5个功能全部实现
迭代模型
先开发一个基础版本,包含了全部的功能,但是功能比较简陋。接下来会在后续版本上对功能进行优化
迭代模型和增量模型的区别:
增量模型:先画头,再画四肢,再画身体
迭代模型:先画一个火柴人,再给火柴人加上细节
4.敏捷模型
特点:轻流程,轻文档,重目标,重产出
scrum
三个角色和五个会议
三个角色:产品经理,项目经理。研发团队
产品经理:收集用户需求,编写需求文档,对产品负责的认 项目经理:负责召开各种会议,协调项目,为研发团队服务 研发团队:包括开发人员,测试人员,ui设计人员等
五个会议:
发布计划会议 迭代计划会议 每日例会 演示会议:演示产品的功能,应该如何操作 回顾会议:
scrum基本流程图
产品负责人负责整理user story,形成左侧的product backlog。
发布计划会议:product owner负责讲解user story,对其进行估算和排序,发布计划会议的产出就是制定出(产品经理冲需求池中选取几个需求,开展发布计划会议)
这一期迭代要完成的story列表,sprint backlog。
迭代计划会议:项目团队对每一个story进行任务分解,分解的标准是完成该story的所有任务,每个任务都有
明确的负责人,并完成工时的初估计。
每日例会:每天scrum master召集站立会议,团队成员回答昨天做了什么今天计划做什么,有什么问题。(通常为站会,快速讨论几个问题,及时了解项目进度,预知和规避风险)产出物:可交付的软件
演示会议:迭代结束之后,召开演示会议,相关人员都受邀参加,团队负责向大家展示本次迭代取得的成果。期间大家的反馈记录下来,由po整理,形成新的****story。
回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进,已达到持续改
进的效果。
6.测试模型
1.v模型
从上到下是一个开发模型,从下到上是一个测试模型
概要设计设计整体架构,详细设计是模块和模块之间的详细设计
单元测试和集成测试主要由开发人员完成(属于白盒测试)
特点:
优点:
1.明确标注了测试的类型
2.明确标注了测试阶段和开发阶段的对应关系(单元测试对应详细设计,集成测试对应概要设计,系统测试对应需求分析与系统设计,验收测试对应用户需求)
缺点:
1.同瀑布模型一样,流程是线性的,测试必须等到开发完之后才进行,导致了测试被后置
2.w模型(双v模型)
开发模型(左边的v)和测试模型(右边的v)并行
特点
重文档,轻过程,因此不支持敏捷模型
缺点:
1.上一个阶段完成下一个阶段才能开始
2.开发模型和测试模型也保持着一种前后的线性关系
优点:
1.测试和开发是同步进行的
2.有利于尽早全面的发现问题,能减少总体测试时间,加快项目进度
更新中……
版权归原作者 钢铁的面条 所有, 如有侵权,请联系我们删除。