O3 RefApp QA Strategy

This page is a high-level outline of the practices and principles followed for Quality Assurance of the 3.x Reference Application. 


Goals 




Table of Contents

Practical Application

Code Analysis

  • Linting: We use ESlint
  • Typechecking: We use Typescript
  • Results are should shown to devs at time of PR, for fast feedback turn around times.

Unit Tests

Regression Testing

  • IN PROGRESS: Bug Policy: When you fix a bug, the fix should generally be accompanied by a test for that problem to prevent that same problem in the future.
    • When a regression cannot be unit tested, an E2E test case should be provided instead. (Product team discretion advised.)

Performance

  • Load times: 
  • Load testing & scope of load tested: 
  • Relevant Epics in-progress: 
    • Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.
    • Unable to locate Jira server for this macro. It may be due to Application Link configuration.
    • Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Build & CI Tooling

  • Frequency of build status checks: Done weekly at minimum; also part of OpenMRS QA Dashboard here
  • 3.x Distro Build in Bamboo CI: here
  • TODO: Monitoring Solution / Automated Site Smoke Tests

Integration Tests

  • TODO:  Mock Integration Tests
    • Run sample E2E tests against each PR without needing a whole new distro re-built. 
    • Next step: Build a framework for doing this, and build it into esm-patient-chart as a starting place - establish the patient chart integration tests. Something that, once set up, can be maintained by everybody. 

E2E Tests

  • Our current E2E tests use the actual server. Currently working to dockerize these. 
  • Dashboard and inventory of Cypress&Cucumber-based BDD tests: here
  • Overview of E2E Tests' Workflow content: here