目录

摘要

内容

1. People don’t understand what to automate (and what not to automate)人们不明白要自动化什么(以及什么不能自动化)

2. The team doesn’t have technically skilled people团队没有技术熟练的人员

3. There’s low visibility around automation自动化的可见性很低

4. Applications are not easily testable应用程序不易测试

5. The goals of automation are vague自动化的目标含糊不清

6. The team doesn’t have good processes to handle automation tasks团队没有良好的流程来处理自动化任务


摘要

No matter what the domain or company, there are some common problems that always tend to affect new automation projects. Here are six top reasons automation projects can fail. Keeping these pitfalls in mind will help you to avoid them and instead build stable automation frameworks, making the endeavor a collaborative experience so that your whole team owns automation.

无论是什么公司,都有一些常见的问题,总是会影响新的自动化项目。 以下是自动化项目可能失败的六个主要原因。 牢记这些陷阱将帮助您避免它们,会帮助您建立稳定的自动化框架,使它成为一种协作体验,以便您的整个团队拥有自动化。

内容

Teams and organizations often get excited when they hear the word “automation.” It’s like a new gadget that everyone wants a piece of—at first. But after a month or two, no one cares, and we shift our focus to other gadgets or, in this case, other project priorities and developments.

当团队和组织听到“自动化”这个词时,他们常常会兴奋起来。这就像是它是一个每个人都想要的新工具。 但在一两个月后,没有人关心,我们将注意力转移到其他小工具上,或者在这种情况下,将其他项目优先事项和发展重点转移。

In order for automation to be successful instead of just a flash in the pan, companies need to approach it with realistic goals, the right attitude, and a willingness to make it work.

为了使自动化成功而不仅仅是昙花一现,公司需要以现实的目标,正确的态度和意愿使其发挥作用来实现自动化。

It is interesting to note that, no matter what domain or company I’ve worked for, there were some common problems that always affected automation projects. Here are six top reasons I’ve consistently seen automation projects fail. Keeping these pitfalls in mind will help you to avoid them and instead build stable automation frameworks, making the endeavor a collaborative experience so that the whole team owns automation.

有趣的是,无论我工作的领域或公司是什么,都存在一些常见的问题,这些问题总是会影响自动化项目。 以下是我一直看到自动化项目失败的六个主要原因。 牢记这些缺陷将帮助您避免它们,而是建立稳定的自动化框架,使努力成为一种协作体验,以便整个团队拥有自动化。

1. People don’t understand what to automate (and what not to automate)人们不明白要自动化什么(以及什么不能自动化)

It is really important to understand what to automate and what not to automate.

了解什么要自动化,什么不需要自动化是非常重要的。

Say you have a webpage. It is good to automate the different functionalities of the webpage, but it may be a bad idea to use automation to check rendering issues or location of elements on the page. This is because it is hard to know how the screen displays in different form factors due to so many different devices, browsers, and screen sizes. Also, if you start using x,y coordinates to verify element location on the page, the tests can become flaky when run on different screen sizes and resolutions. These scenarios are better off tested manually by human testers.

假设你有一个网页。 自动化网页的不同功能是很好的,但使用自动化来检查页面上的渲染问题或元素位置可能是个坏主意。 这是因为由于许多不同的设备,浏览器和屏幕尺寸,很难知道屏幕如何以不同的形状因子显示。 此外,如果您开始使用x,y坐标来验证页面上的元素位置,则在不同的屏幕尺寸和分辨率下运行时,测试会变得不稳定。 这些场景最好由人类测试人员手动测试。

We always want to automate something that is stable, that is less prone to change, that has to be repeated multiple number of times, or that will help save valuable testing effort. By automating mundane and repetitive tasks, testers can spend their valuable testing effort on performing exploratory testing.

我们总是希望自动化一些稳定的,不易变化的东西,必须重复多次,或者这将有助于节省宝贵的测试工作。 通过自动执行平凡和重复的任务,测试人员可以将宝贵的测试工作用于执行探索性测试。

2. The team doesn’t have technically skilled people团队没有技术熟练的人员

