专访茹炳晟:如何改进软件测试流程

发表于:2013-1-22 11:15

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:51Testing    来源:51Testing软件测试网

  5、把测试产出(测试用例设计,测试脚本,测试工具等)作为产品的一部分等同管理,使用相同的版本管理和评审机制

  6、具备入口条件的情况下尽早发布测试主计划并完成评审,所有其他工作和子计划都围绕项目主计划开展,使各个团队(产品管理团队,开发团队,项目管理团队和内部审计团队)对测试的范围与策略达成一致

  7、在测试流程的各个阶段,维护测试需求和目标的风险以及优先级列表,并对各种已识别的高风险条目提供规避和缓解策略

  8、测试完成后,必须执行测试度量和缺陷分析统计工作,不断总结经验,改进测试方法以及流程

  9、流程的推行与执行必须以解决实际问题为基本出发点,尽量避免靠行政手段强行推广

  10、对于已经达成一致的流程,有必要组织必要的培训,使各团队成员对流程在操作层面上有清晰的认识,这将大幅提高流程本身的执行力

改进测试流程

  51Testing:你们团队是如何进行软件测试的?请介绍下你们公司的测试流程。

  茹炳晟:HP的软件部门比较庞大,涉及的产品线也极其丰富,做测试的同学可能最熟悉的要属HP的Quick Test Professional、LoadRunner、Unified FunctionalTesting和Application Lifecycle Management(前身是Quality Center/Test Director)。其实这些仅仅是HP软件产品线的一部分。其他还有Service Anywhere,Business Service Management,IT Service Management,Autonomy等等,而且很多软件产品之间可以相互集成以形成一整套行业解决方案。另外,绝大多数产品的研发团队都是跨国分布的,比如需求和设计在美国,架构设计在以色列,开发在中国,测试在印度,所以要想完整介绍整个软件研发团队的流程好像不太现实,这里只想重点聊一下我们在测试方法和流程上的最佳实践。

  1、在自行开发工具(类似于Jenkins)的支持下,将软件项目整个生命周期的主要活动纳入持续集成,其中包括代码静态检查,单元测试,API测试,每日构建,自动化部署,自动化GUI测试等。每个步骤都有相应结果和报表于第一时间发送给项目干系人。

  2、对于Saas项目,建立持续发布机制

  3、所有的产品代码和部分测试代码的递交都在Review Broad支持下进行代码评审。

  4、所有测试文档和测试资产都建立完善的变更管理与版本控制。

  5、不搞“一刀切”,某些项目,恰当好处地利用轻量级的敏捷流程。

  6、在系统测试层面,广泛推广利用业务逻辑驱动(BDD)模型,并建立了适用于BDD工作模型的流程。

  7、在代码层面,部分项目推广测试驱动(TDD)模型,并建立了相应流程。

  8、建立了完善的缺陷分布和趋势分析机制,很好的控制了产品的质量风险。

  9、建立流程知识库和产品知识库,并提供内部相关培训。

  10、严格执行软件产品质量度量,归档项目历史数据,为过程持续改进提供决策数据支持。

  11、流程执行的高度透明性,并有高度定制的管理信息系统的支持。

  12、提供预先定义的流程库,根据软件项目规模和性质,裁剪适合该项目的流程并提供管理层面的评审与审批机制。

  13、充分利用类Wiki工具,推进内部知识的共享与积累。

  51Testing:针对这一流程,您觉得还有哪些地方是需要改进的呢?

  茹炳晟:虽然我们目前的流程大而全,可以说包含了软件项目的各个方面,但是其中的问题也是有很多的。

  1、某些产品由于有将近10年的生命周期,对应的研发和发布流程极其繁琐,用俗话来讲就是很“重”,当然这其中难免有很多历史遗留的原因,其中包括CMMI,跨国开发的要求等等,但是我个人的观点是很有必要根据当前的组织架构与分布重构一些已经不再适用的流程。

  2、某些未纳入管理信息系统的流程的执行力不足,缺乏对流程本身的监管机制。

  3、某些流程全盘照搬公司的海外的版本,在国内明显水土不服,不仅没有起到期望的规范作用,反而引入了很多负面的东西。

  4、流程的执行高度程序化,一线的工程师对已实施的流程提出改进建议到具体实施的时间周期很长,很大程度降低了流程干系人对流程改进的积极性。

  51Testing:依据您的经历,您认为测试流程改进遇到的最大阻力是什么?您是如何克服的?

  茹炳晟:其实在测试流程改进过程中会遇到的方方面面的阻碍相当多,但我个人认为归根到底的阻力还是来自人。人基于惯性思维往往都会不自觉地抵触变革。可能那些在企业中积极地推进过流程改进的人都可能遇到过下面的情形:公司大张旗鼓地进行流程改进,但最终的结果只是管理人员费尽心力的进行了一番流程的梳理,然后被束之高阁,根本没有机会顺利推行,即使使用了行政手段强制推行,最后也会发现没有带来任何实际效果。所以我始终坚持不要为了流程改进而去改进,而是要从现行流程的实际情况出发,识别出现行流程执行过程中的不足之处以及大家在流程执行中的痛苦点,抱着解决现有问题的态度,有针对性地改进现有流程,并做好新流程的积极宣传和推广,才能使流程的使用者,也就是人从主观上接受这些变更带来更大便利和价值,这样流程的改进才可能真正发挥作用。忽略问题的本质,忽略人,忽略他们可能带来的阻力,流程改进注定会以失败告终。当然在流程改进的过程中,我们也要避免唯流程论的思想,避免过程至上,奉流程为教条的极端思想,理想的状态应该是以流程为指导,重视流程,但不拘于流程,让流程服从于软件质量、效率以及业务目标。另外还多说一点,我看到过一些企业在流程改进过程中,将新流程的执行与个人的年度考评等挂钩,采用关乎个人切身利益的行政手段强行推广新流程,固然流程的执行力提高了,但我认为这是很危险的做法。

54/5<12345>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • xzmizhen
    2013-9-03 13:46:30

    搭建测试环境,能 举个例子吗

  • hot0158
    2013-2-05 17:34:22

    问的很业余,答的很专业

  • piaolingxue423
    2013-2-01 17:36:01

    感谢分享

  • JekitShieh
    2013-1-29 14:48:18

    MARK,好东西,收藏了

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号