Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Update final presentation


Primary mentor

Jayasanka Weerasinghe                               

Backup mentor

Assigned to

Pasindu Rupasinghe 

Abstract

The current 3.x E2E tests can be further improved by doing the following,

...

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.

Run tests against Pull requests

Currently, we don’t have a mechanism for running tests against Pull requests. As a result, no failures can be detected until the changes are merged and someone run the tests manually. It makes it difficult to detect root courses as well as to engage developers. We need a proper way to run these tests against the changes in pull requests.

Improve developer engagement

...

  • Automated software testing
  • CI/CD Pipelines
  • Containerized applications
  • Single-page applications and Micro-frontend architecture

Project Rating and length

EasyMedium

175 hours

Objectives

  • To improve developer engagement
  • To improve the reliability of testsTo run tests against 3.x related Pull requests
  • Extend test cases


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 O3Running tests against an unmerged version
  • Fixing the screen recording feature.

Documentation

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.

  1. Improving the reliability of tests.
    1. Localize the test environment.
    2. Implement functionality to avoid data mutations.
    3. Fix the existing failing test cases.
    4. Integrate test results with the QA dashboard.
  2. Improve developer engagement.
    1. Document the setup of the local instance test environment.
    2. Get QA developers more engaged with the testing tool.
    3. Improve documentation for the 3.x automated testing tool.
  3. Extend test cases.
    1. Design new test cases for OpenMRS 3
    2. Write new test cases.

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.

  • Fix existing failing test scenarios
    1. Login
    2. Patient Registration
    3. User settings
    4. Clinical visit

    5. Vitals and triage

    6. Patient search

  • Integrate test results with the QA dashboard.
    • Set up 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.

  • 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

Widget Connector
urlhttps://www.youtube.com/watch?v=v_nBc8pA-Zo

Resources

OpenMRS 3.0: A Frontend Framework that enables collaboration and better User Experience

OpenMRS 3.0 Micro Frontend Demo Page