top of page

⏱️ Cut down test times from 50 minutes to 3? Yes, it's possible. Here's how we did it.

Writer: Prashant BelladPrashant Bellad


In this case study, I recount my experience assisting a financial institution in enhancing the reliability and efficiency of its test automation system for a 12-step workflow. Initially, the institution's existing automation process was not only time-consuming, taking up to 50 minutes for a complete workflow test, but also notoriously unreliable. This inefficiency rendered the system practically unused by Test Engineers during crucial regression tasks. Upon evaluation, I identified several bottlenecks contributing to these issues.


Issues Identified

❌ All the 12 tabs were tested in a sequential flow through a single spec file

❌  As you went on testing each subsequent tab each of those tests was dependent on the previous tab setup

❌  All the required application state was set up through actual user steps. Even though this is achieved through test automation this is an anti-pattern


Here is how we worked on the problem:

☑️ So, I divided the tests into multiple spec files such that the execution time never crossed 3 minutes (for each of the specs)

☑️ We analyzed how we can leverage existing application APIs and also got a few test-specific APIs implemented

☑️ All the pre-requisite application state setup for any of the tabs was achieved through these data-seeding APIs

☑️ Now each of the workflow step’s test was independent of the other

☑️ We also enabled the flexibility of triggering all these 12-step workflow tests in parallel


"By strategically addressing the discovered bottlenecks, the team and I successfully transformed the test suite." 

Our achievements included:

✅ Evolving the tests from being flaky and excessively comprehensive to robust and consistent.

✅ Reducing the average test execution time dramatically from 50 minutes to a mere 3 minutes, significantly boosting efficiency.

✅ Enabling the independent execution of all workflow tabs, allowing for more focused and efficient testing.

✅ Facilitating the identification and resolution of tab-specific issues, independent of other functions.

✅ In the process, we also improved upon application testability


Hope you find the article a useful resource. Do share your feedback with me at hello@PristineProtech.com, visit www.PristineProtech.com to learn more about our offerings and services...

 
 
 

Comments


bottom of page