The last we heard from the OpenMRS Quality Assurance Team, they were wrapping up a deep dive into our community’s quality assurance practices and had five key findings to share:
- Selenium is already set up for testing the OpenMRS Reference Application.
- OpenMRS core has robust CI testing in place.
- Better, more effective QA relies on the availability of documented requirements and testing SOPs.
- Our resources are obsolete and could use updating.
- Planning for testing (timelines and limited resources) is in need of some TLC.
We all know the old adage: If it ain’t broke, don’t fix it. If the community already has an automated testing framework (like Selenium) and CI testing that works, it makes much more sense to focus on tools that will address those areas that will actually improve our QA process.
With this in mind, the QA team started looking for a tool that could do three things:
- support documenting requirements,
- encourage the use of templates and SOPs, and
- improve our ability to plan and manage the testing process.
Enter CucumberStudio, formerly known as Hiptest.
Five things the QA Team discovered about CucumberStudio
In mid-February, OpenMRS QA Lead Christine Gichuki, Jan Flowers, and Jennifer Antilla spoke with Christina White, the FHIR Squad Technical Project Manager, to explore community QA processes and tools that could support the FHIR Squad’s work on laboratory information and shared health record use cases. It was during these discussions that the QA team first heard about CucumberStudio from some OpenHIE community members associated with the squad.
The team spent some time experimenting with CucumberStudio. They set up working sessions where they could focus on practical walkthroughs of developing and managing tests using the CucumberStudio suite. Along the way, they documented important lessons learned that could eventually inform guidelines for using CucumberStudio. Here’s what they learned:
- CucumberStudio is a collaborative test management suite that implements the Behavior-driven development framework (BDD). The BDD framework is designed to support test development based on documented requirements.
- It uses simple, English-like statements (Gherkin). As a result, business analysts, quality assurance specialists, and other non-technical people who document requirements are able to develop test cases in Gherkin.
- Instead of building out automated tests in CucumberStudio, it allows for integration with other automated testing frameworks – such as Selenium and Katalon.
- It also includes an established framework with preset standards and guidelines.
- The OpenHIE community is currently using CucumberStudio.
What does this mean for the OpenMRS Community?
For starters, we can continue to use Selenium as our automated testing framework. And if an implementer is interested in using OpenMRS community QA processes and CucumberStudio, they can – even if they use a different automated testing framework.
Because test cases in CucumberStudio are written in Gherkin, it nudges us to be more diligent about documenting requirements – using a standard template for writing out test cases that is similar to the format many of our manual test cases are written in.
In turn, this could lead to better planning and use of our resources. Using Gherkin and developing our test cases based on requirements clears the way for business analysts and other non-technical people to get involved in QA. Sharing the work with BAs and others means the release team doesn’t have to rely on a single developer with limited availability to do all of the QA. And instead of waiting until a release is ready to kick off the QA process, test cases based on requirements can be built out earlier in the development process.
Through their CucumberStudio trials, QA team worked up a sample prototype that covers two test cases: log in and registration, written in Gherkin and using our automated testing framework, Selenium. They are planning to hold a couple of Design Forums on June 10 and June 15 to go through these and demo how the CucumberStudio-Selenium integration works.
Everyone is welcome! More details on when and where can be found on Talk.