As part of my OpenMRS Fellowship capstone project, I aim to enhance the QA process of OpenMRS3 by improving the CI/CD Pipelines and streamlining the Manual Testing Process.
The existing CI/CD pipeline in OpenMRS lacks sufficient test coverage, reporting, and integration with Jira. Insufficient mechanisms for test execution and reporting pose challenges in identifying and resolving issues, leading to reduced efficiency.
The objective of this project is to enhance the Quality Assurance (QA) process of OpenMRS3 by strengthening the automated tests within the CI/CD pipeline and enabling comprehensive test reporting. Additionally, I will focus on developing an improved system for managing the manual test plan, streamlining and enhancing the efficiency of manual testing procedures. I plan to incorporate the use of XRAY, a test management plugin for Jira, to support this effort.
Currently, I am working on the project plan, which you can access using the following link:
I would greatly appreciate your suggestions and comments on this project.
Thanks @piumal1999 for working on this and soliciting input from the community.
This does not seem to meet what am currently thirsting for. At the moment, a number of critical features/workflows are breaking in O3 without tests to catch them before pull requests are merged. I am longing for build failures on pull requests such that reviewers and pull request authors immediately know that their changes are going to break this and that. For now, i do not care even if this is not integrated with Bamboo or Jira or anything else. All i care about for now is GitHub. If that is achieved, with a clear documentation of how these tests can maintained and made part of the developers day to day work, i would consider your fellowship a success!
The issue of integration with other tools, nice test reports, and the rest of the things you mentioned, is secondary. I can only thirst for them after the above is addressed.
Yeah, that totally makes sense. However, we have 2 ongoing GSoC Projects which address the issues you mentioned. @ayushmishra is working on improving the unit and Integration tests while @randila is working on improving the e2e tests. We also have plans to continue enhancing the e2e tests and the documentation in our upcoming sprints. This is precisely why we came up with the idea of refining the Bamboo plans, integrating with Xray, and streamlining the manual tests.
We discussed this matter during the recent Technical Action Committee meeting and also had conversations during the coffee break calls.
Based on the information shared in the linked thread, it appears that we are unable to install and utilize Xray until the Jira migration is completed. Consequently, we will not be able to streamline the manual tests or perform other tasks related to Jira Xray. As a result, I had to remove those tasks from the capstone project plan.
As a result, I will need to revise my fellowship capstone project plan once again. I will explore the possibility creating a project proposal focusing on e2e, unit, and integration tests to enhance test coverage and quality specially in the o3 modules which are not covered by the ongoing GSoC projects .
Another task that we could consider is finding a way to automate performance testing.
Recently, @grace pointed out that the Global Good Maturity Model for digital health software tools includes the following statement in their matrix: “Performance and load testing is a part of routine releases and results are publicly available.”