敏捷开发模式在全国早已热火朝天铺开,但究竟敏捷测试搞得如何?只能通过全面调查,才不致于雾里看花。十天前发起 敏捷测试现状调查 ,收到一百多份反馈,和之前 国内软件测试人员薪水调查 相比,大家参与的热情要差多了,但也基本能反映敏捷测试的概貌,因为数据来源比较广,涉及不同的地区、不同类型的企业,但主要来自广东、上海、北京、江苏、浙江、福建、陕西、安徽、湖北、四川等民营、外资等大中小企业,互联网软件和传统软件平分秋色,但大企业(软件研发人员在3000以上)在这次调查中比较突出,也说明大企业的测试人员整体素质高、更积极热情。团队大小大部分在35个人以内,但有极少数团队比较大,甚至超过100人,也许是理解有问题,虽然我特定用不同颜色强调这是“项目团队”。
图1 不同类型的企业
图2 不同规模的企业
图3 所在团队的大小(人数)
By agile tester, of agile tester, for agile tester,下面就详细介绍各项调查结果,揭示一些敏捷测试的秘密。为了不让大家劳累,今天报告前面七项内容,其它内容陆续在明后天推出。
1. 从哪一年开始实施敏捷开发的?
点评:有几家公司从2000年就开始敏捷,这是最早一批,后面会专门研究这几家公司的敏捷文化、ET、自动化测试等情况,看看是不是比其它公司成熟的多。2001~2007 年却断了档,这是什么情况?2008、2009年是一高峰期(背后的原因?),然后就是2012~2015年是另一个高峰期(这容易理解),国内主要是从2012年开始全面推广敏捷。
2. 能背(熟记)和理解敏捷宣言嘛?
点评:超过一半的人不能熟记和理解敏捷宣言,没有出乎我意料。我去给一些公司做敏捷测试培训时,让同学们现场背“敏捷宣言”,多数情况下同学们做不到。个人认为,虽然前后都有些文字说明,但关键内容是四句话,容易背下来。毕竟这是敏捷价值观的核心体现,不同敏捷流派达成的共识,是敏捷开发模式的出发点(思想基础)。最近在看《人民的名义》,剧中刘新建都能背下共产党宣言,但你们会说,那有什么用?当然,背下来,不去做、不能言行一致,自然没有价值。如果不熟记,也无法不断强化自己的价值观。
点评:全世界人都知道 Scrum 排第一,这个似乎无需调查,就知道。但其实不然,调查前,我觉得Scrum能达到80~90%,结果显示只有67.21%,居然有16.39%人选了 “其它”。设计问卷时,我认为基本覆盖了各种敏捷开发模式,看来这地方设计有缺陷(希望同学们留言说明)。“其它”是指 精益开发、看板吗?我个人认为,精益开发也不能算敏捷,有自己独特的思想和方法论,虽然它们可以组合应用。看板是一种具体做法,是实施精益的重要手段或步骤之一。BDD虽然排在第二,和XP、ASD、DSDM相差不大。
4. 哪几个敏捷价值观在敏捷测试实施中更为重要?
点评:大家很认可“协作与反馈”,这在敏捷开发中的确重要,敏捷是靠团队的合作达到目标,强调由团队来负责质量、测试。虽然没有绝对的先后次序,但“开放”、“承诺”排在第2、3位,而不是“勇气”、“简单”、“专注”,值得大家思考。一旦是自我管理的团队,团队自我计划、自我估算,“承诺”就水到渠成。“开放、承诺”是需要“勇气”的。只有“简单”,才能实现快速的迭代、持续的交付。在敏捷那种协作、开放、充分沟通的环境中,“专注”显得很重要。
5. 下列哪几项是敏捷测试获得成功的要素?
点评:“自动化测试”成为第一,是大家共识,虽然没有遥遥领先。但是,后面自动化测试的调查结果(见明天发布的第2部分)不乐观,说明努力的空间还很大。“与团队沟通、协作”排在第2,和第4项的结果是一致的。大家认可“测试与开发融合”的价值,但下面第6项的结果显示开发和测试融合得不好。“其它”为零,没人选,说明我想得还很全。这样,“遵守敏捷开发原则”排在倒数第一,而我认为:不遵守敏捷开发原则的测试就不是敏捷测试。基础设施是自动化测试(更应该说,测试自动化)、持续集成、持续交付的基础,但居然排在倒数第3。TDD包含ATDD和UTDD,排在倒数第2。总之,说明咱们对敏捷测试的认识还比较落后。
6.开发与测试融合的程度
点评:“完全融合”非常低,只有5%,而“有专职的测试人员、测试团队”合计超过77%,所以测试人员也不用担心,敏捷测试的进程没有想象得那么快😄。但未来最终比例会倒过来,“完全融合”和“融合”会超过70%,因此,软件测试人员未来会面对严峻的挑战。
7. 专职测试人员在敏捷开发团队中主要工作或发挥的作用
点评:“全面负责测试”排在第一,这属正常,但“指导团队做测试”、“开发测试工具”、“参与单元测试”都很低,这也说明目前测试人员能力还比较低,也没真正融入敏捷团队,和上面第6项的调查结果倒是一致的。所幸的是“其它杂事”最低,不到7%。
(待续)