与Coveros测试自动化总监的Q&A问答(3):测试自动化的成功与失败

转帖|其它|编辑:郑恭琳|2020-05-27 11:44:54.787|阅读 21 次

概述:在与Coveros测试自动化总监Max Saperstone的对话的第三部分中,我们讨论了他在测试自动化中遇到的成功和失败。

# 您正在找协同办公软件吗?点击这里站长给您推荐 #

相关链接:

在与Coveros测试自动化总监Max Saperstone的对话的第三部分(阅读第一部分第二部分)中,我们讨论了他在测试自动化中遇到的成功和失败。

Max发现了与我们在市场上看到的类似的经历:糟糕的计划和各个层次的买断都不是成功的好环境。但是,当自动化的投资回报率明确时,成功的可能性就更大。让我们来看看Max在这方面的经验。


测试自动化:成功与失败


Mark Lambert:让我们用最后两个问题来结束这个讨论。第一个问题是,给我一个例子,您进入一个组织来帮助他们进行自动化测试,这是成功的。它运行良好的原因是什么?

Max Saperstone:有趣的问题。我想到的一个例子是,我去了一家进行大量手动测试的组织。他们的测试实际上是在输入数据并进行表单验证。他们的挑战是由于测试应用程序所需的复杂性和不同输入组合而花了数周的时间仅测试系统。他们甚至知道他们没有涵盖所有内容。


我们与他们坐下,讨论了需求以及他们正在寻找的一切。他们说:“您知道吗?老实说,我们不知道。”他们正在做的部分工作是手动输入邮政编码,然后该应用程序报告了不同的用户。对于返回的每个用户,他们都需要执行另一个查询,以确保信息正确。

我们创建并运行了一些脚本,结果,我认为是一百万种不同组合中的四分之三。一个晚上花了大约八个小时才能运行所有这些测试。他们查看了数据,然后我们问:“好吧。那我们该怎么办?”他们说:“我们不知道。”

我们知道所有这些东西都在他们的数据库中,但是我们没有办法对其进行测试。因此,实际上有人做下了这些数据,大概花了一个月的时间。他们最终回来说:“我们仔细研究了所有这些数据,并不都是正确的。”他们发现了30或40个不同的差异,但实际上他们从来没有真正发现过这些差异——他们实际上是在进行随机采样

我们能够做的就是获取该数据集,而不是编写这些输出的脚本,我们将其转换为测试。仍然需要花费整夜的时间来运行,但是他们没有花数周的时间来分析覆盖率较差的结果。这些新测试验证了所有输出实际上都是正确的,并且组织能够以更少的工作来测试结果,从而继续向数据库中添加新客户。

我们不仅发现了错误,而且这种新的自动化功能使客户端实际上可以跟踪所有内容。对我来说,那是巨大的成功。将自动化和智能手动工作相结合,可以节省大量时间和精力。另外,另一项成功是发现了如果最终出现在最终产品中,则绝对会影响公司盈利的错误。

Mark Lambert:因此,他们通过利用整个数据集获得了完整的测试覆盖率?而不是随机抽样以尝试发现缺陷。

Max Saperstone:差不多。同样,它完全覆盖了应用程序的一个区域。但是实际看到的正是自动化的使用。但是,这是一项昂贵的工作,如果客户真的希望我们抛弃所有存在的问题,我们会的。在这种情况下,这对我们的客户而言是一个巨大的提升,最终,对他们而言这是非常值得的,这很好。

Mark Lambert:好的,最后一个问题。这个项目完全出错的例子呢?是什么原因导致实施出错?从中学到了什么?

Max Saperstone:我当时与现在的公司不在同一个公司,一位客户邀请我们说:“我们真的需要您使我们的测试自动化。我们有所有这些手动测试员,他们花费数周的时间进行回归测试。真正需要的是使这些测试自动化并加快测试时间。”

这是前一阵子,我天真地说:“可以。”我开始研究问题,编写一些测试,并与手动测试人员交谈以弄清他们在大部分时间上花费了多少。一两个月后,我进行了一套不错的测试,并将其交给测试人员。

我说:“您来了。您不再需要运行手动测试。这些自动化测试将为您调查应用程序的某些领域。”

发生的事情是测试人员没有运行这些自动化测试,或者他们将运行它们,但是随后他们将手动重新运行它们。据我了解,他们之所以没有运行它们,部分原因是测试人员不在乎运行它们。他们不一定信任它们。他们没有看到能够从自动化获得的价值。同样,测试的构建方式也不是测试人员用来运行的完整的端到端测试。测试确实完成了他们所需的应用程序部分,但是测试人员仍然必须执行许多其他步骤才能获得所需的覆盖范围。

最后,他们说:“好吧,如果我必须运行这些手动测试,我们并没有真正节省那么多时间。”客户只是看不到被添加到他们的值。我认为该项目的主要问题是沟通。我们弄清了测试人员花费了很多时间,但是我们没有与他们谈论他们如何测试软件以及他们希望能够实现什么自动化。我们需要问他们:“如果您能做任何事情,那会是什么?”

我们过多地关注最佳实践。问题在于这些实践和我们自动化的测试不适合他们的整体质量工作流程,而这正是他们真正需要的,以便减少一些质量检查时间。

我认为我们应该讨论更多的高级策略,并更好地了解可以立即减少手工测试次数的方法。我们应该问我们该怎么做才能使测试人员真正为尝试使用感到兴奋?甚至,他们认为实现自动化有什么意义,他们熟悉什么技术?

事实证明,有些测试人员甚至不想在计算机上单击“执行”以运行自动化测试。但是,其他人则对自动化很满意,每天早晨都会通过电子邮件发送报告给他们,说:“运行了,就完成了。”不幸的是,这些讨论还没有开始。

因此,我们返回并重申了该项目。但是,毫无疑问,可以通过对这种高级测试策略进行更多讨论来节省很多前期工作。这可以回溯到我们正在谈论的第一个评论。

Mark Lambert:因此,没有计划,没有团队的支持,就没有信任或感知的价值。您盲目地进入测试自动化并没有真正的帮助。

Max Saperstone:完全正确。它是为了测试自动化而进行测试自动化,而不是真正确定什么是真正的价值,以及我们如何从中获得最大的收益。

Mark Lambert:太好了。好,非常感谢您,Max。真的很感激您的分享。我认为这是一个很棒的讨论。




标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
Parasoft C/C++test

针对C/C++开发的专业白盒自动化测试方案,能有效提高软件开发效率和代码质量。

Parasoft Jtest

专业针对Java语言的开发测试方案,可无缝集成Parasoft SOAtest

Parasoft dotTEST

使用深度静态分析和高级覆盖率分析补充现有的Visual Studio工具

Parasoft Insure++

Parasoft Insure++是专用于 C 和 C++ 语言的运行时内存分析和错误检测工具。

Parasoft SOAtest

业内最全面的API、云服务和SOA测试平台,提供优秀的负载与性能测试、API安全测试等功能

Parasoft Virtualize

用于创建、部署和管理模拟的开发与测试环境的虚拟解决方案

在线
客服
咨询
电话
400-700-1020
在线
QQ
购物车 反馈 返回
顶部
在线客服系统
live chat