Ideas for GSOC 2023

Hello everyone! Here’s my idea proposal.

GSoC 2023: Extending E2E Automated Tests for the OpenMRS 3.0 RefApp

Abstract

The Microfrontends Team has created a new Reference Application, the “3.0 RefApp”, which represents the future of OpenMRS. It features a modern Microfrontend architecture and replaces the previous “2.x RefApp”. Students who excel in the end-to-end (E2E) testing of this project may also have the opportunity to contribute to the frontend widget and feature development for 3.0. This is because E2E testing will familiarize them with the 3.0 codebase and there is a high demand for feature development.

At present, there are already a few E2E tests running for the openmrs-esm-patient-management repository and more coverage is expected. The goal of the project is for someone to extend the E2E tests for openrms-esm-patient-chart and openmrs-esm-core using the Playwrite framework. The tests will be set up to automatically validate the user interface based on specific workflows.

Skills Needed

  • A fundamental knowledge of OpenMRS Microfrontends is required.
  • Proficiency in frontend web development, particularly with React, is highly desirable.
  • Prior experience with the Playwright framework is a plus, although the ability to write 1-2 simple test cases with it is sufficient. The rest can be learned during the project.

Scope

Medium

Objectives

Overall Goal: Set up tests that automate realistic User Workflows for openrms-esm-patient-chart and openmrs-esm-core and show the squad the results, with a warning indicator on a shared Repo ReadMe so that no one misses failing tests.

  • The smoke tests are organized according to user workflows, reflecting a user’s perspective.
  • A limited number of E2E tests are performed on the happy-path user stories (when everything goes smoothly).
  • These tests do not cover every possible interaction or scenario. Detailed functional tests, which are beyond the scope of this E2E Workflow-based draft, are responsible for that.
  • Consider the transitions between different parts of the application, managed by different Microfrontends, when developing these tests.
  • Our goal is for business-level users to easily understand the extent of functionality coverage through reports like this, and to quickly identify areas that may need improvement.

Resources

5 Likes