Developing and Testing Software for DNA-Sequencing Machine

Highlights

  • Advanced BioTech Solution Development: Implemented a workflow where blood test data is processed through Connecting Software and the DNA-sequencing machine.
  • Time Savings for Testing Efforts: Significantly improved testing efficiency, with the Software Quality Assurance dashboard and automated tests achieving 3x-4x time savings compared to manual efforts.
  • Ongoing Support: Continued assistance with software testing and quality assurance since project onboarding in 2019.

Client

Our client, Roche, is a Basel, Switzerland-headquartered pharmaceutical and BioTech multinational organization, with a history spanning more than 126 years. They are the world’s #1 pharmaceutical company and a leading provider of cancer treatments globally. Roche employs more than 100,000 people across 150 countries.

Website:
Country
Industry
Team Size:

Product

The product is a medical device simulator, more specifically a DNA-sequencing machine. It simplifies the analysis of multiple DNA samples. The machine then sequences the DNA, and the resulting data is sent for further automated analysis or manual review by medical professionals. 

Goals and objectives

Roche chose us as the provider of choice for the project through a referral by one of its technical officers, who had previously worked for a major eCommerce client of ours. The client asked us for technical assistance in several important areas: 

  • Develop Software for DNA-Sequencing Machine: Deliver a medical device simulator that will analyze DNA in blood tests.
  • Resolve Any Incompatibilities Between Hardware and Software: We needed to establish a thorough testing process using the simulator software to ensure the DNA-sequencing machine’s hardware and new software features work harmoniously.  
  • Perform Remote Testing of DNA-Sequencing Machine: Provide remote testing services for Roche’s DNA-sequencing machine, ensuring that all features function as necessary in a real-world environment.

In addition to the testing of Roche’s DNA-sequencing machine and development of the related simulator software, our experts also needed to engage in several more activities as part of the сlient’s in-house team. In particular, those activities included migrating tests from the legacy testing framework to a new one and helping further enhance the product.

Project challenge

  1. Limited Access to Project’s Resources: The COVID-19 pandemic-related lockdown slowed down the project’s progress due to limiting our experts’ on-site access to the client’s California-based laboratories.
  2. Time Zone Differences: The client and us had a 10-hour time difference. We installed a number of webcams on the DNA-sequencing machine and launched online streaming for monitoring changes in the software. However, it also enabled our team to conduct testing even when the on-site team is not working.
  3. Adjusting Agile Processes: We needed to refine the project’s Agile processes, making our regular meetings as productive as possible by excluding people who were not essential to the calls.
  4. Adapting to a Client-Defined Technology Stack: We put efforts into adapting to specific, pre-existing technologies, which was unfamiliar to our team before the project.
  5. Distributed Testing-Related Information: Data was stored across multiple data sources, which required additional efforts from our side in order to access and consolidate it.

Solution

DNA-Sequencing Machine Development

The primary area in which our client needed assistance was developing software for Roche’s DNA-sequencing machine. This machine analyzes multiple DNA samples concurrently. 

We set up the following workflow for this software: 

  1. As a person takes a blood test in a lab, the related data is submitted to a system called Connecting Software. 
  2. The obtained DNA sample is then submitted to the DNA-sequencing machine that performs the DNA-sequencing process. 
  3. Next, the sequenced DNA samples are transferred to other machines to be further analyzed automatically, or to doctors and scientists, who analyze them manually.

Any new APIs that were added to the system’s embedded software to enable its interactions with the controlling software, needed to be tested to make sure that they worked properly. However, there was a risk of getting the client’s hardware damaged if there happened to be any incompatibilities between this hardware and any of the newly added features. Because of this, the client engaged us to develop simulator software that would allow virtually testing the features added to their DNA-sequencing machine.

Testing and Quality Assurance

While testing the client’s DNA-sequencing machine, our experts determined the adjustments that needed to be made to the system’s software or hardware to achieve the maximum efficiency of the interactions between them.

Initially, the remote testing of the client’s embedded software posed a significant challenge. We had to work with a liaison in the client’s U.S. laboratory, who would monitor the machine’s response to certain actions and send reports to our testing team in Ukraine. This approach had remained productive for a while, but shortly became inconvenient as the team grew.

In order to optimize the process, the client’s Senior Software Engineering Manager installed a number of webcams on the DNA-sequencing machine and launched online streaming. This allowed our team to see how the machine was responding to changes in the software. It also became possible for them to run tests at any time of the day.

To eliminate the testing-related risks, we developed medical device stimulators. This software emulated the interactions between any newly developed functionality and the hardware of the DNA-sequencing machine. Thus, it allowed testing the features being added safely. Besides, our stubs help achieve time savings for the client: 6 or 7 teams at Roche can reuse them to test some other software on other, similar machines.

To improve the testing process, our team also developed a Software Quality Assurance (SQA) Dashboard. This application allowed monitoring the testing progress by collecting and storing testing reports for multiple projects. It included such parameters as the test execution time, reasons for test failures, number of failed tests, and so on. It was possible to use the dashboard for any project at Roche, and 7 of their development teams had been using the software for a considerable amount of time.

Tech Stack

  • Spring Boot Spring Boot
  • Angular Angular
  • Java 8 Java 8
  • Google Cloud Platform Google Cloud Platform
  • MySQL MySQL
  • Git Git
  • Auth0 Auth0

Our results

We onboarded the project in 2019 and are still assisting Roche with software development and testing. Our project team continues to provide automated and manual testing services, develop simulator software, perform business analysis, and expand the solution’s Software Quality Assurance dashboard.

Significant achievements at this project include:

  • Secured Business Processes: We have dramatically reduced the possibility of damage to Roche’s DNA-sequencing hardware and software during the testing of edge cases.
  • Saved Testing Time: Developing the Software Quality Assurance dashboard improved the testing process and created significant time savings for the client’s other teams. 
  • 3x-4x Testing Time Savings: Automated tests our experts created accelerated testing compared with manual efforts. At the same time, Developing the Software Quality Assurance dashboard improved the testing process, making it more seamless.