Automation Testing Basics
Automation testing is nothing but executing our test cases using an automation tool.
Automation software is used to enter the test data into the system under the test, which compares the expected and actual results and generates detailed test reports. Automation testing demands a considerable amount of investments and resources.
By using the automation testing tool, we can execute the same test case repeatedly, and it is also possible to record these test cases and re-paly when it is required.
Once the test case is automated, no human intervention is required, and hence, the ROI(Return on Investment) of test automation will be improved. The advantage of using test automation is to reduce the number of test cases to be run manually.
Manages Booking Test Scenarios
Automation testing is import because of the following reasons:
- Manual testing of all the workflows and fields are time and money consuming
- Difficult to test for multi-lingual sites manually
- Automation testing does not require human intervention, as you can run the test cases in the absence of employees
- Automation increases the speed of the test execution
- Automation helps in increasing the test coverage
End to End Automation of Flight Application
To increase the automation ROI of the test cases, we can select the test cases based on the following criteria:
- High-risk business-critical test cases
- Test cases which are repeatedly executed
- Test cases which are tedious or difficult to perform manually
- Time-consuming test cases
The following test cases are not suitable for automation testing :
- The test cases which are newly designed and not tested manually
- The test cases for which the requirements are changing frequently
- The test cases which are executed on an ad-hoc basis
Database Library in Robot Framework
The Automation Testing process includes the following steps:
- Test Tool Selection
- Define Scope of Automation
- Planning Design and Development
- Test Execution
The Test tool selection largely depends on the application under test is built on, for example, the QTP does not support for Informatica and hence the QTP cannot be used for testing the Informatica applications. It's a good idea to conduct a proof of tool on Automation.
Read a more detailed explanation for tool selection
Define Scope of Automation:
The Scope of automation is the functionalities of the application which are to be tested by the automation tool.
The following points help to determine the scope:
- The features that are important for the business
- Scenarios which have a large amount of data
- Common functionalities across application
- The extent to which business components are reused
- The complexity of test cases
- Ability to use the same test cases for cross-browser testing
Planning Design and Development:
In the planning and design development phase, we are going to create an automation strategy and plan which contains the following details:
- Automation tool selection
- framework design and its features
- In scope and out of scope items of automation
- Automation testbed preparation
- Schedule and timeline of scripting and execution
- Deliverables of automation testing
Test Case Execution:
In the test case execution phase, we are going to execute the automation scripts; these test scripts need input test data before they are set to run. Once you execute, the automation scripts provide the detailed test reports.
The execution can be performed either by using the automation tool directly or by using the test management tool, which will invoke the automation tool.
In the maintenance phase, we are going to add the new functionalities to the system under test with successive cycles. The automation scripts to be added, reviewed and maintained for each release cycle.
Maintenance becomes necessary to improve the effectiveness of the automation scripts.
GitHub with Robot Framework Flight Application
A framework is a set of automation guidelines which everyone in the team should follow and which helps in
- Maintaining consistency of testing
- Improves test structuring
- Minimum usage of code
- Less maintenance of code
- Improves re-usability
- Non-technical testers can be involved in code
- The training period of using the tool can be reduced
- Involves Data whenever appropriate
There are four types of frameworks are used in automation testing
- Data-Driven automation framework: Example: Single and Multiple data sources like Xls, XML, CSV, and databases
- Keyword-driven automation framework: Example: Robot Framework
- Modular Automation framework: Example: Test scripts
- Hybrid automation framework: Example: Test sheets that contain both the keywords and data
Working with Robot Framework Jenkins
The following are the best practices to do to get the maximum ROI of an automation tool
- The scope of the automation needs to be determined in detail before starting the project, and this process will set an expectation right from the automation tool
- Select the best automation tool, which will best match the automation requirements, instead of selecting on the popularity.
- Standards should be followed while writing the scripts for automation; they are:
Creating uniform scripts, comments, and indentation of the code
Adequate exception handling, which means, how the error is handled on the system failure and unexpected behavior of the application.
User-defined messages should be coded or standardized for error logging for testers to understand.
- Choose an appropriate framework.
- Measuring the metrics- The success of automation cannot be determined by comparing it with manual efforts and automation efforts, but we can do it by observing the following metrics:
The percentage of defects found
Based on the time required for automation testing for each and every release cycle
Based on minimum time is taken for release
Customer satisfaction of index
Based on the productivity improvement
Web Elements of Robot Framework
Automation testing is seventy percent(70%) faster than manual testing
- Wider test coverage of application features
- Reliable in results
- Ensures the consistency and improves the accuracy
- Human intervention is not required while execution so saves time and cost
- Better speed in executing test cases and Increases Efficiency
- Re-usable test scripts
- Test frequently and thoroughly
- Number of cycles of execution will be increased through the automation
Web Elements of Robot Framework
Tool selection is one of the biggest challenges to be tackled before going for automation. First, identify the requirements explore various tools and their capabilities, set the expectation from the tool, and go for a proof of concept.
Selecting the right tool for our requirement is quite tricky, but by using the following criteria may help you to find the best tool for your requirements:
- Environment Support
- Ease of use
- Testing of Database
- Object Identification
- Image testing
- Error recovery testing
- Object Mapping
- Scripting Language used
- Supports for various types of tests, including functional test, test management, mobile..etc
- Supports multiple testing frameworks
- Easy to debug the automation software scripts
- Ability to recognize the objects in any environment
- Expensive test reports and results
- Minimize the training cost of the selected tools
Web Services Automation in Robot Framework
There are several functional and regression testing tools available in the market, and the below-mentioned tools are the best-certified tools from the experts:
Going forward, we are going to learn the Robot framework, which is a keyword-driven automation framework in detail.