软件测试就是用来验证产品特性是否满足用户需求
调试是发现并解决软件中的缺陷 开发人员编码阶段进行
测试是用来发现软件中的缺陷 测试人员,开发人员(单元测试,集成测试)
测试贯穿于整个软件的生命周期,但是调试都在编码阶段
需求:包括用户需求和软件需求
Bug的概念
1.当且仅当规格说明是存在的并且正确,程序与规格说明不匹配才是错误
2.当需求规格说明书没有提到的功能,判断标准以最终用户为准,当程序没有实现其最终用户合理预期的功能要求时,就是软件错误。
软件的生命周期:
需求分析 分析用户是否是合理(市场分析、技术上分析...)
计划 设计 编码 测试 运行维护
测试用例是为了实施测试而向被测试的系统提供的一组集合,这组集合包括:测试环境、操作步骤、测试数据、预期结果等要素
测试环境需要知道用的是什么系统,用的什么软件以及该软件的版本,即硬件加版本、软件加版本
为什么要设计测试用例:围绕着软件需求来设计测试用例,解决了反复测试的问题,原理是因为测试用例避免用后即弃
测试书《软件测试的艺术》
开发模型
瀑布模型:
特点:线性的开发流程,不能够应对需求的变化
缺陷:测试被后置,风险往往迟至后期的测试阶段才显露,因此失去了及早纠正的机会
适用场景:需求固定的小项目
螺旋模型:
适用场景:规模庞大、复杂度高、风险大的项目
缺点:时间长、人力、资金
增量模型和迭代模型
把一个项目分成若干个小的项目,之后可以同时进行设计编码以及设计,彼此之间互不干扰
迭代模型就是在增量模型的基础上因为觉得发布的基础版比较简陋之后在原有的基础上来进行迭代优化。
用一个例子来简单的描述一下增量模型和迭代模型
比如说要画一个人物画像,之后增量模型就是先画眼睛之后鼻子之后嘴巴等等一个一个的进行画图,但是迭代模型就是先画出整体的大概轮廓之后进行细化补色润色等等。
敏捷模型:
特点:轻流程,轻文档,重目标,重产出
Scrum:三个角色五个会议
三个角色:产品经理(负责整理用户的需求,制定发布计划,对产品负责),项目经理(负责召开会议,协调项目,为研发团队服务),研发团队(完成需要完成的迭代目标,交付产品)
五个会议:
发布计划会议:产品经理从需求池中选取几个需求之后开展发布计划会议
迭代计划会议:将任务进行分解,分解的目标是完成该任务,每个目标都有明确的负责人,并完成工时的初估计
每日例会:快速的过几个关于项目的问题之后方便及时的了解项目进度,预知风险和规避风险,每日例会的产出物是可交付的软件
演示会议:迭代结束之后进行产品的展示,之后每个人提出自己的想法和反馈,产出新的user story
回顾会议:项目团队对本期迭代进行总结,发现不足之后进行改进。