UI Testing approach

Status

DONE

Stakeholders
Outcome
Created date

 

Owner

NOTICE

This decision has been migrated to the Technical Council's Decision Log as part of a consolidation effort.  See:   DR-000021 - UI Testing approach


Background

Improving of testing process for FOLIO UI.

Current state

  • No formal testing approach (it might be looking like a Tests Pyramid, but we don't actually work on E2E tests, only support existing)
  • Tests are for coverage
  • Some tests cover a lot of, but test nothing
  • Some modules don’t meet acceptance criteria
  • No defined toolset
  • No manual testers (only BugFest phase, what sometimes looks not good for testing due it's limited time)
  • Regression testing during quarter releases

Suggestion

  • Follow honeycomb approach (UI part is marked with bold lines on picture)
  • 70-80% unit/integration tests coverage - it's possible to use one testing tool for that so it shouldn't be a problem to count coverage for both test types;
  • Per commit unit tests execution
  • POs/QAs define set of e2e scenarios (for existing features they could be gathered from testrail, but for new features PO can define scenarios in the tickets itself, so e2e tests could be counted in ticket's estimation)
  • e2e tests are executed frequently (after merge to master, 1 per day, etc ?)
  • e2e tests don’t block environments
  • e2e tests reporting (e.g. reportportal.io)

Initial presentation from Mikita Siadykh  https://drive.google.com/file/d/1kM7OO2LmeB6YGHyYmPFvpIljHj74BFz4/view?usp=sharing

Purpose

  • To increase code quality/detect regression bugs on early stage.

Basically, we do have already DOD for tests coverage, so we can just formalize this for unit and integration tests, and check if we need to change testing tools on the upcoming meetings to provide more or less real coverage.

But for E2E tests we don't write any and if we formalize that in requirement (PO participation in what scenarios should be covered) - we can proceed with debating on tools as well on upcoming meetings. But it will be already a huge step forward for decreasing regressions, since they could be noticed even if something was changed in stripes-components, but ui-orders scenarios has started to fail.

Action items