测试人员是否应该使他们的工作自动化?


9

我们正在尝试设置我们的测试过程。我们想知道我们的测试人员是否应该开发自动化回归测试,或者开发人员是否应该这样做。

那其他类型的自动化测试呢?测试人员应该开发它们吗?


只需开始称他们为“测试中的开发人员”即可解决歧义。
爱德华·

@Crazy但是拥有2个开发人员团队不是更昂贵吗?
贾德·迪亚斯

5
比什么更贵?出售测试不良的产品?因为开发人员正在编写测试而不是产品,从而阻碍了开发过程?
爱德华·斯特朗奇

Answers:


12

我说测试人员应该开发自动化测试-他们对代码采用“双眼”方法,并且会(或者应该只是“可能”?)发现您没有想到的错误,更不用说处理了。

加上他们对功能需求的理解可能比对开发人员的理解更高的层次-因此,他们坐在程序员的核心底层知识之间,但没有BA的知识那么高级。


但是他们难道不只是要求开发人员编写该测试用例吗?
贾德·迪亚斯

1
出于上述原因,开发人员将对内部实现有更多了解,并将采用与外部软件不同的方式来开发软件。
James Love

我看不出一个人之间的测试用例实现会有何不同。
贾德·迪亚斯

5
@Jader,您希望有不同的人来编写自动化测试,而不是编写原始代码。否则,测试将偏向于使用所编写的代码。
Marcie

3
在过去的几周中,我有一位开发人员帮助我为其代码编写装置。他是一个非常出色的开发人员,但是他肯定会错过一些代码覆盖方面的细微差别,只是因为他没有定期考虑深度覆盖。如果开发人员在测试方面提供帮助,请让测试人员查看其工作。
Ethel Evans,

11

如果可以自动化,请使其自动化。

让测试人员自由地找到您无法自动化的东西。当他们确实找到一个新的错误时,如果可以自动将其添加到自动测试中,则将其添加。


但是为什么他们应该而且不仅是开发商?
贾德·迪亚斯

正如已经提到的,@ JaderDias,测试人员不应对他们要测试的代码有任何先入为主的偏见
CaffGeek 2011年

3

我认为,开发人员和测试人员应对不同类型的测试负责。

开发人员在编写逻辑时,还应该编写单元测试和集成测试。这将使开发人员能够确保他们到目前为止编写的内容能够按预期工作。此外,这些测试在将来进行更改时仍将继续供开发人员运行。一旦逻辑完成,开发人员就可以确保所写的内容可以理解他们的规范,并且可以传递给测试人员。

从这一点来看,测试人员应负责编写系统范围的测试,以确保业务逻辑按预期工作。

鉴于开发人员通常过于依赖代码,因此测试人员应该能够帮助清理开发人员的测试,反之亦然。


对您的最后一句话感到好奇-您认为开发人员不能为功能测试做出贡献吗?如果测试人员概述测试结构并确定测试用例,而开发人员仅帮助实施,该怎么办?
塞拉妮小姐

1
我想我正在想象自己是开发人员并且可以编写自己的测试的测试人员。他们的工作将是遍历需求,并与用户交谈以识别测试用例,然后编写用例。这使得逻辑开发人员在编写逻辑时可以自由地接近逻辑。这也使测试人员离“拥有”逻辑足够远,以使他们可以客观地打破它而不会without悔。
泰勒·普莱斯

2

以我的经验,测试人员自动设置和执行测试用例的方式实际上与开发人员的方式不同。测试人员将更多地考虑如何从测试用例中获取最多的信息,如何快速执行测试,如何保持测试的可维护性等等。最重要的是,测试人员将看到开发人员会错过的测试覆盖范围的细微差别。

