cisagov / crossfeed

External monitoring for organization assets
https://docs.crossfeed.cyber.dhs.gov
Creative Commons Zero v1.0 Universal
364 stars 54 forks source link

Implement and Automate UI Testing for Frontend Pipeline #2515

Open Matthew-Grayson opened 7 months ago

Matthew-Grayson commented 7 months ago

💡 Summary

Create and automate end-to-end test suites with a focus on UI/UX tests to ensure functionality across combinations of Crossfeed stage, user type, and browser. These tests might closely resemble user stories. Examples:

Motivation and context

Automated UI testing would cover the majority of environments Crossfeed runs in. These tests would detect UI issues before merge and would ensure that UI changes are properly applied upon deployment to their respective environments. Accounting for the following factors, there are dozens of combinations of user type/stage/browser for which to test functionality.

By not explicitly testing each combination, we risk not knowing that a UI issue exists until a user reports it.

Implementation notes

Playwright is a balanced option between feature set and ease of use. One useful feature is to generate test code by recording a developer's actions as they navigate a site. Other options include Cyprus and Selenium.

Acceptance criteria

How do we know when this work is done?

Matthew-Grayson commented 7 months ago

@JCantu248 Feel free to edit this issue. I've done shallow research into Playwright but you make a good case for Cypress.