Volaris - Test automation appoach
Overview
FOLIO application strives to achieve maximum automated tests coverage of functionality and in scope of this initiative Software developers have been invited to participate in test cases automation.
Automated tests are based on manual test cases from TestRail and can be automated either via Cypress (JavaScript) or Karate framework (Gherkin-like).
For each test case suitable for one of these automation types Jira tickets are created - see them linked to features:
https://folio-org.atlassian.net/browse/UXPROD-5786
https://folio-org.atlassian.net/browse/UXPROD-5509
Workflow
Workflow of Jira ticket for automation of a test case:
Type/Status | Open | In progress | In code review | Prep deployment | In QA and In review | Closed |
|---|---|---|---|---|---|---|
Cypress | Ready to be taken into work | Work in progress | Cypress test is being reviewed by someone from AQA team + Volaris mQA; | PR is merged; “FE” label is added into manual TC; manual TC is edited to “Automated”; test is verified during analysis of failed test from nightly run. | - | Verified and done. |
Karate | Ready to be taken into work | Work in progress; Karate test is executed locally (on rancher). | Karate test is being reviewed; PR usually contains successful report. | PR is merged; Test is included into next Karate nightly run. | QA checks the nightly Karate run; If passed: moved to Closed; linked manual test is updated to “Automated”; If failed/not matches with manual test: moved to In progress with comment. | Verified and done. |
Best practices for test automation:
Follow the preconditions specified in manual test case one-by-one;
Implement the assertions according to expected results
Keep the automated tests readable and easily maintainable
How to find the karate test from ticket
In “Development” accordion in Jira ticket, find the PR:
Check that test is green in PR description:
In opened PR find the changes on tab “Files changed”:
Review the scenario of added Karate test:
When reviewing make sure to check that all required data is created in preconditions, steps from original test case are implemented fully and in correct order, all assertions are present.
Useful links:
https://folio-org.atlassian.net/wiki/x/nBsV
https://folio-org.atlassian.net/wiki/x/E5ko