如何应对“自动化容易”的心态?


12

标题说明了一切。我们公司的一些员工认为,自动化测试“容易”,编写COM和UI测试套件“需要一天”。有什么可以应对的呢?

注意:我不是在问如何促进自动化。那不是问题。一直以来,自动化的测试和流程都得到了推广和要求。问题是有些人不了解自动化不是“容易”或“快速”。


25
有没有邀请这些人中的任何人证明自己的主张?
Blrfl 2013年

2
这些看法存在于许多行业中,并且无法更改。尽管许多人可能会回答一些教育员工的方法,但唯一的正确答案是在其他地方工作。别人的工作价值不高的人永远不是一件好事。
Reactgular 2013年

7
可能相关:
邓肯·

3
告诉他:“老兄,如果您认为可以一次完成,请坐下来,向我展示如何实现此目标,这样我就可以向您学习如何如此迅速地编写测试,因为我不知道如何完成测试这个”。
Doc Brown

Answers:


5

下次收到请求时,请尝试将尽可能多的自动化过程分解为很多时间。我认为,当他们意识到每个文本字段或按钮按下需要5分钟时,便开始意识到需要花费多长时间。

例如,也许花了这么长时间的原因是它们开始在各个字段之间引入相互依赖性:例如,仅当填写时允许它们继续进行,否则,除非当...时才允许它们继续进行。

尝试对他们进行教育,为什么要花这么长时间,但不要那么多,因为您会通过“学习”过程而失去他们。


4

在我的职位上,我遇到了很多“ x容易”的人,尤其是在开发项目上。我认为有以下三个原因:

1)他们真的不明白他们在说什么,但非常想听起来像他们一样。

2)他们已经阅读了几本书,并认为他们知道自己在说什么

3)最后,人们认为计算机是在快速进行测试,因为计算机速度很快。

解决此问题的一种可靠方法是定期吸引用户,项目的沟通策略是关键,当然可以向非技术用户解释自动化测试的来龙去脉是徒劳的,但要让他们意识到所涉及的流程可能是有益的。您可以通过文档,研讨会或下一次通行时的友好聊天来做到这一点。

我什至看到BA挑出这些“ x容易”人中的最大声,然后只是邀请他们在部门里度过一天,以为他们要么走开,要么更多地了解您的工作,否则他们会简单的走了,想着“上帝,我真的不知道我在说什么,我认为我错了”。


2

软件是使事物自动化的业务。

我们编写软件使无聊的,重复的和劳动密集的任务对我们来说更容易。我们编写软件来自动执行报告,收集数据,与其他人交流等。编写自动化测试实际上只是在编写软件,以确保我们的其他软件能够按我们期望的方式工作。

如果您的同事知道编写软件很辛苦并且需要时间,那么应该很容易向他们表明编写更多软件应该很辛苦并且需要时间。免费获得自动化的所有好处,这是很好的,但是,一如既往,我们需要将工作放在前面,以便以后获得好处。

如果他们不明白,您要么需要教他们,要么要完善简历。


2
writing software is hard and takes time。编写小型命令行应用程序很快。编写天网IA非常困难。讲这样的一般性陈述不会使任何人信服。
西蒙·贝格

3
@Simon-这已经足够公平了。并非曾经编写的每个软件都一定很难。我在想更多的事情是,我们付钱编写的大多数软件都是用于平凡的事情。甚至像一个简单的CRUD应用程序之类的东西也需要花费时间和精力来确保它们具有正确的验证,错误处理,可能的安全性,报告等。在撰写本文时,我还意识到我在回答问题时以为OP中的同事不是科技/管理人员。这可能是不正确的,并且会影响应该如何解释“硬”,“简单”和“快速”。
Becuzz

您可以说,对计算机进行编程既困难又耗时,因为它很昂贵
Chris McCall

2

大多数员工将他们的时间花在公司的“前部”(面对客户-老板-利益相关者)或“后部”(完成“实际”工作)。这两个功能是不同的,几乎是相反的。(很少有人在两者中都工作过)。结果,两组之间经常会产生误解。

教育例如“前线”人员的最佳方法是让一个或几个人在“后方”度过一天。如果他们完成了“……的一天”,那么他们将对一天中可以完成的工作以及为什么要花费更多的时间和精力来运行自动化测试有更现实的想法。同样,“后方”人员可以在“前部”受益一到两天。

在《如何致富》中,约翰·保罗·盖蒂(他的时代的大亨)倡导了这种“交叉训练”。他认为,花时间在生产产品的装配线上的推销员会做得更好,而花一天时间与客户交流的工程师也会做得更好。


2

问题是有些人不了解自动化不是“容易”或“快速”。

我不同意你在这里的前提。

我是自动化测试的大力支持者,无论是单元测试,集成测试还是UI测试。有许多很棒的工具可用于实施自动化测试。

让我们根据以下示例比较自动测试与手动测试:

