The Challenge

eHealth Africa (eHA), founded in 2009, gives clinicians and healthcare workers in West Africa technology tools that enable them to deliver better public health services for vulnerable communities. By providing applications and projects designed to strengthen disease surveillance and immunization activities, eHA plays a key role in public health interventions across Nigeria, Sierra Leone, Guinea, and Liberia.

As part of its mission, eHA develops critical mobile apps used by eHA health workers in the field. For example, Sense Followup, an Android app, guides workers through the processes of identifying, registering, and following up with persons who may have come into contact with the Ebola virus. Field workers also use the Sense ID mobile app to register and follow up with Sierra Leone residents who receive Ebola vaccinations.

Because Sense Followup and Sense ID users are often in remote areas with little or no cellular connectivity, the applications can’t benefit from real-time feedback if data is entered incorrectly. Thus, software testing is essential for eHealth Africa Global Informatics. “If there is a bug in one of the apps, our field workers cannot conduct their work,” says Konstantinos Dolkas, Head of Technology at eHealth Africa. “We need to ensure the software is bug-free before it’s used in remote parts of Africa.” Although the organization had relied on manual software testing, it sought to reduce testing time by deploying an automated testing solution. eHA also wanted to support its continuous integration approach. “We work in an agile development environment, and we constantly test every change that takes place in our code,” says Dolkas. “Automated testing is an important part of that strategy.”

The Solution

With Sauce Labs, we can run our full integration test suite automatically. As a result, we can make sure the functionality in our apps works and our field workers have access to the most up-to-date versions, regardless of whether they have Internet connectivity.

Konstantinos DolkasHead of Technology, eHealth Africa

To solve its testing challenges, eHA began using Sauce Labs, a cloud-based software testing solution. “We liked the fact that Sauce Labs was automated and also very easy to set up and run,” says Dolkas. The organization uses Sauce Labs with Selenium automation software to run tests using the Mocha JavaScript test framework, wd.js, webdriver.io, and the Appium mobile testing framework.

Each day, five eHA software engineers use Sauce Labs to run multiple functionality tests in parallel on the organization’s Travis continuous integration server. Sauce Labs automatically kicks off tests as soon as a new code merge takes place on Travis.

eHA also takes advantage of the video playback tool in Sauce Labs. Using the tool, eHA can record test failures and watch the scenario play back to discover the precise spots where failures took place.

The Results

Continuous integration is one of our key requirements, and we can support that with Sauce Labs. We don’t go through big testing cycles here – we do it continuously. By doing that, we can identify even minor issues as soon as code changes take place.

Konstantinos DolkasHead of Technology, eHealth Africa

Using Sauce Labs, eHA can deliver better-quality code, so its field staff in West Africa are able to complete their work without worrying about software bugs. “With Sauce Labs, we can run our full integration test suite automatically,” says Dolkas. “As a result, we can make sure the functionality in our apps works and our field workers have access to the most up-to-date versions, regardless of whether they have Internet connectivity.”

eHA also uses the Sauce Labs video playback tool to fix software problems before giving employees access to the latest versions of Sense Followup and Sense ID. “When you run tests manually and something fails, it’s very difficult to figure out what went wrong,” Dolkas says. “With the video playback feature in Sauce Labs, we can clearly see what went wrong and solve the problem earlier in the development process.”

eHealthAfrica is using parallelization in Sauce Labs to increase test case throughput and reduce overall test time. “Software testing is definitely faster for us using Sauce Labs,” Dolkas says. “And by completing our tests faster, we can speed up our development time and be even more certain that what we’ve built is free of bugs.”

Sauce Labs also fits the organization’s continuous integration model. “Continuous integration is one of our key requirements, and we can support that with Sauce Labs,” says Dolkas. “We don’t go through big testing cycles here – we do it continuously. By doing that, we can identify even minor issues as soon as code changes take place.” eHA plans to expand its use of Sauce Labs to include the testing of additional mobile apps and other projects. “Sauce Labs is one of our most important tools, and it will continue to be as we move forward,” says Dolkas.