查看原文
其他

敏捷测试的指导性原则

林冰玉 BY林子 2022-03-17

读完需要

6分钟

速读仅需 2 分钟

“这么多问题,你们是怎么测的?”


这是我们测试人员听到的最多的质问,也是传统的测试人员对质量把关的常见认识。

但是,事实上,就像著名质量管理专家戴明指出的那样:软件的质量不是测出来的,测试人员没法控制软件质量的好坏。尤其是在敏捷开发模式下,特别强调的核心是质量内建,而要做好质量内建,需要团队全员的参与,需要团队整体对质量负责,这是敏捷测试的指导性原则,我们在敏捷测试宣言里也有强调。


   

01. 团队整体对质量负责有多难

团队整体对质量负责,这是个说起来容易做起来难的事情,很少有团队能够做的特别好。

那么,为什么这么难呢?

在我看来,多半情况是因为不是团队所有成员都清楚质量到底是什么,没有明确的质量目标,所以也就没法很好的对质量负责,要实现团队整体对质量负责,首先得搞清楚下面三个问题:

  • 敏捷里的质量是什么?

  • 通常容易忽视的质量有哪些?

  • 团队不同角色怎么为质量负责?

关于这部分内容,在《说好的团队为质量负责呢》一文里有详细的分享,感兴趣的同学请移步阅读。

下面将继续分享相关的两个话题:敏捷团队是否需要专职 QA、能够整体对质量负责的团队有哪些特点。


   

02. 敏捷团队需要专职 QA 吗

既然团队整体对质量负责,肯定有人会有疑问:那敏捷团队还需要专职 QA 吗?

这是个有意思的问题,业界对于“去 QA 化”的讨论也是一波又一波的。甚至很多 QA 听到这个很是担心,觉得自己前途渺茫了。

其实,并没有必要那么纠结是否需要专职的 QA,因为 QA 在团队所需要做的事情始终都是要做的,不管是不是有专职的 QA,从团队的角度来讲,有人做那些事情不就 ok 了?我们可以把 QA 理解成一定帽子,不管哪个角色的人戴上这顶帽子,能完成 QA 的工作就可以了。但是,是不是什么角色的人都换个帽子戴上就能做 QA 的事情了呢?这个我相信大家还是比较清楚的,术业有专攻,肯定是专业的 QA 会做的更好。如果没有专职 QA,对团队其他角色的要求就要高很多,不是每个团队都可以做到的。

因此,作为 QA 的我们,并不用担心是否“去 QA 化”真的会发生,倒是好好提升自己,多发挥应有的价值才是正道。

说到这里,推荐大家搞清楚敏捷团队的 QA 该如何工作,以及 QA 的职业发展之路是什么样的,可以参考如下文章:


   

03. 能够整体对质量负责的团队有哪些特征

除了前面讲到的清晰的质量目标、注意容易忽视的质量、团队成员的充分合作,要做到团队整体对质量负责对团队本身也是有要求的。从我的经验来看,能够整体对质量负责的团队通常有如下特征:

信息共享

团队成员要能够为质量负责,首先得知道质量和质量目标是什么,而质量目标会受到众多因素的影响,每个项目每个阶段都会有不同的目标,及时将一些重要的信息分享给团队的每个人是至关重要的,包括客户的业务动态、生产环境系统的状态、终端用户的反馈、团队的工作重心、持续改进的状态、交付的压力和进度等等。

信息共享,有利于团队成员更好的发挥主观能动性,更好的真正为质量负责,这是健康团队最关键最重要的一个特征。

反馈机制

对于软件系统的质量,我们提倡持续集成、持续测试以获取及时的反馈;为了团队的健康,需要不断优化团队成员间的沟通与合作,同样需要有相应的反馈机制或渠道。团队需要营造反馈的文化,成员间应是平等的关系,任何人可以对任何人或事提供相应的反馈。

自动化测试提供的反馈有助于软件系统更加健壮,团队内的反馈机制则可以促进团队的健康发展,有助于团队整体对质量负责。

回顾会议

回顾会议是敏捷软件开发中非常有价值的一个实践,但有些团队的回顾会议流于形式,并没有带来什么效果。

好的回顾会议应该做到对事不对人,大家都能就日常工作中的事情发表自己的意见,做得好的方面继续发扬,需要改进的方面共同商讨应对策略,持续改进。

对于回顾会议讨论出的改进行动,一定要是可落地执行的,并且有相应的人员负责跟踪,不能光有行动的想法,但是并没有实际行动发生。

仪式感

“仪式感就是使某一天与其他日子不同,使某一时刻与其他时刻不同。” 日复一日的例行工作需要仪式感来适当的刺激,以增加团队成员的动力。

项目顺利上线、质量提高了一个档次、某事受到客户的表扬、解决了一个极为关键的生产环境故障等,都可以有一些庆祝的仪式让团队所有成员共享喜悦。

团队活动

除了有仪式感,团队还需要有定期的团队活动,比如一起出去吃午饭、一起去按摩、一起桌游等等,形式可以有很多,就算工作、生活太忙聚不全,一起简单吃个下午茶、聊聊八卦也是挺好的。

这种团队活动的目的主要是为了增进成员的凝聚力,一定要是轻松、愉快的形式,最好能够所有成员都参加。


   

04. 小结

团队整体对质量负责是敏捷测试的指导性原则,要做到这个,需要:

  • 明确质量目标,并且确保团队所有成员理解清楚各自需要为哪些质量负责;

  • 软件开发生命周期的每个环节都需要多角色的合作,发挥各角色所长,取得最佳效果;

  • 重视团队建设,组建健康的团队。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存