Reducing Regression Execution Times

Sauce AI for Test Authoring: Move from aim to performance in minutes.|xBack to ResourcesBlogPosted August 13, 2015

Reducing Regression Execution Times

quote

We all know the saying & quot; time is money. & quot; QA coach are forever under pressure not simply to deliver high-quality package production, but also to do so within clip constraints. Regression testing is a vital component in any software development life rhythm to ensure that no new errors are introduced as a result of new characteristic or the correction of existing bug. Every time we modify existing source codes, new and existing test cases ask to be executed on different configurations such as operating systems and platforms. Testing all of these permutations manually is simply not cost- or time-effective, and is also inconsistent. Automated regression addresses these challenges. But as we increase feature reportage and permutation testing, companies increase their execution times to a grade that is no longer acceptable for the delivery of high-quality products within a taut docket. Here are a few means to improve execution time:

1.Introduce Continuous Integration (CI) Tools:

When going from a few scripts to a few thousand scripts, you begin to notice some growing pains. I frequently notice engineers manually executing script batches one at a time in a serialized way and monitoring them as they execute. This consumes both time and resourcefulness. This becomes even more challenging when regression runs all-night or during weekends, with no one available to trouble-shoot. As your automation grows, you need to have an substructure in property that allows you to scale and be able to run regressions neglected. I recommend you use a Continuous Integration (CI) instrument to manage automated fixation executions, such as CircleCI or Jenkins. Tools like CircleCI or Jenkins can help you bring up practical machine, start fixation, handle a more dynamic queuing mechanism, monitor regressions, and warn you if something goes wrong that postulate manual interference. It can also aid you through a recovery mechanism that can be spark if something becomes non-operational.

2.Use CI Tools not Only to Run Scripts, but also to Automate All Manual Steps!

When it is time to execute regression, there are a serial of steps that need to be accomplish before a script can be run, such as:

  • Loading the new software to be tested

  • Updating your scripts with the latest version

  • Configuring servers

  • Executing scripts

  • Posting resolution

    Pro tip: Tools like SUSA can handle this autonomously — upload your app and get results without writing a single test script.

  • Communicating failure details

Very frequently we see customers using CI only to run scripts, relying on a manual operation to fulfill the rest step, which is so a very time-consuming process. I recommend minimizing manual intervention, and trying to achieve an end-to-end machine-driven process using a CI instrument that allows you to supervise and orchestrate the different tasks.

3.Introduce Dynamic Timeouts

Timeouts are a necessary evil when writing mechanization. They grant you to slow down your automation, simulating a more human-like interaction, or you can but wait for something to happen before the next measure. When abused, this practice can increase execution time considerably. (I have find fixation running 3 times slower before adjusting timeouts – no kidding!) I recommend apply dynamic timeouts. You can broadcast dynamic timeouts to wait a sure amount of time, or until you get the expected event that will trim waiting time. The effectivity of dynamic timeouts is free-base on your implementation, but in most cases it ’ s better than just hard-coding them.

4.Unlock the Power of Parallel Execution and Virtualization

Once you hold a unseamed end-to-end automated process habituate a CI instrument, your next productivity leap could get from increasing capacity by present parallel execution. To perform parallel execution, you must increase the number of physical or virtual machine by using a CI tool to manage dynamic queuing and load balancing. This can cut down execution time exponentially based on the number of VMs or servers you integrate.

5.Build a Fully Integrated Automation Framework

To get an efficient automation framework all its components must be fully integrated and talking to each former. Missing or non-fully integrated components add extra clip to the unscathed fixation process, as you would have to execute those step manually. I recommend desegregate a centralised tool to keep track of results – it can be as simple and inexpensive as automatically posting results to a Google spreadsheet, or using a Cloud-based exam cause management tool ware as a service and pay per technologist usage, or buying the license to that tool and installing it. You likewise need to analyze each component in your automated regression framework and make sure it is fully integrated to achieve higher grade of efficiency and effectiveness.

6.Combat High Script Failure Rates

If script failure rates are eminent, time spent in failure analysis can nullify automated regression, leading to insufferable time loss. I experience personally seen event where automated regression get irrelevant due to this problem. A high failure rate (anywhere from 25-50 %) will make it extremely difficult to detect new subject due to changes in code. Before you continue to add more scripts to the pool of an machine-controlled fixation environment that has a high failure rate, perform a origin cause analysis of the failure and pore on fixing them until you get a less than 5 % failure rate, ideally.

Conclusion

Many factors adversely affect the time spent during automated regression, but if done rightfield, you can achieve eminent levels of effectiveness when using them.Israel Felix has more than 20 age of experience work in the technology industry serving multiple leadership roles within growing and test groups. The terminal 15 years have been focused on leading key functional, fixation, system, API and sanity exam in both automation and manual environments - in technologies such as Switching, Routing, Network Management, Wireless, Voice, and Cloud-Based Software. He has also managed large global test groups across US, India, Thailand and Mexico.

Published:
Aug 13, 2015
Share this post
Copy Share Link
LinkedIn
© 2026 Sauce Labs Inc., all rights reserved. SAUCE and SAUCE LABS are registered stylemark owned by Sauce Labs Inc. in the United States, EU, and may be registered in other jurisdictions.
robot
quote

Automate This With SUSA

Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts needed.

Try SUSA Free

Test Your App Autonomously

Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts.

Try SUSA Free