Seeking project ideas for OpenMRS QA Fellowship Capstone Project

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.

cc: @jayasanka @ibacher @kdaud @dkayiwa @jennifer @grace @dkigen @raff

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.

3 Likes

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.

1 Like

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 .

1 Like

Hi @piumal1999 ,

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.”

1 Like

Yeah, it seems interesting. Do you have any suggestions for an automated performance testing tool/framework?



By the way, I have updated my project plan based on the discussions we had in the last few weeks. Now the project will be focused on the following:
  1. Fixing the resource limitation issue with running e2e tests on esm-patient-chart.
  2. Improving e2e test coverage of esm-patient-chart, patient-registration, esm-form-builder, and other o3 repositories.
  3. Implementing manual test plans for the main functionalities.

@jayasanka Could you please take a look and review the updated project plan? I would greatly appreciate your input.

Thank you!

1 Like

This might help: https://github.com/GoogleChrome/lighthouse-ci/blob/main/docs/getting-started.md