GSOC 2023: An effective unit & integration test strategy for O3 - Requirements Gathering


Hello Everyone, I am Ayush. I am interested in the O3: An effective unit & integration test strategy for OpenMRS3 and creating this post for understanding more about the project so that we can draft a strong proposal.

I have went through the this document for testing strategy created by @piumal1999 and how great the MSWs are for mocking the service modules. Using msw not only gives you more confident in your test but also helps in making your test faster and easy to write. It also provides some benefits like the you should not need to worry about the implementations details, your test will not fail even the end point is broken. All these benefits will lead to focus only on the user interaction without caring much about the implementation details.

However I have some doubts regarding the project which I would like to discuss.

  • Are there any frontend modules which we will be primary focusing on?

  • What will be out first goal ? Will it be to increase the test coverage by writing the test cases for the missing files or finalizing and documenting a strong testing strategy ?

  • Is there any more gaps which we need to consider in the current tests apart from the diverse testing strategies.

  • How can we ensure that we are following the sure test framework?

kindly address it. Feel free to discuss, suggest and share ideas regarding this project in this thread. I’m looking forward to collaborating with you all on this exciting project.

@piumal1999 @jayasanka @anjisvj @grace @kdaud


Hi @ayushmishra, I’m glad to hear that you’re interested in this project.

Our primary focus would be on the esm modules under esm-patient-chart and esm-patient-management since those are the most active and mostly used esm-modules at the moment.

The testing strategy is already there in the document. The first goal would be implementing the basic configurations required for the testing strategy and rewriting the existing tests according to that.

We need to ensure that those tests are not flaky.

Probably by identifying and listing down the test cases before start developing, so the QA squad can also review them.

1 Like

Hi @piumal1999 can someone without any testing bacgroud apply for this project. I have never worked on any test case and much more interested in this project. I think i can learn the trend faster and meetup with the goals of the project.

1 Like

Yeah, it’s totally fine. Anyone can apply for the project. You can refer to our existing tests and other tutorials/documentation to get some understanding of testing. However, having some prior experience with javascript/typescript would be beneficial. Feel free to apply and showcase your skills and interest in the project. Good luck!

Thank you for your response I will definitely look into that. I have been learning JavaScript and reactjs for some time now. I think it will be easier for me to transition.

1 Like

Hello @piumal1999 thanks for addressing my Queries. I want to inform you that I have submitted my proposal. Kindly Review it and provide necessary feedbacks that will be very helpful to me. Can you provide me your email so that I can add you as a commentor on my proposal?

1 Like

Hello @jayasanka @piumal1999 @anjisvj. I gave you the access to the proposal. Please have a look and provide your valuable feedbacks.

1 Like

Hi @ayushmishra and @njiddasalifu,

I reviewed your applications and added a few comments. Feel free to reach out through slack if you need further clarifications.

Thank you

1 Like

Hello @piumal1999, thank you for the review, I have tried to address the comments and updated the proposal. Please review it and let me know if anything need to be updated.

1 Like