如何在一个项目中担任“ QA工程师”,而不是“测试驱动开发团队”的成员?

StackOverflow https://stackoverflow.com/questions/3577009

最真诚的道歉,如果我在错误的地方问这个问题。 (可能是专门针对职业建议和质量检查的迷你堆栈之一)我最近花费了大量时间来学习和实施我们项目的单元测试框架。

在引入单元测试框架之前,我们的方法是编码,手动测试,提交,希望事情不会分解或上流。一个非常反应的系统。

现在,我们都知道需要对事情进行测试,并且自动化测试效率且良好。但是,目前的角色似乎是“您进行测试”和“写自动测试”

进行手动测试是可能的,但感觉不堪重负(一直都有错误),而且很像我技能的充分利用。

我很难完成请求的第二部分。如果代码不设计为可测试,则编写自动测试很难。

我负责质量保证 - 但是 - 我只能在测试驱动的开发中找到资源。

我可以使用哪些方法在我的质量检查角色中变得更加有效,而其他开发人员尚未关注创建可测试代码?

有帮助吗?

解决方案

我认为,通过单元测试使开发人员提高速度将是您的主要问题!这样,每个人都是赢家。

在此之前,由于您正在使用旧版代码,迈克尔·菲瑟(Michael Feather)的书 有效地使用旧版代码 显然,在测试此类代码方面包含许多有用的建议。

您可能已经知道这一点,还可以查看行为驱动的开发(BDD),其中包括有关创建自动集成测试的很多内容,我认为这对您来说是感兴趣的。

其他提示

名字的问题 测试驱动的开发单位测试, ,他们暗示他们是关于测试软件的。他们是 不是. 。 TDD和单位测试大约 设计 他们本质上是开发商的责任。

质量保证分析师的角色对于任何练习TDD的团队仍然至关重要,这将是一个 长,长 在您发现自己是一个尽职尽责的质量检查的时间!

看一眼 接受测试驱动开发 并考虑通过编写自动接受测试来在需求阶段进行更多参与,也许使用诸如此类的工具 健身.

当然,手动,探索性测试仍然具有其位置。但是,您应该考虑重复回归测试是违反您的基本人权!

我认为开发人员至少应该编写单元测试(可能使用TDD)。这是保证他们签入的代码可能有效的最低标准。

我理解质量保证的角色是提供更高级别测试的人,以确保软件满足客户需求,因此您不会真正测试单个类,而是模块或整个应用程序。即使开发人员不提供单元测试,您仍然应该能够自动化端到端测试(这通常包括自动化测试环境的设置等) - 不过,您的工作将更加沮丧:)

以我的经验,人们不会在一夜之间谈论编写测试 - 说服他们是一个过程。程序员最终将不情愿地尝试,但仍有几周或几个月才能成为倡导者和常规从业者。这并不意味着您应该放弃,只是认识到这是一场艰苦的战斗,需要上面的支持,以及团队内部的一些好的拥护者。

您可以自己潜水:

鉴于大约一半的错误是以前的错误的“回归”,因此,在您的情况下,我将重点介绍为新的和关键的错误编写回归测试。这将极大地帮助您进行普通的质量检查工作,但对于将来的错误也将是一个绝佳的安全网。

即使您无法说服开发人员立即编写测试,您也会有一些有价值的测试,他们很快就会看到其价值。这项工作可能有助于销售开发人员编写单元测试的想法。

几年前,我扮演着类似的角色,所以我可以理解您的麻烦。为了通过单元测试使开发人员提高速度,我建议您进行指导和配对编程课程。编写设计不良的课程的第一个单元测试可能是真正的痛苦。如果你们两个人有两个人,那就更容易,更有趣 - 更不用说降低在最初的重构中犯下愚蠢错误的机会。

@Grant已经提到的羽毛书是为此的宝贵资源。在最初的几个月中,要耐心和坚持不懈,然后结果(无论是在测试范围和团队态度下)逐渐开始显示。

您也必须获得强大的管理支持 - 没有此,就没有必要的尝试。管理层必须了解建筑单元测试是 投资, ,它利用了您的时间和精力 现在, ,并且只会在未来的几年中偿还。如果他们坚持按照以往的方式保持同样的截止日期压力,那么您将不可避免地失败。开发人员如果高度压力和/或振奋,开发人员将无法学习和练习新技能和思维方式。

(硬币的另一面当然是必须考虑投资是否会带来利润。旧版代码的建筑单位测试仅在管理层预计将维护和使用该产品多年的时间来进行多年来。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top