zoukankan      html  css  js  c++  java
  • 什么是敏捷?(敏捷方法与过程管理)

    1、什么是敏捷

      敏捷是指能够让团队更加有效、工作更为高效,并且作出更好决策的一组方法和相关理念,即它是一种思维模式。敏捷的理念分为四大块:适应变化、团队协作、交付价值、过程改进。

    2、敏捷测试的方法

    目前主要有4种:Scrum、极限编程(XP)、精益、看板

    3、敏捷宣言(四大核心价值和十二原则)

    敏捷宣言的四大核心价值:

    1. 个人和互动高于流程和工具 
    2. 工作软件高于理解文档 
    3. 客户协作高于合同协商 
    4. 变化响应高于计划遵循 

    敏捷的十二原则:

    1. 最优先要做的是尽早、持续交付有价值的软件,让客户满意
    2. 接受需求变化,即使在开发后期,敏捷过程利用变化为客户维持竞争优势
    3. 频繁的交付可工作的软件,交付周期越短越好(从数周到数月)
    4. 面对面交谈
    5. 以受激励的个体为核心构建项目
    6. 研发人员、业务人员必须在一起工作
    7. 可工作的软件是衡量进度的首要标准
    8. 倡导可持续开发
    9. 追求技术卓越和良好的设计,增强敏捷的能力
    10. 尽最大可能减少不必要工作的艺术,是敏捷的根本
    11. 最好的架构、需求和设计来自组织的团队
    12. 团队定期反思如何提升效率,并以此调整自己的行为

    总结起来,敏捷宣言的12条原则与敏捷测试的关联性如下:

    敏捷宣言的十二条原则

    敏捷测试如何支持或协助敏捷

    最优先要做的是尽早、持续交付有价值的软件,让客户满意

    自动化测试

    接受需求变化,即使在开发后期,敏捷过程利用变化为客户维持竞争优势

    开发做好单元测试全员参与测试、全面支持系统级的、端到端的回归测试的自动化测试执行

    研发人员、业务人员必须在一起工作[强调每天]

    刚开始没必要把测试计划写得很详细,而是写一页纸计划,持续加以完善和调整

    可工作的软件是衡量进度的首要标准

    不再是测试计划完成情况、完成的测试用例数目、测试脚本量等,而是如何验证每天完成的功能特性;研发也不是按代码行来衡量,而是看多少个具体的用户故事(功能特性)被实现。

    追求技术卓越和良好的设计,增强敏捷的能力

    一方面要求测试技术不断提高,在处理每个测试任务时,都应该找到最有效的方法;另一方面在前期要参与更多地设计评审,及时发现设计的问题

    尽最大可能减少不必要工作的艺术,是敏捷的根本

     

    最好的架构、需求和设计来自组织的团队

     

    团队定期反思如何提升效率,并以此调整自己的行为

     

    倡导可持续开发

     

    频繁的交付可工作的软件,交付周期越短越好(从数周到数月)

     

    面对面交谈

     

    以受激励的个体为核心构建项目

     

    4、Scrum

     

    scrum规则

      scrum活动构成了整个Sprint的工作流程,从中可以看出scrum框架中一个sprint包括计划、执行、评审、回顾四大活动。

    Scrum规则:

    1. 采用两阶段会议方法确定开发计划,会议分2部分,每一个部分限定时间为4小时。(需要提前准备优先级排序的积压工作表,阶段一根据优先级以及本次迭代能完成的团队工作量填充相应的PBI,有PO完成;阶段二根据PBI展开讨论并确定实现方案,有整个开发团队主导)
    2. 团队每天召开Scrum会议。(3个问题:昨天干了撒?今天要做撒?遇到了什么障碍和困难?)
    3. 冲刺限定时间限制
    4. 冲刺评审会,展示可工作的软件(sprint评审,对于演示的结果需要进行确认,通过迭代的功能是否满意、下一个sprint是否可以继续这2个问题可以明确迭代的结果)
    5. 召开冲刺回归会议,讨论可以改进工作方式的方法。(做的不错的?有撒可改进的?)

    5、极限编程

     极限编程有13种实战,主要分为4大类:编程、集成、计划和团队。

    极限编程的要点:

    1. 测试先行编程,是指先编写描述产品代码行为的单元测试,然后编写产品代码以通过测试
    2. 开发团队需要有一个10分钟构建机制,也就是10分钟以为运行完毕的自动构建系统
    3. 持续集成
    4. 极限编程团队以周或季度循环的方式进行迭代,并像Scrum团队那样使用故事
    5. 丢车保帅,将次要的、优先级低的故事加入迭代周期
    6. 团队坐在一起,渗透式沟通获取项目信息
    7. 高信息量的工作空间里面工作,设置信息辐射体来自动把信息传达给附近的人。

    极限编程的价值观:

    1. 沟通:清除他人在做什么,并随时保持沟通
    2. 简化:代码简单、直接,尽量使用最简单直接的方案,避免复杂的方案
    3. 反馈:不断测试和反馈,保证产品质量
    4. 勇气:专注项目作出最佳选择
    5. 尊重:每个团队成员都是重要的、有价值的

    6、看板方法

    看板方法是一种流程改进方法。

    1. 看板团队的目标:最大化工作流量,即最大化工作项移出系统的速度。
    2. 看板方法的测量并管理工作流量实践意味着对工作流量进行测量并对流程进行调整,以达到最大的工作流量。
    3. 累积流量图,即工作进度面积图。(每天新增加到工作流中的数量[到达速度]、工作流中全部工作项的数量[工作存量]、每个工作项在系统中存在的平均时间[交付时间])
    4. 看板团队会把流程规则明确化

    看板方法的基础原则:

    1. 从你现在的做法开始
    2. 愿意追求增量式的、渐进的改变
    3. 再最一开始,要尊重现有的角色、职责和职位

    7、精益

    8、给敏捷测试工程师的一些建议

     敏捷测试的特点:

    • 强调测试人员的个人技能,始终保持与客户/用户、其他成员(特别是业务人员、产品设计人员等)的紧密协作,建立良好的测试框架(特别是持续集成测 试和自动化回归测试的基础设施)以适应需求的变化,更关注被测系统的本身而不是测试文档(如测试计划、测试用例等)。
    • 测试驱动开发[TDD]的思想是敏捷测试的核心,或者说,单元测试是敏捷测试的基础,如果没有足够的单元测试就无法应付将来需求的快速变化、也无法实现持续的交付。
    • 在传统测试中也提倡尽早测试,包括需求和设计的评审;在传统测试里也提倡全过程测试。但在传统测试里阶段性特征相对突出一些,例如,需求评审,意味着先让产品人员去写需求,但需求文档写好之后,测试人员再参加评审。而在敏捷测试里,团队每一天都在一起工作,一起讨论需求、一起评审需求。
    • 敏捷测试是基于自动化测试的,自动化测试在敏捷测试中占有绝对的主导地位。敏捷测试的持续性迫切要求测试的高度自动化,在 1~3 天内就能完成整个 的验收测试(包括回归测试)。没有自动化,就没有敏捷。
  • 相关阅读:
    nginx的高级用法
    在windowsXP中如何配置php环境
    .net面试问答
    GridView的其他用法小总结
    php ajax 中文乱码问题解决办法(接收发送)
    SQL时间函数DateAdd的用法
    GridView选中,编辑,取消,删除
    php如何获取复选框选中的值
    C# 中对xml文件的操作
    将分享按钮加入到页面中
  • 原文地址:https://www.cnblogs.com/wendyw/p/10006527.html
Copyright © 2011-2022 走看看