软件测试流程

软件测试流程
软件生命周期及研发模型
软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件 设计、编码、测试、软件发布维护的过程
软件生命周期的三个时期
• 软件定义
• 问题定义——要解决的问题是什么
• 可行性研究——上一阶段所确定的问题是否有行得通的解决办法
• 需求分析——目标系统必须做什么
• 软件开发 •
概要设计——怎样实现目标系统
• 详细设计——应该怎样具体地实现这个系统
• 编码和单元测试——写出正确的容易理解、容易维护的程序模块
• 综合测试——通过各种类型的测试使软件达到预定的要求
• 运行维护
• 使软件持久地满足用户的需要
软件研发流程
大爆炸模式
特点:简单,计划、进度安排和正规开发过程几乎没有, 所有精力都花在开发软件和编写代码上,没有测试活动
边写边改模式
特点:开发组最初有粗略的想法,进行简单的设计,然后 开始漫长的来回编写、测试和修改缺陷的过程。适合快速 制作而且用完就扔的小项目,例如,原型范例和演示程序
软件研发模型-瀑布模型
瀑布模型的特点
瀑布模型非常强调产品的定义
开发或者代码编制阶段只是其中单独的一块
瀑布模型各步骤是独立的,不相互交叉的
瀑布模型不能回溯
一旦进入某个阶段,iu要完成该步骤的任务,然后才能向下继续——无法回溯
• 每个阶段都要仔细验证,线性过程太理想化,越来越不适合现代软件的开发 模式
快速原型模型
特点
克服瀑布模型的缺点,更好地满足用户的需求并减少由于软件需求不明带来的项目开发风险
适合预先不能确切定义需求的软件系统的开发
不适合大型系统的开发(适合小型的,灵活性高的系统)
前提的是要有展示性的产品模型,因此在一定程度上可能限制开发人员的创新
螺旋模型(大型项目)
特点
开始不必详细定义所有细节
从小开始,定义重要功能,努力实现
接受反馈,进入下一循环
测试活动贯穿于每个循环
螺旋模型很大程度上是一种风险驱动的方法体系,因为在每个阶段之前及 经常发生的循环之前,都必须首先进行风险评估
• 在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。 过多的迭代次数会增加开发成本,延迟提交时间
敏捷开发(大型项目完成后进行更新迭代用)
敏捷开发流程
产品经理调研客户需求,协商需求的优先级,进行排序
• 项目经理接收到需求,分配任务,计划研发:迭代任务2-6周一个周期
• 迭代周期,每日站会(立会),讲述昨天任务完成情况,今日计划安排,遇到什 么问题等。参会人员有开发、测试、QA、设计人员等
• 交付客户进行确认,一个迭代周期结束需要开反思会,避免下个周期出现同样的 错误
• 进入下一个迭代周期…直到交付客户的所有需求,避免了后期出现大量不符合客 户需求的功能
软件测试生命周期及模型
软件测试流程概述
软件测试的生命周期
制定测试计划 测试设计开发 实施软件测试 评审 版本发布
软件测试 - V模型
• 优点:在V模型里,强调软件开发的协作和速度,反应测试活动和分析测试 的关系,并且将软件的实现和验证有机的结合了起来,V模型,明确的界 定测试过程是存在不同阶段的。
• 缺点:但是V模型也有一定的局限性,它仅仅把测试过程放在需求分析、系统 设计、编码之后的一个阶段,忽视了测试对于需求的分析和验证。我们对 需求的验证,对系统设计的验证,到后期的验收测试才有可能被发现,对 于我们测试当中的测试需要尽早进行的原则在V模型中没有体现,这是V模 型的局限
软件测试 - W(双V)模型
• 优点:开发与测试并行,有利于尽早发现问题,有利于及时的了解项 目的测试风险,来及早的执行相应的应对方案,加快项目的进度。
• 局限性:需求、设计、编码仍然是串行进行的,测试和开发保持线性 的关系,上一个阶段完成之后才能进行下一个阶段,不能够很好的支持 迭代的开发模型。
软件测试 - H模型
H模型强调把测试分为测试准备和测试执行两个不同的阶段,只要由于其 他流程的进展引发了测试就绪点的到位,这时候,只要测试准备完成,测试 执行活动就可以或者需要开展,,具有很强的灵活性。在H模型当中,测试 是一个完全独立的模型,所以可以和其他的流程交叉地进行,也便于我们尽 早的执行测试。
软件测试 - X模型
• 左边描述的是针对单独的程序片段相互分离的编码和测试,此后进行频繁的 交接,再通过集成,最终合成可执行的程序,然后再对这些程序进行测试,已 经通过的程序可以进行封板提交给用户,也可以作为更大集成的一部分,X模 型还定位了探索式测试,探索式测试是不进行事先计划的特殊类型的测试,能 够帮助测试人员在测试计划之外发现更多的错误。
软件测试流程
软件测试流程概述
软件测试流程
• 测试计划阶段
• 测试设计和开发阶段
• 测试实施阶段
• 测试评估阶段
软件测试流程
软件测试流程图(需求阶段)
需求阶段——产品基本情况调研
• 需求阶段测试相关的主要工作
• 产品基本情况调研
• 测试需求说明
• 测试的策略和记录
• 测试资源的配置
• 计划表
• 配置测试环境
软件测试流程
软件测试流程图(设计编码阶段)
• 设计编码阶段测试人员工作
• 参与评审
• 设计测试方案(集成测试和单元测试)
• 执行单元测试
软件测试流程图(集成、系统、验收)
项目组成员及相关工作
• 项目经理:立项、计划、关联产品、关联需求等
• 产品经理:收集需求反馈,建立产品,整理需求等
• 设计人员:设计系统架构,概要设计和详细设计,UI设计等
• 开发:编码
• 测试人员:设计测试用例,执行测试,提交bug(缺陷)
• 运维:部署系统,搭建环境 • QA:贯穿全过程,制定规范、辅助、审计
测试人员的服务对象
•项目经理(开发经理、测试经理)
• 工作职责
• 制定项目计划,并根据各种变化修改项目计划
• 实施项目的管理、开发、质量保证过程,确保客户的成本、进度、绩效和质 量目标
• 制定有效的项目决策过程
• 确保在项目生命周期中遵循是实施公司的管理和质量政策
• 选择一个能够精确衡量项目成本、进度、质量、绩效的项目距阵
• 风险管理
• 招聘和培训必须的项目成员
• 确定项目的人员组织结构
• 定期举行项目评估(review)会议
• 为项目所有成员提供足够的设备、有效的工具和项目开发过程
• 有效管理项目资源
• 测试人员与项目经理沟通
• 及时向项目经理报告工作状态和问题
• 明确自身的工作范围 • 项目变更对项目的影响
•产品经理
• 工作职责
• 熟悉产品从业务调研、需求分析到实现过程、产品发布的整个流程
• 根据公司和产品发展策略,负责公司产品策划工作
• 收集市场反馈与用户行为及需求,提升用户体验
• 撰写详细的产品需求文档及原型设计文档,跟踪产品研发进度
• 负责把控产品推进进度、协调突发问题与质量管理工作
• 测试人员与产品经理沟通
• 及时反馈需求问题
• 明确业务需求 • 需求变更对项目的影响
• 明确业务需求
• 需求变更对项目的影响
程序员
• 工作职责
• 对公司产品进行开发和改进
• 对生产部门提供技术支撑
• 执行项目经理指定的研发计划,并及时向项目经理汇报工作状况
• 测试人员与研发人员沟通
• 要求提供好的缺陷报告,提高工作效率
子主题 2
子主题 3
子主题 4
• 文档编写人员
• 工作职责
• 编写产品说明书
• 编写用户指南
• 其他相关帮助文档
• 测试人员与文档编写人员沟通
• 相互沟通,互相补充
• 对文档测试需要得到文档编写人员的支持
技术支持
• 工作职责
• 销售工作中技术方案的制定
• 设备、软件配置清单的制作
• 销售工作中技术简报的制作与演讲
• 协助市场部实施所负责销售范围内的广告宣传及其它市场活动
• 为营销活动提供最大支持
• 为销售管理部门提供市场竞争的信息材料
• 快捷准确并按技术支持经理需求提供所有报告、数据,如周工作计划/报告等
• 参加公司内部、原厂商的各种技术培训
• 参加公司内部、原厂商的各种认证考试
• 与销售代表沟通,共同完成方案建议书及报价
• 测试与技术支持沟通
• 测试人员告诉技术支持可能给用户带来的麻烦的产品问题
• 技术支持帮助测试人员找出应该更正的产品问题
市场人员
• 工作职责
• 业务销售,市场开拓等
• 测试人员与市场人员沟通
• 市场中可能有程序开发人员没有引起足够重视的问题
管理层和项目相关人员
• 技术总监、总经理和董事长
• 测试人员与管理层沟通
• 为管理层决策提供支持
用户
满足用户的要求才能获得项目的最高利益

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值