QA Automation Overview

Overview

1. What is Automation QA?

➢ Vokal QA Automation testing means running a series of test scripts to validate predetermined acceptance criteria as quickly and as efficiently as possible through our CI/CD process.
➢ It improves overall test coverage of our applications and helps catch regression issues as early as possible while also reducing the time it takes to ensure the application is compatible on all supported environments.

2. Why do we need it?

➢ Every software development group tests its products, yet delivered software always has defects. Test engineers strive to catch them before the product is released but they always creep in and they often reappear, even with the best manual testing processes. Test Automation software is the best way to increase the effectiveness, efficiency and coverage of your software testing.

Manual software testing is performed by a human sitting in front of a computer carefully going through application screens, trying various usage and input combinations, comparing the results to the expected behavior and recording their observations. Manual tests are repeated often during development cycles for source code changes and other situations like multiple operating environments and hardware configurations. An automated testing tool is able to playback pre-recorded and predefined actions, compare the results to the expected behavior and report the success or failure of these manual tests to a test engineer. Once automated tests are created they can easily be repeated and they can be extended to perform tasks impossible with manual testing. Because of this, savvy managers have found that automated software testing is an essential component of successful development projects.

Here are some of the key advantages of automation testing:

3. What type of projects should we consider for Automation?

➢ You can consider any types of project for Automation but mostly long term projects should be considered for automation. As Automation is most advantageous when repeated manual testing for a functionality is needed, if the project is small scale it doesn't always give enough time for QA to implement automation scripts. Also the time needed to maintain the automation scripts is mostly found in long term projects where it yields better results.

4. When in project do we execute Automation tests?

➢ Automation tests are mostly executed during regression testing period. As automation is to save time when doing repeated testing and regression testing is to test pre existing functionalities of the app. You can also consider executing Automation tests for smoke tests. If we have a functionality rich application it's also recommended to run nightly automation during development phase to catch bugs before QA starts Manual testing of new development work.

5. What tools are we using for our Automation?

➢ We are using a combination of tools for our Automation test framework with the Key component being Selenium Webdriver. Our framework is built around the concepts of Cucumber using Java as the programming language.

Processes & Walkthrough

Example Script 1

Example Script 2

Source: