20 20160713极客话题讨论之--敏捷测试流程

你如何理解敏捷测试?

敏捷测试过程中应该产出哪些文档?

敏捷测试的团队需要怎么样的素质要求?

敏捷测试中自动化测试的意义?

大家畅所欲言哈,稍后大家的回复testfan会整理成文章发布到社区和公众平台。


package cn.testfan;

public class HelloWorld {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		System.out.println("Hello Testfan!");

	}

}

请先 登录 后评论

最佳答案 2016-07-14 09:35

一个普遍的误解:敏捷 = 快,大谬也!! 夫敏捷者,敏在先,捷在后。盖灵敏为重也!

Agile是让软件开发测试的工作更“灵活”,对于不可知的未来更有"适应性",因此可以在快速变化的需求环境中良好地发展。
Agile开发组织方式,由短开发周期来获得快速回馈,但“快”只是一个形容词,重点在后面的“反馈”(feedbacks)。可以安全地说“持续回馈”、“持续改善”,不一定要用快。

以Arthur最喜欢的金庸小说来比喻:《笑傲江湖》里,田伯光的十三式快刀,速度是快!但是,不灵敏。男主练习“独孤九剑”,讲究的“见招拆招”,对各种兵器、暗器都有各自的办法去“破”,破刀式、破剑式... 这个是“敏捷”。风清扬教的时候,没强调速度吧?
回到软件开发测试组织上,“敏捷”的好处是,不怕需求频繁变,两周的开发周期,开发不了多大的内容,测试也不用写那么多cases,船小好调头。

===================华丽丽的分割线==============================

敏捷开发的一个迭代周期包括但不仅限于:
1.迭代开始,团队与客户一起定义本迭代周期内需要完成的功能;
2.团队建立验收测试验证标准;
3.开发开始实现新功能,使用TDD为产品建立安全网,使用持续集成尽可能保证每一次代码提交不引入新的bugs;
4.所有新功能被添加后,在RC上运行回归测试,保证原有功能的正确性;针对新功能运行测试保证新功能的正确性;
5.执行验收测试验证系统是否达到可交付的标准。

除#1和#2外,剩下的3个项目都与测试执行密切相关;#2则是需要测试人员参与。

如果传统手工测试来进行,测试会成为瓶颈。而如果把这些测试建立在合适的自动化测试基础上,测试就可以和开发一起敏捷起来。
开发和测试本身就是不可分割的,而流行的Scrum+XP(前者偏组织流程、后者偏实践应用)需要模糊敏捷团队的角色。开发“敏捷”起来,测试同时一起“敏捷”。


===================未完待续======================

つづく

请先 登录 后评论

其它 7 个回答

酱油子bony - 测试开发山寨工程师

敏捷项目来看敏捷测试,我眼中测试流程脱不开项目流程:

产品调研——>需求制定——>需求评审——>产品开发(测试进行需求分析分解测试规划以及测试用例编写,伴随着需求变更)——>产品提测(开发自测完成之后,可能还有UI设计师的验收什么的)——>并行测试阶段(开发解BUG测试验证BUG,可能伴随着少许需求变更)——>系统测试阶段(我个人觉得是最累的阶段,少许的自动化就能帮助我们大大嘀提高测试效率)——>回归,一堆的测试结果输出,产品发布等等。


请先 登录 后评论
云少 - 梦想

1.敏捷,敏捷,当然是要快,快速迭代,快速更新

2.在敏捷测试过程中,需要的团队,应该是有丰富经验的,不然怎么能敏捷起来呢。。。

3.既然是敏捷,文档的产品可以有,测试计划,测试用例,当然是要指导性的文档,而非细节的文档,,,所以才要有丰富经验的团队。

4.在每次迭代的时候,之前测试过的流程或业务该怎么办呢,如果再回归一遍,肯定耗费时间,敏捷不起来了,所以敏捷一般也就伴随着自动化,节省时间,从而把主要时间用来测试新功能,新需求上。。

请先 登录 后评论
hey girl - 有事没事常聚聚

文档:测试计划   测试用例 测试报告  这些都需要有  。

我认为敏捷不代表要少文档、少测试 或者 漏掉测试 来达到快速完成的效果

这样的效果也不好,再去返工,就没有什么意义了。。。

加入自动化   在某种程度上是可以快速测试的,节省时间的。。。


请先 登录 后评论
柠檬 - 专注于测试技术

所谓敏捷测试,就是测试人员先按照需求写测试用例,然后就是开发的事情,开发要让测试用例通过。

敏捷测试,需要有需求文档,和最终完成的测试用例或者自动化脚本。

敏捷测试,要求团队对产品完全熟悉和理解,必须及时和产品经理进行沟通。

敏捷测试中的自动化测试前题是,必须从项目开始就要考虑到自动化的问题,规定好所有控件的定义和名称,开发不能随便改变这些,除非无法实现的东西,否则无法实现自动化测试,敏捷就毫无意义了。

敏捷的意义在于快速完成项目的进度。

请先 登录 后评论
阿哆

无论敏捷开发还是敏捷测试,都是一种思想。不同的行业,不同的公司,不同的项目团队,都应该有适合自己的一套方法论和实战经验。其主要目的是,提高团队的工作效率,协同作战能力和产品的质量。所以,在敏捷测试的过程中,没有特定的必须文档,只有适合自己团队的文档和文档形式。敏捷团队的成员,应该有自我驱动力,并且认同“质量是团队中每个人成员的责任”。在敏捷团队中,自动化必不可少,但要在适当的时候使用适当的工具。

请先 登录 后评论
桃之妖妖 - 从2.5小白开始

我理解的敏捷测试,就是最大化的提高项目组的工作效率。测试与开发同时开始工作,越早的开始测试工作越能提高整体效率。如后端某一个服务的接口开发已经完成,测试就可以进行这部分的接口服务测试。这样在与前端对接之前,可以解决掉大部分服务端的bug。再测试前端,无论发现问题,还是解决问题的速度都是比较快的。

一个优秀的敏捷测试员,应快速的理解产品需求,包括功能变更和框架重构。越全面的了解需求的细节,就越能及时的发现问题,并准确的判断出问题根源。此外,一个足够敬业的敏捷测试员,工作中还可能做一些非纯测试的工作,如帮助开发联调程序,规范项目流程制度,处理测试数据等等,已提高整个项目的工作进度。

为了使工作更加“敏捷”,测试要在工作初期就制定好工作计划,清晰的划分工作分配。在每一个时间节点上都要总结当前的工作成果,找出逾期原因并提出解决办法。面对较大的需求变更,有较高效的解决办法。遇到影响效率的因素时,应及时指出问题,并与项目组讨论解决办法。如版本更新过于频繁,个别滞留bug因客观因素修复较慢等。

以上是我目前对敏捷测试的全部理解。

请先 登录 后评论
asstsui - 你准备好了么

从目前工作接触到的敏捷测试来说:快速迭代+快速更新   哪怕提测在即,产品需求变更了,并且确认变更了,测试是最后一个知道消息的,也要在提测时间点前,完成变更部分的所有前期准备;哪怕测试过程中需求变更了,也要很快的更新你的测试计划。只要没上线,就有需求变更的风险,要做好,随时调整的准确

请先 登录 后评论