Who is the Company

A worldwide company that manufactures DNA tools used in medicine, agriculture, data storage, and fighting COVID-19.

The Challenge

The company’s ecosystem included a highly dynamic application and environment. Their application UI was based on Angular.js with a microservices back-end. An e-commerce application uploaded customer order files, produced a price quote, and handled invoices. They used Salesforce Data Cloud (SFDC) to review order details like shipping, billing, and handling payments. The company developed a custom back-end microservices application framework that moves customer orders through the actual product planning and production process. The image shown here illustrates the company environment.

Prior to GSPANN's involvement, the company's development team pushed changes to its MES application modules directly to the live servers. Although a separate team handled the e-commerce and SFDC testing, there was no testing of any MES applications other than end-user acceptance testing (UAT). Since there was no formal end-to-end testing infrastructure in place, the company had no way to confirm the viability of an order from beginning to end. Even worse, no consistent documentation was available to help build the testing infrastructure.

This approach was adequate when the company first started; however, its application production quality had declined as the business expanded. Various industry studies have shown that a bug caught in development takes significantly less time and resources to resolve compared with the amount of effort required to resolve a bug that has reached the user acceptance stage. Therefore, one of the primary objectives established by our QE team was to catch bugs early in the development process.

Another challenge our team faced was inadequate test coverage. For instance, although the company allowed its customers to upload spreadsheet data in various formats such as Excel, CSV, TSV, or FASTA, they only performed testing for Excel. Significant gaps in test coverage were also present in the e-commerce application.

To summarize, the company was looking for:

  • A solid end-to-end testing infrastructure: The company needed a testing platform to cover the front-end UI and back-end microservices. They also needed to develop Jira workflows from the ground up to build a wide-ranging test automation platform.
  • Comprehensive coverage: An industry-standard methodology to determine the combination of tests needed to be established along with a solid testing infrastructure to efficiently test all possible situations.
  • A way to catch bugs early in the development process: Initial analysis by our QE team found that 43% of the bugs originated in the development phase and 23% during integration QA testing. The remaining bugs were not discovered until they had reached UAT. Bugs need to be spotted much earlier in the development cycle to improve overall application development efficiency and quality.
  • The elimination of most manual processing: Both business units and the application production team performed a great deal of manual processing. This resulted in pausing of either order production or application development, which negatively impacted the company’s productivity. The company was looking for a way to automate these processes.
  • Lengthy delays in moving orders between stages: Each DNA synthesis product is unique and complicated to produce. In extreme cases, the company's business team had to directly call upon the application production team to move a customer order from one stage to the next. In one such example documented by our QE team, an order took three days merely to move from the supervisor to the planning stage! The company desperately needed a way to ensure that customer orders could efficiently move between stages.

The Solution

The solution involved three main phases: getting a clear picture of the current problem domain, building an automated end-to-end testing infrastructure, and putting in place tools that would allow the company to create their own automation workflows.

We assisted the company in implementing several industry best practices to improve the quality of code being produced and decrease the amount of time taken to perform regression tests. Greater collaboration between the company business and development teams improved the overall efficiency of the production process.

Here are some key takeaways from our solution:

  • Gained a clear picture of the problem domain: Used mind maps to visualize the overall flow of a customer order. After mapping the overall application flow and development process, our QE team addressed the company’s challenges and proposed appropriate solutions.
  • Created an end-to-end automated testing framework: Rather than relying upon manually executed UAT, the company is now able to conduct automated testing of front-end UI and the MES microservices back-end. Testing automation also reduced application production delays caused when a critical lab staff member was unavailable.
  • Facilitated greater collaboration between development and business: Our automated solution allows greater collaboration between business and production and does not necessitate interrupting work.
  • Introduced industry best practices to identify gaps in coverage: Our QE team introduced the proven all-pairs testing methodology to define a minimal test set for maximum coverage.
  • Allowed the company to identify root causes of problems: Another important aspect of our solution is to offer root cause analysis (RCA). While it's important to detect severe application bugs, having the ability to determine why the bug occurred and which component was responsible is far more productive than wasting time on immediate fixes.

Business Impact

  • Reduced turnaround time by 40%: Turnaround time to run regression tests was reduced by 40%. The ultimate impact of this time reduction is that the customer orders can move more quickly through the various stages, increasing the company’s top line.
  • Critical bugs are caught sooner in the development cycle: During the initial rollout of the new infrastructure, 70% of the bugs and 100% of the severe application defects were discovered within the development phase. The ongoing impact of the new automated system is a substantial reduction in the time and resources needed to fix these bugs.
  • Automation provides flexibility and speeds up customer orders: Moving orders between stages is now highly automated. The business team can now submit a ticket to the QE team to generate the necessary automation instructions. In the next phase, the company will design their own automation, eliminating any manual intervention. In one example documented by our QE team, an order that formerly took 2 or 3 days to move between product stages now takes only 6 to 8 hours.

Technologies Used

Java. A programming language
Spring Boot. Facilitates rapid creation of Spring-based applications and includes features such as metrics, health checks, and support for external configuration
Selenium WebDriver. Supports scalable browser-based automated regression testing
Postman. A platform for building and using APIs
TestRail. Test case management, tracking, and organizational tool
Jira. Tool based upon Agile methodology that facilitates software development planning and tracking
Cucumber. Provides an automated behavior-driven testing infrastructure that facilitates collaboration between business and development
Maven. Manages the software application build process and also facilitates reporting and documentation
Jenkins. Server that facilitates test automation and provides CI/CD

Related Capabilities

Utilize Actionable Insights from Multiple Data Hubs to Gain More Customers and Boost Sales

Unlock the power of the data insights buried deep within your diverse systems across the organization. We empower businesses to effectively collect, beautifully visualize, critically analyze, and intelligently interpret data to support organizational goals. Our team ensures good returns on the big data technology investments with the effective use of the latest data and analytics tools.

Do you have a similar project in mind?

Enter your email address to start the conversation