如果测试开发资源不足,开发人员可以提供帮助-但测试人员应仔细检查其工作。开发人员应在编写实际的测试用例之前使用固定装置和测试工具,并且开发人员切勿为自己的代码编写测试用例。让开发人员提供测试帮助确实有好处-将开发人员暴露于产品的其他部分,而测试可以帮助他们成为更好的开发人员。但是,就像初级开发人员的工作不会没有代码审查一样,开发人员的质量检查工作应该从具有更多经验测试的人员那里获得质量检查审查。

编辑添加:我是具有5年经验的SDET。我与每个都有10多年经验的优秀开发人员一起工作,并且最近一直在与他们合作克服测试瓶颈。


0

我真正希望看到的一件事是针对测试人员的可靠的自动化工具,该工具将使他们能够通过测试脚本有效地记录其进度,然后允许该脚本在将来自动运行。尤其是如果这还有助于同一脚本在不同的操作系统版本上运行,而测试人员不必手动检查所有脚本。

不幸的是,当然,对于我正在开发的产品,市场上没有任何工具能够胜任。但是,有必要牢记这一点,并仔细研究市场上的可用产品,以防万一某些产品可以满足您的需求。


Visual Studio 2010(Premium或Ultimate,记不起)具有记录屏幕操作以自动进行UI测试的功能。在进行UI Testing SharePoint演示时,我看到了Andrew Woodward MVP的演示,这令人难以置信。
James Love

正确的录制和播放声誉相当差。它往往非常脆弱,并且难以维护。是的,快速而又肮脏的“我必须在4个不同的数据中心上运行它,我不想保留它以备将来使用”,这很好,但是由于您将要进行大量重复,所以维护起来太可怕了。一个小的元素发生了变化-突然,您必须更新100个测试。痛苦。它也绝不会取代手动测试,因为手动测试通常是在假设人类会注意到您没有明确检查的所有其他事项的前提下进行的。
testerab

与移动指针和单击鼠标相比,可以使操作稍微降低一点的东西才是真正美好的事情,这样您就可以真正记录单击的按钮而不是单击的位置。这将使这种测试更具弹性和实用性。例如,当您需要在九种不同版本的Windows上运行每个脚本时,必须手动在所有Windows上运行它是一个噩梦。
glenatron 2011年

使用ID识别按钮而不是位置识别按钮完全可行的。不幸的是,录制和播放这样完成的脚本仍然很可怕-它不能解决重复的问题。如果您实际上想保留任何脚本或创建多个脚本,那么我认为没有必要摆脱精心设计测试自动化的麻烦。您是否考虑过将关键字驱动的东西(例如Robot Framework)与Auto-It一起使用?
testerab

0

在这里真正重要的一个关键区别是:测试人员只是在检查,还是在测试

迈克尔·博尔顿(Michael Bolton)的这篇博客文章对此进行了更好的解释,但从本质上讲:他们只是在希望确认行为,还是在寻找系统问题?

我认为考虑敏捷测试象限也很有用(Brian Marick最初描述了这些象限,但是我在Lisa Crispin和Janet Gregory的“敏捷测试”书中遇到了这些象限:即使您没有遵循敏捷开发方法,我认为在考虑自动化并试图制定计划由谁做以及为什么做的计划时,区分产品的测试和支持团队的测试之间的区别确实是值得的。

例如,开发人员编写的单元检查可以用作变更检测器,使您能够在定期重新运行回归时及早发现回归-这些测试为团队提供了支持。自动化的系统级回归检查使它们可以有规律地快速运行,并且通过及早发现回归并支持开发人员进行的单元测试来支持团队。这样可以节省测试人员的时间来进行批评产品的测试-例如探索性测试。或者可能会应用一些自动检查来对产品进行压力测试。

我对链接的Lisa Crispin演示文稿非常满意的另一件事是,它指出自动化还可以用于支持手动测试-创建测试数据,自动化可以使场景达到您今天要关注的重点,例如例。

考虑这两篇文章将有望帮助您分析要进行的测试种类,使您更容易找出适合自动化的内容,并找出哪些自动化部分更适合测试人员进行,哪些应该由测试人员完成。由开发人员。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.