• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

敏捷实践的七个方面

发布: 2010-10-07 09:49 | 作者: 网络转载 | 来源: 领测软件测试网采编 | 查看: 270次 | 进入软件测试论坛讨论

领测软件测试网

  局部优化

  有话说“不怕神一样的敌人,就怕猪一样的队友”,其实做软件也是,怕的就是劲不往一处使。但说回来还真不是大家不努力,而是对这个“一处”的看法各有不同。关注于各自目标的达成,并不能保证这些努力叠加起来能够实现那个 “共同的”目标,对局部进行的优化可能会反过来扯集体的后腿。这样的现象,组织各个层面都有。团队内、团队之间、产品线之间,都存在着这样的情况。

  例如团队内部,由于不习惯转型过程中新的特性团队的工作方式,团队内部也还是颇有些泾渭分明的开发、测试各一拨人,自个选自个的工作,迭代开始的时候,各自就把自己的任务选走,然后整个迭代就盯着自己的一亩三分地拼命干。但问题是,团队需要负责、承诺的是最终可以运作的软件增量,而这样的模式无法保证迭代结束时的交付。

  团队之间也是如此,为了让自己的团队工作预期更稳定、工作中能更专心,团队也都要求确定他们的工作领域,迭代中则有些简单粗暴的拒绝许多协助进行缺陷分析的请求。结果就是导致缺陷分析、修复的工作变得非常难以开展,而且有很多尚未查明的潜在缺陷被放弃追踪和申报。

  更大范围内来看,我们完成了传输平台的开发还不够,要能够产生客户价值,还少不了上层的应用软件系统。但我们的系统工程师团队、Scrum团队、系统领域测试团队等,以及上层的开发团队、功能测试团队、版本测试团队、系统测试团队等一干团队,尽管都在努力改进自己的工作绩效,可问题是,这些局部的、片面的优化,在组织层面观察,对终端客户产生的影响微乎其微,甚至是副作用。

  敏捷、精益的要点正在于此 —— 关注于产生的价值,移除不必要的浪费。不恰当的局部优化也是一种浪费,我们要具备系统思考的能力,从整体上看问题,然后改进绩效。组建特性团队就是开始。

  软件质量

  软件质量是很多组织都有的一些共性问题,任何变化都意味着质量降低然后恢复到当初,然后再变得比以前好的循环,在我们组织中还是不可避免经历这样的循环。

  在敏捷的转型中,如果没有很好的考虑这些质量的风险,那么最终它所带给组织的将是未来很长一段时间的“痛”,背负的“债”需要很大的代价来偿还,所导致的结果将对客户的满意度和信任都会产生很大的影响。

  质量问题中,通常我们认为会有三种类型的问题:老代码的问题,新功能开发的问题和改问题引入的新问题

  老代码的遗留质量问题所占的比重通常是比较大。庞大的系统,任何的改动都有可能影响老代码的问题,或者老代码不能满足当前的需求所需要做的调整,往往是这些改动或者新需求会影响那些地方通常是比较难界定出来,对于老代码的测试自动化保护是关键。

  新功能开发所带来的问题通常会由于对于进度压力的妥协,在匆忙完成当前迭代周期的内容或者需要延迟当前迭代周期去做更多的测试之间矛盾。敏捷的开发模式使得原先长周期的项目进度和项目质量矛盾会在更短的周期里(4周)显现出来。

  在敏捷实践中,最大的一个优势就在于快速的质量反馈。由于持续集成,持续回归测试,质量的反馈就会在2~3天甚至3~4小时之内反馈到代码提交的软件人员。

  当然这样的快速反馈是基于持续集成所达到的层次,最完美的情况肯定是整个产品所有的测试都被放入到持续集成,那么对于整体软件将会有一个非常全面的质量考量。

  自动化测试

  测试自动化被许多人看做是敏捷的基石之一,众多的敏捷实践依赖于自动化的程度,例如持续集成。而能够实现增量式开发也需要能够快速、全面地进行回归测试,确认已存在的功能特性没有受到新特性开发的影响。在大张旗鼓地进行敏捷转变之前,我们的产品线就已经开始尝试过测试自动化。一个专门的测试自动化小组在半年多时间内,操作芬兰专家开发的自动化测试工具,将那些执行频率很高的回归测试用例集实现自动化执行。基于由此项目得来的成功经验,测试自动化的概念被广为传播,而且这个实践也开始作为一个基本要求附加给测试团队,自动化测试用例占所有测试用例的比例作为一个指标被上层主管密切关注。

  开始进行敏捷转变时,围绕着测试自动化有很多的争论,主要的焦点在于是否要追求100%的测试自动化。反对方和支持方都各有理由,难分高下,不同理念都有追随者在实践。支持者认为自动化测试可以节省执行时间,而且可以在夜间及周末进行测试执行。反对者认为实现自动化用例耗用了测试人员的绝大部分时间,来自于基层的部分意见反映他们都没有时间去真正的测试系统,而且还有一些用例非常难实现自动化,或者说成本非常高。而最新的一个情况是,在一个新的版本发布计划中,测试自动化的开销总计以万小时计算,那么是否有必要一定要实现100%测试自动化?

  我个人认为,其中很重要的一点就是测试自动化以及其比例被作为硬性指标施压给团队,导致团队无暇顾及测试自动化的质量高低。而测试自动化的质量恰恰会影响到:执行时间的长短、维护自动化脚本的开销、实现测试目的的准确性等。另一个原因就是,了解、专长于测试自动化,具备大范围应用测试自动化经验的专家太少,还常常疲于应付实现具体的测试自动化用例,无暇去传授、辅导及培养其他同事的测试自动化技能。

  流程

  敏捷的转型过程中,如果认为流程可以被抛弃,可以按照自己的想法去做开发测试,这样的观念将是很大的一个误区。

  流程之所以为流程是因为它所承载的是一个组织长时间积累的经验与教训,它被实践所证明有效的方式,怎样使做某件事情的效果与效率达到最优,并在多年的实践中被不断的补充。

  比如同行评审,我们的误区在于认为人们会自动自发的组织好同行评审,可以使用开发组所自己的方式。老的同行评审的传统并没有很好的沿袭,特别在组织大规模扩招的时候。导致的结果是我们的需求,设计代码的问题比以往任何时候都要多。

  比如测试,组织大规模的调整,但是相对应的测试在新组织里的怎样的计划,新开发组里测试以怎样的方式进行,怎样是最有效率的进行测试,开发组的测试和外部测试之间的区别和协调,测试在端到端的整个开发过程中的布局与充分性。我们的误区是对这些问题在相当长的时间以后才逐渐意识到这方面的缺乏,然后逐渐提出改进。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

22/2<12

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网