安德鲁·普伦蒂斯, Atlassian QA经理,开发工程师

这是Atlassian的QA系列的第一篇博文。我们将介绍如何在不同团队进行QA,我们使用的工具和策略,以及团队成员的亲身经验。

诚然,这是一个假设 – 但事实可能确实如此 – 专业的软件测试人员多数不怎么会写代码。这似乎是因为他们不需要证明他们缺乏技术技能,而开发工程师和测试之间的工作有时不怎么顺利。更确切的说法是,大多数开发人员无法测试。奇怪的是,尽管这些对于软件开发的成功至关重要,鲜少有人关注这些。

公平地说,很多自称自己是专业做测试的也不会测试。手动逐步执行别人写的测试脚本,可不算是真正的测试。自动执行无数步骤类似的测试不会帮助任何开发人员精通测试。所以,到底谁知道如何测试?

谁应该测试?
想想你曾经遇到的最好的测试。大多数公司往往有一个总是可以发现更多bug的骨干,而且他能快速发现问题。他们是真得知道如何测试的人。然而,这种技能往往是被认为是某种神奇的力量,少数人与生俱来的特殊才能,所以很少有人注意他们得这种才能。可是如果这不是什么神秘的天才呢?如果每个从事软件开发的测试人员和开发人员,都能像你遇见的最好的那些人一样好,这样一支团队会做出更高质量的软件,而且更有效率。如果可以,我们为什么不这么做呢?

这是由于传统的软件开发方法( 如瀑布式)强调需求跟踪和测试可重复性,而非好的测试。对于这样的团队,当务之急是多少测试合格或不合格,而不是这些测试是不是有价值 。此外,传统的观念认为测试人员需要和开发人员分割开来实现高效,在开发人员和测试人员之间设置了屏障,使得开发人员不怎么关注他们的工作质量或者通过测试更好地完善他们的工作,也使得高质量的测试更难实现。

敏捷方法,从整支队伍的角度,避免出现质量“墙”的问题。但是当开发人员发现自己要对测试负责的时候,通常情况下,他们会通过代码,自动进行测试。测试自动化确实十分关键,但是这也使得开发人员认为能够实现自动化就是具备了好的测试能力,所以他们并不着力提升测试水平。敏捷的早期采用者主要是开发人员,敏捷的通才多过专家,这意味着测试人员,不得不花费大量的努力证明他们存在的意义,而不是教授整个团队高效的测试技巧。

images

走进Atlassian的QA部

在Atlassian的,我们有不同的看法。我们的QA战略是这样的:

测试得好不是特异功能,是可以教授或者学习的的技能。

擅长测试的开发人员不仅可以增加团队的效率和能力,更能写出高质量的软件。

当整个团队都具备好的测试能力的时候,测试人员,可以在发现问题的基础上集中精力解决产生质量缺陷的根本问题。

因此,我们的开发团队的每个人都有责任保证高质量,我们的QA团队的作用是帮助大家更好地承担这种责任。因此,我们的QA团队不提供质量保证,而是质量援助;帮助开发人员成为好的测试人员是这项工作的一个显著部分。在这个系列的之后的文章中,Atlassian将继续探讨我们的QA方法细节和战略,欢迎您持续关注我们。

About xiaoyinqu

Xiaoyin Qu, JIRA Marketing team 曲晓音, JIRA市场营销部

View all posts by xiaoyinqu »