Doing automation the right way requires testers to have a certain level of technical expertise. That being said, getting skilled people who have sufficient technical knowledge can be expensive and time-consuming. Not many companies, like start-ups, for example, can afford to hire automation engineers.

以正确的方式进行自动化需要测试人员具备一定的技术专业知识。 话虽如此,拥有足够技术知识的技术人员可能既昂贵又耗时。 例如,像初创企业这样的公司可以负担得起雇佣自动化工程师的费用。

It would be worthwhile to hire a few technical testers who can kick-start automation projects and train others on the team to get involved in the automation effort. If that’s not an option, you can always invest in a tool that can help anyone do automation, irrespective of technical expertise.

聘请一些技术测试人员是值得的,他们可以启动自动化项目并培训团队中的其他人参与自动化工作。 如果这不是一个选项,您可以随时投资一个可以帮助任何人进行自动化的工具,而不管技术专长。

3. There’s low visibility around automation自动化的可见性很低

I’ve often seen teams where two to five people are in charge of automation and no one else has any clue of what is going on in terms of the automation efforts. This lack of visibility sets you up for failure because no one is going to take your work seriously, especially if you are not able to let people know how your efforts help to solve testing problems and provide value.

我经常看到团队中有两到五个人负责自动化,没有人知道自动化工作的进展情况。 缺乏可见性会导致您失败,因为没有人会认真对待您的工作,特别是如果您无法让人们了解您的工作如何帮助解决测试问题并提供价值。

Fortunately, there are some easy ways to make your automation visible:幸运的是,有一些简单的方法可以使您的自动化可见:

  • Create an automation wiki page with information such as what features are being automated, what modules are being covered, and how your automation framework is set up创建一个自动化Wiki页面,其中包含哪些功能正在自动化,所涵盖的模块以及自动化框架的设置方式等信息
  • Make the results of your automation visible to the whole team via email notifications and dashboards, and discuss the progress in daily stand-ups and other team meetings通过电子邮件通知和仪表板向整个团队显示您的自动化结果,并讨论每日站立和其他团队会议的进度
  • Hold lunch-and-learn sessions covering different trends, good practices, and tools related to automation举办午餐和学习会议,涵盖与自动化相关的不同趋势,良好实践和工具

It is important to make automation a collaborative effort and involve the whole team in planning and writing it.将自动化作为一项协作工作并让整个团队参与规划和编写是非常重要的。

4. Applications are not easily testable应用程序不易测试

Teams do not often pay attention to the testability of their software. What do I mean by that? If you build an application, you also need to make sure it is easily testable from the unit level, system level, integration level, and acceptance level.

团队通常不会关注其软件的可测试性。 那是什么意思? 如果您构建应用程序,还需要确保它可以从单元级别,系统级别,集成级别和接受级别轻松测试。

When you neglect this aspect, we end up having an application that is almost impossible to test from any level. Then we think automation is not working for the team, when the real problem is that some of the developers are building applications that are too complex and not testable.

当你忽视这个方面时,我们最终会得到一个几乎不可能从任何级别进行测试的应用程序。 然后我们认为自动化不适用于团队,而真正的问题是某些开发人员正在构建过于复杂且无法测试的应用程序。

Ensure you discuss the testability of a story, a feature, and requirements during backlog grooming and the sprint planning meeting, before the development effort starts on a feature. This will help to prevent problems later in the development lifecycle.

确保在开发功能开始之前,在积压修饰和sprint计划会议期间讨论故事,功能和要求的可测试性。 这有助于在开发生命周期的后期防止出现问题。

5. The goals of automation are vague自动化的目标含糊不清

We start with the goal of building a robust automation framework that seamlessly integrates with the CI/CD pipeline, is maintainable, and runs in a stable and consistent way, giving quick feedback about the application. All these objectives are good on paper, but to get to this level of maturity, we need to start small.

我们的目标是构建一个强大的自动化框架,该框架可与CI / CD管道无缝集成,可维护,并以稳定一致的方式运行,提供有关应用程序的快速反馈。 所有这些目标在纸面上都是好的,但要达到这种成熟水平,我们需要从小做起。

