Let’s dive deeper into how we came to almost no-code test automation. Initially, Evolv relied on CucumberStudio as their BDD collaboration tool. When we started working with Evolv, they initially used it to write and run some manual test cases and scenarios. On our end, we relied on CodeceptJS, namely Puppeteer, for the automation project. Yet, we wanted to leverage the benefits of both tools and optimize the automation process and make it time-efficient and transparent even for employees with weak or no programming backgrounds.
With this approach, it is possible to significantly decrease the amount of code a QA engineer has to write to automate common test scenarios. On top of that, this setup allows manual QA engineers to contribute to test automation with minimum time spent on onboarding. Here is what they can do:
- Build up new test scenarios in CucumberStudio project (into which .feature file generated by our custom tool had been imported before) – using about 100-plus Action Words and Test Scenario Context (variables)
- Add newly built test scenarios to a test runner in CucumberStudio (with CI/CD pipeline already configured)
- Verify newly built test scenarios – passes in CI/CD
- Refactor low-level (group) Action Words in newly built test scenarios to business-logic-level ones – aka true Gherkin Phrases in CucumberStudio
It’s no breaking news that test automation can easily defeat its purpose if done incorrectly. Fixing test inconsistencies due to changes in GUI (which happen quite often) is one of the major pain points in test automation. If a button or a text box are moved, the element locator won’t find it, resulting in a failed test run. To make tests green again, the automation tester will have to modify code and push/PR/merge the changes – quite a time-consuming process.
Our approach to test automation allows reducing the time needed for such (and many other kinds of) fixes, be it changes in locators’ names or steps order. Manual QA engineers can efficiently perform this kind of edits by correcting test steps in CucumberStudio and synchronizing these changes with test runs.