Quality Assurance

At OpenMRS, we are trusted by our users to deliver a high-quality product every release. We believe in proactive quality assurance over reactive quality assurance, but acknowledge that in software delivery both are required at different times. As a community developed codebase, Quality is a shared responsibility between the developers, the quality assurance team, the release manager, the product managers and business analysts, and our partners and their users. Our mission is to ensure that every team member understands the importance of quality and feels a responsibility and ability to contribute to the development of exceptional software.

We'd love to hear from you. We hang out on the #qa channel and https://talk.openmrs.org/c/dev/qa/33 category on OpenMRS Talk.

Our Principles

  • Promote a Culture of Shared Quality Responsibility

    • Embed quality practices early in the development process.

    • Incorporate quality checkpoints throughout the development and release lifecycle.

    • Include the voice of our users, ensuring their feedback informs product improvements.

    • Advocate for strong software design, rigorous testing practices, and proactive bug prevention.

  • Enhance and Optimize Test Coverage

    • Ensure all tests are executed at the most impactful stages.

    • Provide clear and actionable test coverage reports to teams.

    • Continuously refine our testing processes to eliminate redundancies, address gaps, and improve stability.

  • Increase Team Efficiency and Engagement

    • Develop automated solutions to streamline core workflows and boost productivity, but acknowledging that not everything can or should be automated to preserve maintainability of our QA processes & solutions.

    • Maintain reliable tools and tests to support continuous integration and delivery.

    • Ensure our CI pipelines are efficient, stable, and provide comprehensive coverage.

  • Data-Driven Decision Making

    • Provide insights into defects, test stability, efficiency, and team performance through data.

    • Make actionable data transparently available to the team and community.

    • Use metrics to inform decision-making and drive continuous improvement.

 

QA Roadmap

Done

Recent Work Completed

Now

What We're Working on Today

 Next

Next Priorities*

Optimizing E2E Testing: Reducing Time and Resource Consumption

Optimized the E2E testing process by using a pre-filled Docker container with a pre-built frontend instead of the dev server. This change reduced test execution time by over 75% and minimized resource consumption by more than 80%, resolving the persistent failures in GitHub Action builds.

Openmrs3 FELLOWSHIP  

OpenMRS 3.0 E2E Test Automation

As development of OpenMRS 3.0 progressively evolves, so are the tests being developed using the Playwright integration. Ensuring the two processes are happening simultaneously.

Openmrs3 Volunteers  

Legacy selenium test rewrite to Cucumber Framework

Legacy selenium tests are being translated to the cucumber framework for the purposes of maintainability and eliminating dependencies that arose when the tests were migrated to the QAFramework module. 

 UW ITECH  Volunteers