scrum敏捷开发与测试
Scrum 是一个用于开发和维持软件产品的框架 ,是一个增量的、迭代的软件研发过程。在Scrum框架中,整个开发过程由若干个短的迭代周期组成,一个短的迭代周期称为一个Sprint。每个Sprint的建议时间长度是2到4周。
在Scrum框架中,PO(Product Owner)使用Backlog来管理产品的需求,产品backlog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。Scrum团队总是先开发对客户具有较高价值的需求。
在每个Sprint开始时,Scrum团队从产品Backlog中挑选最高优先级的需求进行开发。挑选的需求在Sprint计划会议上经过讨论、分析和估算(故事点)得到相应的任务列表,被称为Sprint backlog。
在每个迭代结束时,Scrum团队将递交可运行、可交付的产品增量(其实就是完成的软件)。
简单来说,敏捷(Scrum)的过程如上所述。流程图如下所示
****scrum流程图****
整个敏捷(Scrum)过程中,3355原则贯穿其中。
3个角色
1.Project Owner:即产品经理,迫于领导的压力,喜欢往团队中不断增加任务或修改需求。
2.Scrum Master:类似于项目负责人,他需要做的是保护团队,兼顾产品经理的需求,确保项目的按时交付。
3.Team:开发测试设计人员,Scrum Master本身可能也是开发人员。
3个工件
1.Product Backlog。迭代计划会议用到,Product Owner事先将所有的用户故事按优先级排好,放到一个列表内,这个列表就是Product Backlog。
2.Sprint Backlog。迭代计划会议用到,整个开发小组通过估点将用户故事按优先级移入到迭代计划内,迭代计划中待完成的用户故事列表即为Sprint Backlog。
3.燃尽图。主要用于迭代进度的管控
5个活动
• Sprint计划会议(Sprint Planning Meeting)
迭代计划会议中,整个小组通过估点的方式,按优先级将用户故事从Product Backlog中移入到Sprint Backlog,表示整个小组承诺本迭代要做完的任务。做完的标准是测试通过,除非此任务不可测试。
• 每日站会(Daily Scrum Meeting)
迭代计划会后,小组成员按个人喜好领取自己的任务,并在每天的站立会议上讲一下自己昨天做了什么,今天准备作什么,大概什么时候完成,以及遇到了什么问题。当有人提出遇到难题时,Scrum Master需要在会后安排人帮忙解决,而不是在会议上直接解决。每个人大概30秒-1分钟,整个会议一般不超过15分钟。每一个工作日结束后,需要画燃尽图
• Sprint评审会议(Sprint Review Meeting)
一个迭代开发阶段结束后,进入内部演示会议,工作成果给整个小组演示(包括Project Owner)。bug及小优化不演示,点数较大的功能点做演示。(一般是产品经理或者测试经理来演示)
• Sprint回顾会议(Sprint Retrospective Meeting)
内部演示结束后,整个小组(包括Project Owner)召开一个迭代回顾会,回顾本迭代中大家哪些做的好,哪些做的不好,每人各列举3个好的以及不好的,列的时候只讲现象,不分析原因,不找解决方案。然后整个小组投票选出3个不好的,分析原因,寻找解决方案,并指定执行者。
• 产品Backlog梳理会议( Product Backlog Refinement)
产品梳理总结上一个spring的内容,关闭已经完成的内容,以及遗留的问题,准备写一个spring内容,以及下一个spring的内容宣讲,
5个价值
• 承诺 – 愿意对目标做出承诺
• 专注– 把你的心思和能力都用到你承诺的工作上去
• 开放– Scrum 把项目中的一切开放给每个人看
• 尊重– 每个人都有他独特的背景和经验
• 勇气– 有勇气做出承诺,履行承诺,接受别人的尊重
scrum敏捷测试中,测试的流程如下:
1.参与sprint宣讲会,一般是产品经理做宣讲(此时这个sprint的UI设计图及UE交互图已经设计好),宣讲内容:一般是此sprint产品所有的需求点,以及交互内容,sprint的周期(一般是2-4周,主要看sprint内容的多少)开始时间及结束时间
2.测试根据sprint安排测试计划,编写测试用例(此时需求,产品经理已经写好,讲解完,有完整需求文档以及设计图和交互图),测试的时间及任务划分需要参照开发在此sprint上的排期(以及任务档期)来安排
3.按照排期任务执行测试,督促开发按时提测
4.参加每日晨会,测试人员要讲昨天做了什么,完成那些测试,有没有阻碍的问题,开发有没有按照排期进行提测(晨会重点要说开发delay直接会导致测试delay)、阻断性严重bug要求开发务必解决、今天做什么事情等
5.根据测试,bug数量以及状态、产品目前质量,决定是否可以内部验收
6.内部验收之后,准备下一个sprint内容