This is where most automation projects fail: They start doing something complex with automation and end up having to refactor the entire framework after they are not getting the necessary value from it. This leads to wasting time, cost, and effort.

这是大多数自动化项目失败的地方:他们开始做一些复杂的自动化,最终不得不重构整个框架,因为它们没有从中获得必要的价值。 这导致浪费时间,成本和精力。

Start by identifying two or three high-level functionalities that are stable, and automate them first. Based on this, collect feedback on what went well and what did not. Then, once these tests run consistently and are stable, start identifying other tests to add.

首先确定两个或三个稳定的高级功能,然后首先实现自动化。 在此基础上,收集有关哪些进展顺利,哪些进展顺利的反馈。 然后,一旦这些测试一直运行并且稳定,就开始识别要添加的其他测试。

It is also important to separate your automation suite into smoke tests and regression tests. Smoke tests would be the tests that run after every code check-in. They should typically finish running within five minutes to get quick feedback on new code changes. A regression test suite can run on a daily basis and covers different functionalities of the application. Your needs may vary based on the context of the project, but this is one approach that has worked well for me.

将自动化套件分为烟雾测试和回归测试也很重要。 Smoke测试将是每次代码签入后运行的测试。 它们通常应在五分钟内完成运行,以便快速获得有关新代码更改的反馈。 回归测试套件可以每天运行,并涵盖应用程序的不同功能。 您的需求可能会根据项目的背景而有所不同,但这种方法对我来说效果很好。

6. The team doesn’t have good processes to handle automation tasks团队没有良好的流程来处理自动化任务

This is one of the most common problems with test automation: There is no proper process in place to handle automation tasks. Each team member has their own interpretation of the process, leading to chaos and failure of the automation project.

这是测试自动化最常见的问题之一:没有适当的流程来处理自动化任务。 每个团队成员都有自己对流程的解释,导致自动化项目的混乱和失败。

The process of automation should be streamlined and clearly defined right from the start to the finish of the lifecycle of a story. There should be no ambiguity about who has to do what and when during the software development lifecycle. Treat automation tasks as separate stories, just like how we implement different features as part of stories. This helps the team respect the automation tasks and makes them much easier to manage. Finally, make this process visible to the whole team by writing the steps on white boards and as checklists in stories, and constantly remind the team about them in the daily stand-ups and other team meetings.

从故事生命周期的开始到结束,应简化并明确定义自动化过程。 在软件开发生命周期中,谁应该做什么以及什么时候应该没有歧义。 将自动化任务视为单独的故事,就像我们将不同的功能作为故事的一部分实现一样。 这有助于团队尊重自动化任务并使其更易于管理。 最后,通过在白板上编写步骤和故事中的清单,使整个团队可以看到此过程,并在每日站立和其他团队会议中不断提醒团队。

Keeping these six common reasons for failure in mind will help you proactively avoid them when implementing an automation effort with your team

记住这六个常见的失败原因将有助于您在与团队实施自动化工作时主动避免这些原因