在Web应用程序中,使用浏览器测试现有用户的“更改密码”功能。

手动测试

  • 启动Web应用程序
  • 开启浏览器
  • 该死的,有一个错误。为什么?哦,我忘了启动数据库!
  • 好的,关闭Web应用程序
  • 启动数据库
  • 启动Web应用程序
  • 刷新浏览器
  • 嗯,我们测试用户的密码又是什么?
  • 看看数据库
  • 哦,用户表是空的!我必须创建一个新用户。
  • 在Web应用程序中注册新用户:输入用户名,密码,电子邮件地址
  • 为什么我不能使用新用户登录?哦,我需要单击电子邮件中的确认链接!
  • 好吧,我已经给用户发送了电子邮件,例如“ test@example.com”。让我们进入数据库并将“活动”列设置为“是”。
  • 登录。这次可以了!
  • 嗯,我想再测试一下...?

简单?并不是的。在此过程中有很多可能的陷阱。

快速?否。手动工作需要时间。

现在,让我们尝试编写一个自动化测试

  • 我们需要找到用于我们的编程语言的工具,以自动启动数据库和Web服务器。研究和实施需要时间。
  • 测试开始时,数据库需要处于干净状态。创建脚本需要花费时间。
  • 我们需要编写测试。由于我们需要一个用户,因此我们还需要注册一个新用户进行测试。需要时间。
  • 最后,我们可以编写我们要测试的内容:更改用户密码。使用我们的浏览器测试工具,与之前的任务相比,它可以很快完成。

简单?没有!我们需要研究工具,实施它们,修复测试中的一些错误。

快速?没有!它比进行手动测试还要花费更长的时间。

但是,这里有很大的不同:对于将来的测试,您只需要编写测试本身,即列表中的最后一个要点-这样做的速度相当快。不需要进行所有研究和初始化脚本来进行进一步的测试。

在编写测试之后,您可以轻松地开始测试。几秒钟后(或者几分钟,如果启动数据库和Web应用程序花费的时间很长),您就会看到“更改密码”例程是否起作用。如果存在错误,请对其进行修复,然后再次运行测试-您将立即查看该错误是否已修复。快速简便

首先,编写自动化测试既不容易也不容易,但是执行自动测试就不那么容易。

这就是投资时间回来的地方。


很棒的帖子,但最大的问题是:登录会发生什么?大多数这种逻辑开始变得很不稳定。
joshin4colours 2013年

0

一般来说,测试并不容易,也不应该这样。如果波音公司或梅赛德斯公司没有像他们那样严格地测试他们的产品,那么它们要么会因诉讼而破产,要么会因为出售这种劣质产品而倒闭。您会以每小时70英里的速度驾驶汽车吗?

在不了解那些人是谁或他们的原因的情况下,很难提出应对心态的方法。大多数经理和董事都考虑成本,并根据生产的结果进行判断。使用此标准使他们很难证明花时间进行测试。如果您的情况如此,那么您将需要找到方法将这项任务从长远来看是有益的,当然是这样。

仅仅因为软件不是有形的,并不意味着我们可以不用考虑我们所构建的系统无法正常工作的含义就可以逃脱。我敢打赌亚马逊有自动测试功能,我敢打赌那里的人对他们的网站/服务失败带来的成本影响非常了解。


0

2 +2 = 4是每个人都能理解的最简单的代码之一;您会看到如何轻松理解。但这并不意味着它是一个“简单”的方程式。达到简单方程式所需的抽象级别非常复杂。软件和软件测试方法也是如此。需要一段代码的抽象级别需要大量工作。

的确,好的实践会导致类和对象的重用,但同样,要花费时间和精力达到这种状态也是必要的


这不能回答所问的问题
咬2013年

0

这个问题有两个方面。

在您这一边,您似乎认为自己做得很好,并且“自动化很容易”小组不知道他们在说什么。

从他们的角度来看,从他们的角度来看,他们认为自动化测试需要花费很长时间(在他们看来)。

从这个距离开始,我们只需要继续努力,就不知道谁是“正确的”,或者是否有人是“正确的”。

如何应对自动化很容易

跟他们讲话。诚实地询问他们关于如何更好地完成工作的想法。让他们参与进来。这是找出他们是否真的有积极的东西的唯一途径。也许他们确实有一些有价值的贡献,您可以实现双赢。

如果他们对编程和自动化测试的工作方式没有真正的想法,或者对于如何提高生产率没有现实的想法,那么积极地与他们互动,您可以展示它的完成方式和时间。谦虚积极,感谢他们的投入/想法。想想他们所说的话:也许他们的建议会激发您不同的思维方式。如果是这样,请给他们反馈。通过谦虚和积极,你也可以赢得双赢。

与他们交谈之前,请考虑一下如何构建,运行和管理测试。您正在使用什么框架?还有其他可能更好的吗?您是否有适应的“标准”样板?可以使构建测试更加自动化吗?是什么让你退缩?

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.