软件项目开发团队该如何与测试团队合作

开发 项目管理
怎么做好软件项目开发团队与测试团队的工作,让双方能奔着共同的目标取得双赢是本文的一个小总结。

  软件开发团队和测试团队之间的关系是复杂而有趣的,双方有共同目标,又互相竞争。双方的共同目标在于减少软件交付之后缺陷的严重程度和数量。双方的利益竞争在于测试人员尽可能的发现软件开发团队交付的软件产品的缺陷。在这种情况下,减少无谓的内耗,共同保证共同目标的实现,才可能实现双方的共赢。但是在很多时候,软件开发团队和测试人员之间总存在着一种紧张的关系,并因此无谓的添加了到达共同目标的困难。

在我经历过的一些开发过程中,多次因为与测试人员之间的颇为愉快的合作,实现了双赢和共赢。总结出来几点,抛砖引玉:

1. 保持良好的心态,提高对开发人员与测试人员之间关系的认识,从软件开发人员的角度来说,需要认识和做到以下这几点:

  a) 测试人员为开发人员保证交付产品的质量,共同或全部分担了已交付产品的缺陷责任。通过测试人员的工作,能够在交付给客户之前发现软件产品的缺陷。软件产品不可能没有缺陷的存在,但是被测试人员发现的后果远比被客户发现的后果小。因此开发人员员需要具有这么一个概念:感谢测试人员在被客户发现之前帮我们找到了这些缺陷。

  b) 作为对交付出去的软件产品的共同责任方,开发人员和测试人员之间合力于减少交付出去的软件产品的缺陷,作为互相合作的双方,开发人员需要帮助测试人员发现缺陷。


  2. 对于客户想法的理解,开发团队与测试团队需要达成一致并且保持同步。交付产品是由客户进行验收和操作的,测试人员模拟客户对软件产品的操作进行缺陷测试。因此,开发团队和测试团队在客户需求和软件操作界面方面需要有共同的认识和理解。并且随着需求的变化和软件的分阶段发布,需要在这两方面保持同步。这样对于双方来说能大幅度的减少无谓的工作量,并且提高双方工作的质量。具体来说有以下这些措施:

  a) 开发团队和测试团队一起对初步需求和需求变化进行讨论,达成一致的理解,可以由项目领导/开发团队经理/测试经理/需求经理/需求人员等召集会议,也可以由相关的开发人员,测试人员以及需求人员和客户代表等小范围互相讨论。根据项目条件,组织架构,团队文化等的不同可以有多种方式多种手段,目的在于保证一致理解并尽可能的得到用户认可。如果未能达成一致的,尽可能直接或间接的与用户沟通,根据反馈再次达成一致。即使实在无法(因沟通渠道,回报率,阶段交付目标等多种可能因素)达成一致,也能共同明确了这些不一致的地方。

  b) 界面/操作设计初始和界面/操作变化阶段,双方也需要使用上面的这种方式达成一致。之所以把界面/操作(其实它们也是需求的一部分)单独拿出来是因为界面/操作的设计在一些软件组织中开发团队具有一定的决定权,它们代表了所有开发团队先于测试团队得知其变化的需求中的组成部分。这时候需要开发团队主动传递给测试团队,并帮助其理解,进而双方达成一致,或共同明确不一致的地方。


  3. 互相帮助,共同提高。作为合作关系的一方,测试团队和开发团队都可以对对方提供支持和帮助,同时也能提高自己的工作效率和质量。我总结出以下几点,并且在工作应用中有很大的效果:

  a) 开发团队在大/小版本发布之后,测试团队开始测试之前,为测试团队提供这些资料:可能存在缺陷的地方和可能存在的缺陷、已经知道其存在的缺陷、开发团队未充分测试的地方、需要测试团队进行详细测试的地方。提供这些材料能帮助测试团队尽快的测试出有效的缺陷,并且帮助开发团队尽快得到有价值的反馈。尤其在小版本发布的时候这个措施非常有价值。

  b) 测试人员在发现缺陷的时候,及时与开发人员进行沟通,经详细沟通之后再由测试人员记录缺陷。这样能减少无谓的缺陷记录传递和描述修改和阅读时间,并且能帮助测试人员增加有效缺陷记录和帮助开发人员及早的和详细的得知软件缺陷。

  c) 开发人员帮助测试人员进行部署和准备测试环境,并邀请测试人员对其刚初步测试过未发布的软件进行测试。这样测试人员能发现更多的测试用例和可能缺陷存在点,开发人员能减少自测时间并及时得到反馈。

  d) 测试团队和开发团队共享测试数据和测试用例。测试团队和开发团队都需要对软件进行测试,都需要数据和用例,通过共享和交流,双方都能减少工作量和提高质量。并且通过这种交流,能保证软件测试更全面,产品质量更高。

  e) 开发团队主动及时与测试团队进行联系,获取软件产品的缺陷分布和数量变化,这样开发团队能更全面和及时的了解自己交付软件的质量。


  我一直相信不管在哪种类型的团体合作中,保持正确的心态和及时顺畅的沟通都是团队合作最关键的成败因素。开发团队和测试团队之间,开发人员与测试人员之间也是如此,因为大家都属于同一个团队——软件交付团队。希望我们每个人,不管是开发还是测试,都能保持正确的心态,积极主动并顺畅的沟通合作,这样,我们的会工作会更加的愉快。