自动化失败的6种原因相关推荐

  1. tomcat启动失败的原因、JAVA_HOME配置失败的几种原因、另一种启动tomcat服务器的方式catalina run

    tomcat启动失败的原因 常见的启动失败的原因,在双击打开startup.bat文件,会出现一个小黑窗一闪而过:该失败的原因是因为没有配置好JAVA_HOME环境变量 JAVA_HOME配置失败的几 ...

  2. sqlserver数据库连接失败的几种原因和处理方法

    数据库连接失败的几种原因 这几天在项目部署的过程中出了一些错误,除去配置原因外还有数据库的连接"times out"错误特此把数据库连接错误的原因记录一下方便日后查阅 Sqlser ...

  3. 人生失败的31种原因

    人生的最大悲剧,就是孜孜不倦的努力却终于失败! 美国一位学者曾经分析了数千人的经历,结果是总人数的98%都是失败者.并由此归纳了人们失败的主要原因,有31种之多.当你逐项阅读它们时,要一一检查自己,以 ...

  4. 程序员面试失败的几种原因

    要想找到一份高薪的工作,学习到扎实的基础知识和专业技能是最基本的,但是面试时候不能够顺利地把自己所学表达出来也是不行的,就像茶壶里煮饺子,倒不出来,被录取的几率也会大大折扣,怎么样才能很好地面试成功一 ...

  5. 程序员面试失败的几种原因,你中枪了吗?

    一直到今天,这跳槽高峰期一直迟迟不肯退却,竟还有互联网公司某部门整体辞职,对于一些人可能来说是司空见惯,最近人们无力吐槽这可怕的世界,有些人公司的明明很需要这方面的人才,但是呢就是不能够入闱用,而且还 ...

  6. 导致CreateWindow创建窗口失败的一种原因

    导语:在封装一个基本的Frame显示窗口时遇到CreateWindow函数调用成功,但是窗口总是不显示. CreateWindow返回NULL,GetLastError()返回0 经过网上搜集资料和单 ...

  7. 2020-11-04关于出现tomcat启动失败的一种原因

    点击run on server后出现了如下所示: 本来是运行正常的,后来因为我将exp5里面所有的文件都复制了一遍,放到了exp5_2里面后,如下所示: 此时(复制文件夹之前)若tomcat已经启动, ...

  8. 造成商业软件失败的13种原因

    不做任何市场研究,因为你"知道"很多人渴望购买你的新产品. 等到软件完美的时候才发布,不管需要多长时间. 进入一个竞争非常激烈的产品方向,并且和已有的产品产生正面竞争.因为你认为只 ...

  9. html5播放视频闪退,【答疑】3D MAX2018一打开就闪退的三种原因和解决方法 - 视频教程线上学...

    3D MAX2018安装失败的三种原因和处理方法 2019-03-28 浏览量:4231 提问者:冇尓 回答: dmax2018安装失败的原因一:缺失系统组件   如果在安装过程之中,弹窗提示需要安装 ...

最新文章

  1. 一点一滴培养你的领导气质
  2. UVA 12266 Stock prices --优先队列
  3. 121.应用层有什么协议,作用是什么?
  4. python nonetype转换float_如何在Python中将NoneType值从聚合转换为float?
  5. NOIP模拟测试11「string·matrix·big」
  6. 软件手游app介绍推广页html
  7. jquery 当页面图片加载之后_图片的懒加载和预加载
  8. vivado 亚稳态_VIVADO时序约束及STA基础
  9. 再造轮子之网易彩票-第一季(IOS 篇 by sixleaves)
  10. axure element ui素材_web元件库 ElementUI元件库+后台模板页面+官网组件 pc元件库(兼容Axure9)...
  11. Ubuntu常用软件推荐,图文详细说明及下载
  12. 基于PHP、MySql的宿舍管理系统
  13. itextpdf查找关键字坐标,以及在特定位置添加文字
  14. 百位女星镂空装秀性感 展现的是赘肉还是性感
  15. 好玩有趣的 iOS URL Scheme
  16. K-armed Bandit
  17. 盘点4种常用的推荐算法
  18. ASP.Net+XML打造留言薄
  19. Python +appium 报错:NoSuchElementException: Message: An element could not be located on the page using
  20. Kafka的灵魂伴侣Logi-KafkaManger(4)之运维管控–集群运维(数据迁移和集群在线升级)

热门文章

  1. 量化交易 米筐 获取股票列表与历史合约数据
  2. 求一元二次方程的根(YZOJ-1048)
  3. CIDR表示IP地址
  4. VCPKG安装opencv后VS2019无法找到viz.hpp
  5. ASCII编码与UTF-8编码
  6. MFC实现基本图形绘制、变换、自由曲线绘制、图形裁剪和填充
  7. 三行Python代码,实现数据库和excel之间的导入导出!
  8. fbx sdk android,FBX SDK环境配置
  9. 衬线字体和无衬线字体
  10. Solidworks机构运动仿真