The following are some of the most often asked questions in interviews for both new and seasoned QA specialists.
Automation testing is a process in which a tester's test scripts and cases are written and executed using an automation tool.
The primary purpose of Automation Testing is to minimize the amount of test cases that must be executed physically, rather than to remove Manual Testing entirely.
In the following situations, automation is desirable.
Smoke and Insanity Exams
Experiment with other data sets
Cases of regression testing
Typically, the decision depends on the return on investment (ROI) (Return on Investment)
In the following situations, automation should be avoided.
Whenever the Application under Test undergoes numerous modifications
Cases of one-time testing
Ad hoc - ad hoc assessment
The key steps in the automation process are as follows −
Choosing a Test Tool
Identify the purpose of the automation
Strategy, layout, and creation
Management of test execution
Things to consider during the automation planning process include −
Choosing the "Right" Automation Tool
If applicable, choose an Automation Framework.
List of automation elements that are in range and those that are not.
Configuration of the Test Environment
Creating a Grant Chart of Project Schedules for the creation and implementation of test scripts.
Determine Test Deliverables
In the following circumstances, automation testing is ineffective for agile methodologies.
Modifications in specifications are always requested throughout agile testing.
When Extensive documentation is essential in Agile
Only appropriate for regression tests during agile testing, such as continuous integration.
Support for test environments and ease of usage
Excellent debugging capability
Object recognition that is robust
Capabilities for object and image testing
Identifying an Object
Multiple frameworks are supported.
There are four types of frameworks used in software automation testing.
Framework for data-driven automation
Framework for keyword-driven automation
Framework for modular automation
Framework for hybrid automation
When creating automation scripts, keep the following points in mind −
Using a consistent naming convention.
For ten lines of code, there are three lines of comments.
Indentation is sufficient.
Error management and recovery situation that is resilient
Frameworks should be used wherever feasible.
The most widely used automated testing tools include −
QTP is an abbreviation for Quality (HP UFT)
The Rational Robot
The success of automated testing may be tracked by using the following conditions.
Ratio of Detecting Defects
Automation completion time and product release time efficiency
Labor and other expenditures will be reduced.
Manual software testing necessitates additional time and effort.
Constantly running the same test scenario is blunder and tedious.
Manual testing is unfeasible for particularly big and time-constrained projects.
Selenium is a free test automation library. It is employed in the automation of Web and Mobile settings. It is made up of −
Selenium IDE (Browser Addon for Recording and Playback)
WebDriver for Selenium
Grid of Selenium (Distributed Testing)
HP UFT is the new name for QTP (Quick Test Professional). It is a commercial automation tool that supports a variety of test environments, including Web, Desktop, SAP, Delphi, Net, ActiveX, Flex, Java, Oracle, Mobile, PeopleSoft, PowerBuilder, Siebel, Stingray, and Visual Basic.
VBScript is the scripting language. The tool works well enough in conjunction with HP ALM (Test Management Tool) and HP LoadRunner (Performance Testing Tool).
QTP highlights include Business Process Testing, a keyword-driven framework, XML support, strong checkpoints, and test results.
Sikuli is a graphical user interface automation tool that employs the "Visual Image Match" approach. All site components in Sikuli should be saved as images within the project.
Sikuli is made up of
Jython Visual Scripting API
The practical applications of Sikuli are as follows −
It may be used to automate the creation of flash webpages or objects.
It can automate window-based applications and everything else you see on the display without relying on internal API support.
It has a basic API.
It is simple to integrate with technologies such as Selenium.
It is possible to automate desktop applications.
Sikuli provides substantial assistance for automating flash objects.
It combines sophisticated "Visual Match" and Flash objects to automate desktop.
It is compatible with any technology-.NET, Java, etc.
|It offers significant assistance for automating flash objects.||It is unable to automate flash objects like as video players, audio players, and so on.|
|It has a straightforward API.||It has a complex API.|
|It finds things on the display by using a visual match. As a result, we can automate whatever we see on the display.||It lacks a visual match.|
|It can automate both web and Windows applications.||It could only automate web applications.|
Selenium has always been one of the most famous test automation technologies used by several organizations. It is, nevertheless, a highly technical tool with a big learning curve, and it may not be appropriate for all testing jobs. Several notable substitutes have arisen in recent times, which are listed here −
Cucumber - It’s an open-source testing tool that enables authoring tests in a straightforward, basic language understandable by everybody on the team. It emphasizes on behavior-driven development, in which the human-readable specification of the functionality is utilized as the foundation for testing.
Cypress makes it simple to develop and debug unit tests, end-to-end tests, and integration tests. It also enables collecting photos and recordings to aid to replicate the issues.
Robot Framework - Robot Framework is a general open-source automation framework. It will be used for test automation and robotic process automation (RPA) (RPA).
Robot Framework is an extremely popular, open-source automated test framework used mostly for robotic process automation (RPA) (RPA). Robotic process automation seeks to imitate human activities and interactions using software. Compared to actual people, robotic automation can comprehend (to an extent) what is on display, push keys and buttons, browse to links and retrieve data.
The Robot Framework is developed in Python and operating system independent. Most of the libraries in the ecosystem are also open-source. It features a modular design available for expansion with other libraries. It describes the test data in files using a particular syntax that’s exclusive to the framework. A test suite has numerous such tests.
Once you begin the implementation of the tests, the Robot Framework decodes the test data and utilizes the key phrases given by the libraries to communicate with the program. These libraries connect with the program actively or passively through driver tools.
The Robot Framework conducts the test from the command line. But, you may access complete statistics and records in both XML and HTML formats. The framework includes decent support for standard libraries out-of-box, e.g. ArchiveLibrary, Browser Library, DataDriver Library, HttpRequestLibrary (for Java), etc.
The Robot Framework offers three test library APIs.
Static API − A package or a class comprising procedures translates immediately to the keyword names that accept the same parameters as the implementing methods.
Dynamic API − The names of the keywords to apply as well as how to execute is decided at runtime.
Hybrid API − Integration of both the static and dynamic API. Libraries are classes holding the functions that inform them which keywords to execute, but those keywords must be directly accessible.
Provided a tester has established the testing environment and a test tool like Selenium, below are the procedures I would follow to automate the login feature.
Verify the login personally to comprehend all the text boxes, checkboxes, and buttons on the login screen. Keep a track of the pages the user is forwarded to in both successful and failed logins.
Create a test dataset containing the username and password combos. The inputs comprise of varied lengths and feature alphanumeric character sets.
Generate test cases to examine alternative pathways the user could take in a real-world scenario. Simply record the anticipated outcomes for every test scenario.
In the test tool, setup each test case to be directly launched, and utilize the test data provided in step 2. Note the situations where the actual output doesn’t meet the intended outcome.
Check and confirm the success/error statements and the redirection after each login session.
While test automation offers significant advantages such as efficient and reliable, repetitive tests, there are a few concerns a team should be mindful of.
A group might make a big commitment to get automated testing underway. Automated testing demand loads of code and costly tools. Developers and testers invest substantial effort in studying and deploying automated tests.
Yet, once it’s put into reality, the team can learn that the testing technique is not offering any actual benefit, as the product is complicated with continuously changing configurations and functionalities. They have to maintain the exams regularly up-to-date.
Like any product, test automation tools and frameworks go through ongoing growth. There is a strong learning path to the automation tools and really need sufficient programming skills.
Rather than choosing a tool and utilizing it properly, the development/testing team wastes their time studying and experimenting with other tools and technologies. In that instance, the automated testing might not fulfill its initial claimed benefit.
All programming has to be managed and maintained up-to-date with the increasing demands and addressing errors. Test automation code is no exception to it.
Rather than making improvements and addressing issues in the program, if developers and testers find themselves investing most of their time working on the automation framework, automated testing has flopped.