文章目录
- 敏捷
- scrum
- scrum里面的角色
- 迭代开发
- 敏捷中的测试
- 软件测试的V模型
- 软件测试W模型
敏捷
“敏捷”是新的过程家族的名称
《敏捷宣言》:我们通过身体力行和帮助他人来揭示更好的软件开发方式。经由这项工作,我们形成了如下价值观:
个体与交互重于过程和工具
可用的软件重于完备的文档
客户协作重于合同谈判
响应变化重于遵循计划
再每对对比中,后者并非全无价值,但我们更加看重前者
我们再敏捷宣言中可以看出,敏捷其实是有关软件开发的社会工程。敏捷的主要贡献在于他更多地思考如何去激发开发人员的工作热情。这是在软件工程几十年的发展过程中相对被忽略的领域。
敏捷开发有很多种方式,其中scrum是比较流行的一种。
scrum
scrum里面的角色
srcum由产品经理、项目经理和研发团队组成。
- 其中产品经理负责整理用户故事,定义其商业价值、对其进行排序、制定发布计划、对产品负责。
- 项目经理负责召开各种会议,协调项目、为研发团队服务
- 研发团队则由不同技能的成员组成,通过紧密协同,完成每一次迭代的目标,交付产品。
迭代开发
与瀑布不同,scrum将产品的开发分解为若干个小迭代,其周期从1周期到4周期不等,但是不会超过4周。参与的团队成员一般是5到9人。每期迭代要完成的用户故事是固定的。每次迭代会产生一定的交付。
scrum的基本流程如上图所示
- 产品负责人负责整理用户故事,形成左侧的product backlog
- 发布计划会议:产品经理负责讲解用户故事,对其进行估算和排序,发布计划会议的产出就是制定出这一期迭代要完成的故事列表,spring backlog。
- 迭代计划会议:项目团队对每一故事进行任务分解,分解的标准是完成该story的所有任务,每个任务都有明确的负责人,并完成工时的初估计。
- 每日例会:每天scrum master召集站立会议,团队成员回答昨天做了什么今天计划做什么,有什么问题。
- 演示例会:迭代结束之后,召开演示会议,相关成员都受邀参加,团队负责向搭建展示本次迭代取得的成果。期间大家的反馈记录下来,由产品经理整理,形成新的故事。
- 回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进,已达到持续改进的效果。
敏捷中的测试
挑战1:轻文档
挑战2:快速迭代
1、测试工作的核心内容是没有改变的,就是不断地找bug,只是要调整好自己的心态,一切以敏捷的原则为主。
测试人员不能依赖文档,测试用例作用减弱,更多的采用思维导图,探索性测试(强调自由度,设计和执行同时执行,根据测试结果不断调整测试计划)、自动化测试。
3、敏捷讲求合作,在敏捷项目组中,测试人员更应该主动点,多向开发人员了解需求,通论设计,一起研究bug出现的原因。
软件测试的V模型
V模型最早是由Paul Rook在20世纪80年代后期提出的,目的是改进软件开发的效率和效果。是瀑布模型的变种。
- 明确的标注了测试过程中存在的不同类型的测试,并且清楚的描述了这些测试阶段和开发过程期间各阶段的对应关系
- V模型指出,单元和集成测试应检测程序的执行是否满足软件设计的要求;系统测试应检测系统功能,性能的质量特性是否达到系统要求的指标;验收测试确定软件的实现是否满足用户需要或者合同的要求。
- 局限性:仅仅把测试作为在编码之后的一个阶段,不再需求阶段就进入测试。
软件测试W模型
- W模型增加了软件各开发阶段中应同步进行的验证和确认活动,W模型由两个V字性模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。
- W模型特点:测试对象不仅是程序、需求、设计等同样要进行测试,测试与开发是同步进行的。
- W模型的优点:有利于尽早地全面发现问题。例如:需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需要地测试也有利于及时了解项目难度和测试风险,急躁制定对应措施,显著减少总体测试时间,加快项目进度。
- 局限性:需求、设计、编码等活动被视为串行的:测试和开发活动也白痴这一种线性的前后关系,上一届u但瓦努七年结束,才可以正式开始下一个阶段工作。无法支持敏捷开发模式。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着的困惑。