标题说明了一切。我们公司的一些员工认为,自动化测试“容易”,编写COM和UI测试套件“需要一天”。有什么可以应对的呢?
注意:我不是在问如何促进自动化。那不是问题。一直以来,自动化的测试和流程都得到了推广和要求。问题是有些人不了解自动化不是“容易”或“快速”。
标题说明了一切。我们公司的一些员工认为,自动化测试“容易”,编写COM和UI测试套件“需要一天”。有什么可以应对的呢?
注意:我不是在问如何促进自动化。那不是问题。一直以来,自动化的测试和流程都得到了推广和要求。问题是有些人不了解自动化不是“容易”或“快速”。
Answers:
在我的职位上,我遇到了很多“ x容易”的人,尤其是在开发项目上。我认为有以下三个原因:
1)他们真的不明白他们在说什么,但非常想听起来像他们一样。
2)他们已经阅读了几本书,并认为他们知道自己在说什么
3)最后,人们认为计算机是在快速进行测试,因为计算机速度很快。
解决此问题的一种可靠方法是定期吸引用户,项目的沟通策略是关键,当然可以向非技术用户解释自动化测试的来龙去脉是徒劳的,但要让他们意识到所涉及的流程可能是有益的。您可以通过文档,研讨会或下一次通行时的友好聊天来做到这一点。
我什至看到BA挑出这些“ x容易”人中的最大声,然后只是邀请他们在部门里度过一天,以为他们要么走开,要么更多地了解您的工作,否则他们会简单的走了,想着“上帝,我真的不知道我在说什么,我认为我错了”。
软件是使事物自动化的业务。
我们编写软件使无聊的,重复的和劳动密集的任务对我们来说更容易。我们编写软件来自动执行报告,收集数据,与其他人交流等。编写自动化测试实际上只是在编写软件,以确保我们的其他软件能够按我们期望的方式工作。
如果您的同事知道编写软件很辛苦并且需要时间,那么应该很容易向他们表明编写更多软件应该很辛苦并且需要时间。免费获得自动化的所有好处,这是很好的,但是,一如既往,我们需要将工作放在前面,以便以后获得好处。
如果他们不明白,您要么需要教他们,要么要完善简历。
writing software is hard and takes time
。编写小型命令行应用程序很快。编写天网IA非常困难。讲这样的一般性陈述不会使任何人信服。
大多数员工将他们的时间花在公司的“前部”(面对客户-老板-利益相关者)或“后部”(完成“实际”工作)。这两个功能是不同的,几乎是相反的。(很少有人在两者中都工作过)。结果,两组之间经常会产生误解。
教育例如“前线”人员的最佳方法是让一个或几个人在“后方”度过一天。如果他们完成了“……的一天”,那么他们将对一天中可以完成的工作以及为什么要花费更多的时间和精力来运行自动化测试有更现实的想法。同样,“后方”人员可以在“前部”受益一到两天。
在《如何致富》中,约翰·保罗·盖蒂(他的时代的大亨)倡导了这种“交叉训练”。他认为,花时间在生产产品的装配线上的推销员会做得更好,而花一天时间与客户交流的工程师也会做得更好。
问题是有些人不了解自动化不是“容易”或“快速”。
我不同意你在这里的前提。
我是自动化测试的大力支持者,无论是单元测试,集成测试还是UI测试。有许多很棒的工具可用于实施自动化测试。
让我们根据以下示例比较自动测试与手动测试:
在Web应用程序中,使用浏览器测试现有用户的“更改密码”功能。
手动测试:
简单?并不是的。在此过程中有很多可能的陷阱。
快速?否。手动工作需要时间。
现在,让我们尝试编写一个自动化测试:
简单?没有!我们需要研究工具,实施它们,修复测试中的一些错误。
快速?没有!它比进行手动测试还要花费更长的时间。
但是,这里有很大的不同:对于将来的测试,您只需要编写测试本身,即列表中的最后一个要点-这样做的速度相当快。不需要进行所有研究和初始化脚本来进行进一步的测试。
在编写测试之后,您可以轻松地开始测试。几秒钟后(或者几分钟,如果启动数据库和Web应用程序花费的时间很长),您就会看到“更改密码”例程是否起作用。如果存在错误,请对其进行修复,然后再次运行测试-您将立即查看该错误是否已修复。快速简便。
首先,编写自动化测试既不容易也不容易,但是执行自动测试就不那么容易。
这就是投资时间回来的地方。
一般来说,测试并不容易,也不应该这样。如果波音公司或梅赛德斯公司没有像他们那样严格地测试他们的产品,那么它们要么会因诉讼而破产,要么会因为出售这种劣质产品而倒闭。您会以每小时70英里的速度驾驶汽车吗?
在不了解那些人是谁或他们的原因的情况下,很难提出应对心态的方法。大多数经理和董事都考虑成本,并根据生产的结果进行判断。使用此标准使他们很难证明花时间进行测试。如果您的情况如此,那么您将需要找到方法将这项任务从长远来看是有益的,当然是这样。
仅仅因为软件不是有形的,并不意味着我们可以不用考虑我们所构建的系统无法正常工作的含义就可以逃脱。我敢打赌亚马逊有自动测试功能,我敢打赌那里的人对他们的网站/服务失败带来的成本影响非常了解。
这个问题有两个方面。
在您这一边,您似乎认为自己做得很好,并且“自动化很容易”小组不知道他们在说什么。
从他们的角度来看,从他们的角度来看,他们认为自动化测试需要花费很长时间(在他们看来)。
从这个距离开始,我们只需要继续努力,就不知道谁是“正确的”,或者是否有人是“正确的”。
如何应对自动化很容易
跟他们讲话。诚实地询问他们关于如何更好地完成工作的想法。让他们参与进来。这是找出他们是否真的有积极的东西的唯一途径。也许他们确实有一些有价值的贡献,您可以实现双赢。
如果他们对编程和自动化测试的工作方式没有真正的想法,或者对于如何提高生产率没有现实的想法,那么积极地与他们互动,您可以展示它的完成方式和时间。谦虚积极,感谢他们的投入/想法。想想他们所说的话:也许他们的建议会激发您不同的思维方式。如果是这样,请给他们反馈。通过谦虚和积极,你也可以赢得双赢。
在与他们交谈之前,请考虑一下如何构建,运行和管理测试。您正在使用什么框架?还有其他可能更好的吗?您是否有适应的“标准”样板?可以使构建测试更加自动化吗?是什么让你退缩?