Primary mentor | |
Backup mentor | |
Assigned to | Pasindu Rupasinghe |
Abstract
The current 3.x E2E tests can be further improved by doing the following,
Extending tests
The student should collaborate closely with the o3 team to identify new workflows and design tests.
Making tests more reliable
Current tests are less reliable because they are not very stable. Sometimes they pass, but there is still a chance that they will fail. Also, tests suddenly start to fail when there are new changes in the implementation. We need to look into ways to improve the reliability of tests.
Improve developer engagement
We do see a lack of engagement of O3 developers with E2E tests.
The possible reasons might be:
- The E2E tests are not yet a part of the current development cycle.
- It isn’t that easy for an O3 developer to easily get started with E2E tests due to lack of documentation.
- It is a bit hard to work with the local environment.
Required skills
We expect the student will have a thorough understanding of the following,
- Automated software testing
- CI/CD Pipelines
- Containerized applications
- Single-page applications and Micro-frontend architecture
Project Rating and length
Medium
175 hours
Objectives
- To improve developer engagement
- To improve the reliability of tests
Apart from that, we do need to achieve the following as well
- Making local test runs repeatable despite data mutations
- Handling metadata of the dockerized DB
- Syncing local setup with the latest development version of O3
- Fixing the screen recording feature.
Documentation
- Project proposal - GSoC Student Application & Proposal
- Epic - Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.
- Project updates on talk - Link
Detailed Project Report
The automated testing tool for OpenMRS 3 is a major aspect of the quality assurance team of OpenMRS. With the project, the aim is to improve the 3.x end-to-end testing framework. With the project, the following features will be implemented for the 3.x E2E testing tool.
- Improving the reliability of tests.
- Localize the test environment.
- Implement functionality to avoid data mutations.
- Fix the existing failing test cases.
- Integrate test results with the QA dashboard.
- Extend the test scenarios.
- Improve developer engagement.
- Document the setup of the local instance test environment.
- Get QA developers more engaged with the testing tool.
- Improve documentation for the 3.x automates testing tool.
Explanation of the objectives.
- Localize the test environment
- Migrate the testing environment from cloud instance to docker environment.
- Implement functionality to avoid data mutations
- Use a script to run MySQL commands to make a dump of the database and restore it before each test scenario.
- Use a script to run MySQL commands to make a dump of the database and restore it before each test scenario.
- Fix existing failing test scenarios
- Login
- Patient registration
- User settings
Clinical visit
Vitals and triage
- Patient search
- Integrate test results with the QA dashboard.
- Setup a CI/CD pipeline to integrate test results with the QA dashboard.
- Setup a CI/CD pipeline to integrate test results with the QA dashboard.
- Extend the test scenarios
- Design new test scenarios and write new test cases for the O3 components.
- Design new test scenarios and write new test cases for the O3 components.
- Improve documentation for the 3.x automates testing tool
- Document the setup guidelines for the local test environment.
- Update the wiki pages with the latest details.
Weekly Reports
Weekly report document - Link
Blog posts - pasindur2@medium
Final Presentation
Resources
OpenMRS 3.0: A Frontend Framework that enables collaboration and better User Experience