Espresso UI Testing Is Driving Success for Both Dev and QA

DZone 's Guide to

Espresso UI Testing Is Driving Success for Both Dev and QA

Why are we hearing so much about Espresso lately? It's providing both development and QA teams with robust, reliable automation. Read on to learn more.

· DevOps Zone ·
Free Resource

In the past year, we have seen a huge increase in the numbers of customers adopting the Espresso and XCUITest automation frameworks. There are many reasons we’re seeing this growth.  Much of it can be attributed to the inexorable trend towards DevOps;  these frameworks also successfully address some of the long-standing challenges for traditional test tools.  However, there has been one major snag — if you didn’t have the source code, you couldn’t use Espresso.  Sadly, this has kept this awesome tool out of reach for certain types of testers, such as QA professionals.  Here at Perfecto, we see the power of Espresso in use every day and, naturally, we believe that everyone should have the best automated testing tools at their disposal.  That’s why we’ve created a couple new tools to extend the power of Espresso testing to a much wider audience. (Check out The Rise of Espresso & XCUITest; The Fall of Appium? and 4 Benefits of Using the Espresso Test Automation Tool for a brief overview of why you’ve been hearing so much about Espresso lately.)

Here at Perfecto, we see some teams executing thousands of Espresso tests daily with a very low failure rate  – less than 1%.  These users have been able to achieve something that many others have been craving for a long time – robust, reliable automation that provides fast feedback for development teams, enabling them to identify issues as early as possible. Most dev teams mainly execute unit tests during their development process and don’t find any real issues; teams executing UI automation tests based on Espresso and XCUITests are able to get the same level of reliability as unit tests while simultaneously getting real end-user validation that helps them find issues as early as possible. Typically, developers execute a subset of their tests on 1 or 2 devices before committing their code, getting initial feedback in 5 or 10 minutes. Continuous integration (CI) – executing the entire test suite a few times a day on 5-10 devices — provides deeper coverage and can help identify conflicts arising from code changes early on in the development process. This not only saves time for their team but, in many cases, for other teams as well.

We continue to see more and more proof of the value dev teams get from adopting the Espresso and XCUITest frameworks. Below is just one example of a team executing almost in two days. The tests that failed found real issues in the high failure rates (and especially false positives) are a terrible thing for development teams because stopping to investigate and fix problems is a big time-waster. Automated testing is all about filtering out the noise and focusing on what really matters.

Image title

A sub-1% failure rate means more time coding, less time looking for false bugs.

I’ve often been asked by QA teams if they can leverage Espresso if they don’t have access to the code.  Until now, the answer has been “no,” as having access to the code is a basic Espresso requirement.  However, Perfecto’s engineers have been working on this problem and have come up with an exciting solution for QA pros and other testers who don’t have access to the raw code.  If you’re in this situation and have wished you could take advantage of the power of Espresso, you’ll want to take a look at our cool new tools, Perfecto’s Object Spy, and the Perfecto Gradle plugin.  Check out our step-by-step guide to get you started. These tools will allow you to run Espresso tests even if you don’t have access to the source code, bringing modern automation to software pros who have thus far been excluded.

devops ,expresso ,qa ,software development ,software testing ,ui testing

Published at DZone with permission of Roy Nuriel , DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}