最后,感谢所有合作过的测试人员,在写这个东西的时候回想和你们合作的时间,真是一件很快乐的事情。

  CSDN好像有问题,Larry不能评论,直接发到我邮箱了,贴上来。

  Hi Jimmy 回复如下,

  强化贯彻项目目标,项目的成功才是成员的成功,最终产品质量是团队工作品质的工作,让大家从内心里成为一个team,这是组织层面的文化建设。除此之外以下一些方法请大家参考:

  方法1:高度责任制,这种方法很简单,测试人的职责和开发人的职责明确,大家把注意力放在各自工作责任本身,从而化解矛盾;

  方法2:通过团队建设活动,让测试和开发人员打成一片,让工作更好开展;

  方法3:思想引导,让开发人员感觉到测试人员是来帮助自己更好的完成工作的人,把找出的bug当作需要感谢的内容;

  方法4:让开发和测试的人们对需求理解保持高度一致,马上就少了很多不懈和委屈;

  方法5:测试工作逐步深入,最初只做冒烟测试,不要花测试人员太多精力换取其对开发人员的埋怨,毕竟软件最初的时候缺陷最多。逐步深入的系统的开展测试,让测试人员逐步进入状态,尾声阶段可以开展找bug比赛等等;

  以上是Larry的砖,希望引出你更多玉想法。

查看评论Hi, Jimmy, 我是andy(袁斌)。
我的一点想法:
1. 在Team中确立整个团队对最终质量负责的氛围,这样开发和测试没有根本的利益冲突
2. 在绩效考核中增加团队比例,以促进#1
3. 避免开发和测试以交付为目的的流程,即开发将测试版本交付给测试,测试将测试报告交付给开发。
供参考

原文链接:http://blog.csdn.net/justfly/article/details/5961751

【编辑推荐】

  1. 浅谈项目管理中该如何review与重构
  2. 浅析关于物流客户服务平台规划讨论
  3. 软件开发项目管理实践之驻场研发
  4. 项目失败的两大隐形杀手
  5. 项目管理之CVS与SVN日常使用总结
责任编辑:彭凡 来源: CSDN
相关推荐

2011-07-19 09:11:04

项目

2023-03-17 08:02:17

2015-02-02 10:22:44

外包开发外包团队

2013-03-13 09:46:38

项目管理核心团队团队建设

2014-02-14 10:02:30

技术领导

2012-02-02 15:04:02

软件开发

2011-11-08 09:28:28

开发团队

2009-02-25 10:07:37

敏捷开发敏捷团队需求

2021-08-25 09:00:00

开发软件数据

2018-07-03 15:29:00

2022-08-22 16:23:11

React特性

2011-06-08 00:09:30

RationalInnovate 20软件开发

2021-08-24 09:00:00

开发软件框架

2011-03-03 09:34:36

2011-07-20 09:27:10

项目团队

2012-06-21 10:00:25

团队合作程序员

2014-01-16 14:06:18

软件开发团队管理

2022-08-03 10:25:34

安全成熟度

2013-06-20 15:06:54

IT安全
点赞
收藏

51CTO技术栈公众号