“最占时间的是测试阶段。”你曾经听到过这样的说法吗?这是大多数非测试人员在从事项目工作时的表现,他们不了解软件测试有多强大。
软件测试是一门艺术,不是每个软件专家都能精通,然而很多人都低估了它。本文就将澄清技术界盛行的关于软件测试的误解。
误解一:“在整个项目生命周期中,测试人员只需要在开发完成后再参与项目。”
这是最大的误解之一。如果真是这样,项目肯定存在巨大的问题。只在后期引入质量保证(QA)对交付成果的质量和时间来说是一个巨大的风险。测试人员参与项目的时间需与开发人员相同,因为测试人员需要理解需求、分析差异、准备可交付成果、计划并运行测试。
如果测试人员只参与项目的后期阶段,那么他们在测试产品时会依赖于开发人员对项目的理解和跟进,而且交付成果的质量最终也不太可能得到改善。
相反,测试团队从一开始就应参与项目,有自己的思考、理解、分析和参与时间。这不仅可以帮助QA团队更好地进行测试,而且还可以让整个项目团队的QA做得更好。许多机构已经意识到这一点,从项目一开始就让QA团队加入。
误解二:“测试人员不会成为项目经理。”
许多人认为,测试人员缺乏管理方面的专业培养。但这两者本就是互不干涉的。经理需要掌握人员管理、成本管理、时间管理等技能。无论是测试人员、开发人员,还是其他任何技术人员,这些技能都与他们的工作无关。
项目管理技能需要单独培养,并且世界上无论从事哪种技术,属于哪个流派的人员都可以进行培养。因此,作为一名测试人员,对项目管理的追求并不会受到鼓励或阻止。这是一个独立的领域,任何有兴趣的人都可以参与。
误解三:“向开发主管进行工作汇报是测试人员职业生涯的阻碍。”
理想情况下应有独立的垂直部门,开发主管和QA主管都应向项目经理进行工作汇报。然而有时候可能会出现测试团队和开发团队有同一个开发主管的情况,这时候就必须向一个并不懂得如何进行深入测试的人汇报工作。
但其实,只要把工作做好,并耐心地帮助领导完成评估实践,就不会有什么差错,也不会对职业生涯产生长期的负面影响。
误解四:“编码技能差的人才会从事软件测试。”
大多数情况下,测试还包括编码。测试人员需编写复杂的结构化查询语言(SDL)来验证数据,或者在进行提取转换加载(ETL)测试/数据验证时创建测试数据。进行迁移测试时,测试人员需将编写的代码从一个数据库转换到另一个数据库。进行自动化测试时,测试人员需用Java、Perl或其他编程语言编写脚本。
因此,这个观点根本站不住脚。
误解五:“软件测试就是随意点击。”
人们通常认为,测试就是在用户界面(UI)随意点击,然后在Excel或其他文档中记录细节。事实上,测试人员会执行非常明确的测试步骤,以确保UI/应用在极特殊情况下也能够正常工作。因此,视域才是最重要的。
用户对操作限制没有概念,测试人员也一样。因此探索用户界面很重要,这种探索可能看起来像很多随意的点击。只有测试人员知道这种疯狂的操作是有方法步骤的。
误解六:“测试就是文件记录,或者说填充Excel表格。”
首先,需要强调一下:每个参与项目的人都必须进行文件记录。一份准确和完整的文件可以为项目提供基本证明和历史证明。
然而,对于测试人员来说,文件记录尤为重要,因为我们创造的产物不是一个程序或模块,而是通过人工呈现的一种质量保证。Microsoft Office套件是大多数团队的首选,但如果要做得更好,就请使用测试管理软件。
误解七:“做测试员赚不了多少钱。”
如果这种说法用在测试人员身上,那就大错特错了。这种思想可能需要转变一下。即便如此,薪酬取决于很多因素,把测试员这一身份作为薪酬较低的唯一原因是错误的。
误解八:“测试员得不到赏识。”
软件测试有时像是一种“吃力不讨好”的工作,这取决于公司文化对团队的重视程度。试着保持积极的心态,并用工作证明一切。我认同以下说法:如果公司和客户欣赏QA团队,事情会好办很多。但如果他们不欣赏QA团队,我们也不必低估自己。
误解九:“测试员拖慢项目交付进度。”
不管是否与开发团队同时开始工作,测试人员都必须等到开发彻底完成后才能开始测试。这就给人一种粗略的印象,即测试一次又一次地拖慢项目进度。
如果在计算机上对测试周期进行预先计划,就不会出现这个问题。因此,测试不是使项目延迟的原因,不正确的计划和不合理的预期才是罪魁祸首。
误解十:“自动化测试人员不必担心手工测试。”
没有什么比这种说法更令人难以置信了。
自动化测试也是测试,不同之处在于测试的方式。不要忘了,自动化测试一直延续或遵循着手工测试的流程。不是所有的项目都是自动化项目,同样地,同时掌握手工测试和自动化测试的测试人员也是很罕见的。
手工测试是测试员需要培养的一项基本技能,它是基础。自动化测试很厉害,它是质量控制领域最像魔法的东西。但在软件测试领域中,我们并不愿意去评价它们孰优孰劣。
自动化测试人员可以在一些项目中进行手工测试,而手工测试人员也可以在某些情况下进行自动化测试。
误解十一:“测试主管不参与测试。”
事实上,在行业标准里,测试主管在协调方面的工作仅为10%,他们也是QA团队的一员,需负责协助测试活动。当然,还有其他任务。
因此,QA主管必须把一小部分精力花在测试活动上。要想成为一名测试员,就必须准备好在以后的职业生涯中完成作为一名普通QA团队成员应执行的所有任务,否则是时候考虑换个领域了。
误解十二:“测试员质疑一切,在IT行业以‘吹毛求疵’闻名。”
怀疑一切的人的生活是最难的。如果我们真的怀疑一切,我们甚至会质疑软件的存在、运用和效率,这意味着在相信产品毫无用处的情况下,我们依然在为它工作。
你觉得这种看法正确吗?我们真的可以在一个软件系统上花费大量的时间,而又认为它毫无用处吗?笔者不这么认为。
与普遍的观点相反,测试人员相信软件的性能、效率、生产力和用途,并且帮助它在实际运用中取得成功。
但是,测试人员要确保软件处于最佳状态。在测试时要记住,产品是优秀的,我们必须识别并消除任何可能对这个优秀产品产生负面影响的因素。我们真的认可它,是它的忠实粉丝。
希望这篇文章能够终结IT界关于QA团队的一些谣言。