Software Test Automation is a software, code, or a process built using a software or a programming language to test a software or application under test to validate tests. Test Automation helps in validating checks against expected results and actual results attained by running the automation scripts/software. Test Automation software focuses primarily on automating repetitive, monotonous, and manual tasks. Some of the advanced test automation software could fully automate the validation of end-to-end process flows of a software application.
Software Test Automation has been around ever since mainframe computers became a common enterprise automation tool. Even mainframes used a Restructured Extended Executor (REXX), JCL, and other tools for automation of the testing process, resulting in productivity improvements. For client-server and GUI applications(with Windows/Mac revolution), it started with a simple codeless record and playback moving towards code-driven test automation. With the players such as Mercury (which has since become Micro Focus tool after an interim stint with +P),
Segue offering leading automation tools of the time, test automation was widely pursued as a means to fast-track testing, reduce cycle times, and improve product quality by delivering business value faster. All these resulted in the rapid growth of the software industry. How about a quick review of the past, current, and future generations of test automation? Let’s try to understand all the six generations of test automation:
First-generation (record and playback)
Record and playback using a simple screen capturing of actions.
Record and Playback tool is a tool-based feature that records the screens and plays back for validation. It is recommended for validating non-data centric scenarios such as features/menus and navigation validations.
The data-driven framework uses a modular design and use of data lookup through the use of tables, files, etc.
- Modular scripting helps the test automation engineer build a strong library that can be reused across applications, projects, and businesses, as some of the key actions and processes could be a tool-agnostic or a person agnostic automation. Record-and-playback style automation breaks apart the moment a feature, object, or interaction changes. If you have any record and playback scripts, all need to be re-automated. When it comes to modular scripting, you need to change one script; and the effort reduction for maintenance is significant.
- In a data-driven framework, data read from an external file, such as a flat file, excel, databases, or a comma-separated file is used for driving the test automation logic. In data-driven test automation, the data and test automation logic are separate. The test data in the data file is used for executing test cases by running different test functions or methods based on the value or the test data. As the name says, the data drives the test automation logic.
Third-generation (keyword-driven, reusable libraries)
Keyword-driven frameworks using libraries–
- A keyword-driven test automation framework is a table or an action-word (also known as a keyword) based test automation. In keyword-driven test automation, an action phrase/verb/word known as a keyword defines a set of actions that need to be performed on a test object in a system under test. It contains logic on how a test is executed as defined by an automation analyst. The action phrase would contain the values of the potential arguments to be used for conducting the test.
Fourth-generation (hybrid frameworks & behavior-driven)
- A hybrid automation framework is a combination of test automation frameworks, such as data-driven and keyword-driven framework being used in combination. As an example, a hybrid test automation framework combines the best of both keywords- and data-driven frameworks. A hybrid framework gives the flexibility to choose the best test automation approach for testing a test case or an application by the test automation engineer. One way a hybrid automation framework can be implemented would be to keep both the test actions and test data in an external file and used in a hybrid manner for test automation execution.
Behavior-driven test automation –
- For behavior-driven automation, a simple user behavior-based approach is used. Scripts and tools, such as Gherkin and Cucumber, are used for behavior-based automation.
Fifth-generation (programmable, driver-based frameworks such as Selenium, TestNGetc.)
It uses modular, multi-platform, programmable, and driver-based frameworks. It also uses Selenium, TestNG, Junit, and other mobile test automation tools.
Sixth-generation (AI-driven full-stack test automation frameworks (self-healing, auto-generating))
AI-driven test automation leverages AI-driven full-stack test automation frameworks, self-healing test automation scripts, self-maintaining test automation scripts, auto-generating test automation scripts, and script-less test automation.
If you are looking to make a career in test automation using Selenium, then this book is for you - Science of Selenium. You will deep dive into Test Automation, Components of Automation Framework, and Test automation framework architecture.
A step-by-step guide to understanding key concepts for Selenium Automation using examples to shine in your interview for test automation roles
- Web UI Automation with Selenium
- Selenium Coding with Other Languages Building a Test
- Automation Framework with Selenium
- Advanced Features of Selenium
- Cross-Browser Test Automation
- Tips and Tricks for Test Automation
BPB is Asia’s largest publisher of Computer & IT books. For the last 62 years, BPB has been a friend, philosopher, and guide for programmers, developers, hardware technicians, IT Professionals who have made things happen in the IT World. Check out the catalog, if you wish to learn more about Machine Learning, Data Science, Security, Web Development, and Cloud Computing. There’ more