目前,公司成立了一个新的项目团队,准备实施敏捷开发测试流程,如何从0到1实施敏捷开发测试流程,是目前团队的核心重点工作。
一、首先,得确定敏捷开发测试是什么,适用于什么样的团队项目,意义是什么?
1、什么叫迭代开发?在迭代开发中,整个开发工作被组织为一系列的短小的、固定长度(如2周)的小项目,被称为一系列的迭代,这叫迭代开发。每一次迭代都包括了定义、需求分析、设计、实现与测试。
而敏捷开发是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。前者是软件开发的生命周期模型,是一种开发过程;后者是多种软件开发项目管理方法的集合,是一种开发方法。这是两者最根本的区别。 敏捷模型:
2、敏捷开发适用于什么样的团队项目?
- 产品不断有新需求加入、调整。客户加需求,可将需求细化为一个个小任务,根据优先级,加入后续的迭代中,提高效率。
- 需要快速高效、更早地出产品。
3、敏捷开发的意义?
- 更早地出产品,可及时获得用户的反馈,然后完善。
- 每次迭代都能看到不断完善的产品,非常有成就感,同时提升客户满意度。
二、在敏捷开发中如何开展测试工作以保证质量?
-
需求阶段--站在用户角度去考虑场景需求,是否存在需求缺陷;需求的可测性;测试需求;确定验收标准。
-
开发迭代中--根据开发迭代计划确定概要测试计划;提前准备测试环境、数据;在每次迭代测试过程中,进行当下迭代的测试和下一迭代用例的编写,有充裕时间进行自动化脚本的编写,并形成通用测试用例库。(目前采用的是使用xmind编写测试点的模式,工具Teambition)--注意用例和bug的优先级
注意:
- 测试用例尽可能简单,以验证业务为首要目标;
- 在开发之前,先列出所需要的测试,并在开发中不断维护列表,避免遗忘一些必要的测试。
-
验收测试--需做现场验证,仅在测试环境测试通过不算交付完成(自动化+探索测试)。
-
用户反馈修改--主动积极跟踪用户反馈,及时响应解决--反思bug出现的原因,避免类似情况再次出现。
-
迭代总结
三、通过“4个会议、看板”进行过程管理
sprint计划会
挑出一个story为本次迭代完成的目标,这个目标的周期一般是1~4个星期,然后把这个story进行细化形成一个迭代任务列表。
每日站立会议
会议内容:昨天完成了什么,是否有困难需要帮助,今天计划完成什么;会议时间控制在15分钟左右,每个人都需要发言。
sprint 评审会
当一个Sprint完成,这时就要进行最重要的演示会议,也称为评审会议,产品负责人和客户都要参加,每一个开发团队的成员都要演示自己完成的软件产品,然后被判定产品合格、成功、需要修改还是重新做。
Sprint 总结会
总结会议以轮流发言方式进行,每个人都要发言,总结并讨论改进的地方,放入下一轮Sprint的产品需求中。
看板
直观反映工作进度,反映流程遵守情况,反映流程缺陷
四、敏捷团队原则、价值观
原则:
我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意--尽早交付、持续交付。
欣然面对需求变化,即使在开发后期也一样。善于掌控变化,帮助客户获得竞争优势--拥抱变化。
经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期--有规律的持续交付,获得反馈。
业务人员和开发人员必须相互合作,项目中的每一天都不例外--保持沟通,获得信息反馈。
激发个体的斗志,以他们为核心搭建项目。提供他们所需的环境和支持,相信他们能够达成目标--相信团队成员,帮助其工作。
团队定期地反思如何能提高成效,并依此调整团队的行为--定期反思总结。
价值观:
诚信负责、公开透明、专注、勇气、承诺、尊重
五、注意事项
1、即使是敏捷开发,也要尽可能的有详细的需求
2、在实际的开发过程中也需要写api文档,并且尽可能写上注释,以便于其他人的理解
3、需求拍脑袋随意改动
4、代码质量低劣不停出更新版本
5、不写正规设计文档
6、产品质量不靠设计靠测试的