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 Rest API Test Automation The Platform team used to manually test and track the REST API end points. The collaboration between the Platform team and QA support ensured that the tests are now tracked through the QA dashboard and automated missing REST API end points. Platform team UW ITECH OMRS Inc OpenMRS QAFramework Module Migrated the utilities and pages from RefApp distro, and uitestframework module into the openmrs-contrib-qaframework and integrated github action to run at every single pull request. UW ITECH OMRS Inc QA-KenyaEMR set up and support The QA support team has been working collaboratively with Palladium Kenya to set up a QA automation framework for the KenyaEMR. Palladium Ke. UW ITECH OMRS Inc
Platform set-up wizard test Modifying existing tests to meet current requirements of the platform team UW ITECH OMRS Inc
Integration of Heroku This is to assist in testing changes in unmerged pull requests before being merged to the master.
Opted to use github actions which replace heroku UW ITECH OMRS Inc
| Simulate 200 concurrent users to identify performance bottlenecks and ensure the software can handle high traffic without compromising functionality or speed. - Led by @Jayasanka Weerasinghe Openmrs3 OMRS Inc Test Coverage for React Form Engine Tests coverage for the React Form Engine ensures comprehensive testing of form interactions, validations, and user workflows, guaranteeing a seamless user experience. This thorough testing approach helps identify and resolve potential issues across the entire form submission process. - Led by @Jayasanka Weerasinghe; looking for more contributors for unit & integration test coverage Openmrs3 Volunteers OMRS Inc Manual QA Guide Step-by-step guide for people interested in helping with manual QA: Where to start from, which areas do you look out for, what exactly should you look for, some example test cases & scenarios. (Previous SURE TEST framework here). - Led by @Veronica Muthee Openmrs3OMRS Inc Ticket Guidelines for Clear Testability Guideline for expectations of OpenMRS community tickets: what they should contain to optimize clear requirements for better testing to confirm and check functionality. - Led by @Veronica Muthee Openmrs3OMRS Inc “How to be an O3 Release Manager” Docs Current guidance is a bit vague and seen as “magic” that “only certain people can do”. Should have clear guidance like for O2 that explain how to kick off, oversee, and technically complete an O3 RefApp release. - Led by @Veronica Muthee w/ co-support from @Jayasanka Weerasinghe Openmrs3OMRS Inc Increase Number of Quality Manual Test Contributors in Release Testing Sprints Led by @Veronica Muthee Openmrs3OMRS Inc
| Operation September:
Openmrs3 OMRS Inc Leaders: @Jayasanka Weerasinghe @Dennis Kigen @Ian Bacher Consolidate All Test Metrics on One Dashboard Currently, tests run independently on relevant repositories. The goal is to consolidate these test results into a single dashboard for a comprehensive view of the overall system health. We can utilize a tool like Xray in Jira to achieve this integration, providing a unified platform for monitoring and assessing the status of the product. Volunteers OMRS Inc Streamline Manual Testing By utilizing a tool like Jira Xray, we will be able to effortlessly create, organize, and execute our manual tests. This will allow us to conduct tests as needed, such as before major releases or on a monthly basis. Volunteers Security XSS vulnerability Testing Resurrection of sonarqube with the aim of helping the team to identify and resolve code vulnerabilities. Volunteers Documentation Revamp Developing and updating the QA documentation UW ITECH Expanding the QA portfolio Investigate and determine additional focus areas to be supported by OpenMRS under the QA testing pyramid. Proposed areas by the community: accessibility testing and performance testing QA support team Implementer X
|