Automation Testing Notes
Automation Testing Notes
Automation Testing Notes
Automation
testing professionals collaborate with the development team to meet project deadlines,
which has resulted in a number of benefits and a lucrative career for modern-day
professionals. Here are the 51+ Automation Testing Interview Questions you should
know before your next interview.
1) What is Automation?
Automation is a word for applications where reduce human efforts. There are include
business process automation (BPA), IT automation, personal applications, business-
related applications, E-commerce applications such as home automation, and more.
3) How do you identify the test cases which are suitable for test
automation?
Identifying the particular test cases for automation is the most important part of
automation. If the test case is stable then it is beat for automation.
There are different types of automation testing. Like exploratory testing and some
other that you can automate
Unit tests: The unit test is written by developers and test small units of code in
isolation.
Integration tests: After performed Unit testing, all module is merged and then we are
performing integration testing to verify how all component work combine together.
Regression tests: In regression testing, we are testing like updated code didn’t break
any existing working functionality.
Performance tests: Here verify that the application won’t crash under heavy load and
stress.
UI tests: Test there is all text and images are displayed properly, and there are no
broken graphical elements on the page.
A human executes the test cases one by one Test cases are executed by any
his/her self, without any software help it is automation testing tool, without human
called manual testing efforts It is automated testing.
Useful for non-repeatable tests that involve Useful for repeatable test cases where
human skills, involvement, and domain the application feature under test doesn’t
experience. change frequently.
Good for accessibility and usability testing, Good for regression testing to make sure
as the tester can test the software as end- that the software didn’t break after
user point of view. updating code changes.
Can be slow and more time-consuming, and It’s run by a computer, so there are no
sometimes getting errors because of human chances for error, and test case execution
misjudgment. is fast.
UI issues and some variances are easily In automation testing, we cannot cover UI
found by a human tester. issues.
performance Testing is impossible to test Performance testing can be easily done
with extreme load by a human tester by automation testing.
The tester doesn’t need knowledge of To write automation test cases, the tester
programming. needs to have programming knowledge.
Here some are criteria based on that we can evaluate the tools.
Some tools require knowledge of programming, while some tools don’t require, without
any skill of programming allow to create test cases with visual assistance. so, in that
situation, you can choose your tool based on your team’s experience and skill-set.
• Commercial vs. Open Source.
There is a more difference in the price of the tools it is based on the feature which they
are provided. Most commercial tools are more expensive, but they get tech support if
you are facing any issue.
Open-Source software is free, but you have to search if you are in trouble.
• Ease of use.
Some Automation testing tools are difficult to using and required training before using
this tool. Some are easy to understand we can use without any training.
Some of the most famous automation tools like Katalon Studio, Selenium, UFT,
TestComplete, Testim, etc., and many more. You can choose anyone based on the
requirement of your project, assess the team’s skills, the experience of all team
members, and comfort with the tool.
Generating test data is the main problem of automation testing. A good test case
automation framework is making it easy to build test data for the application at the
testing time
Testing Libraries
A Good automation framework provides libraries so test management make easy and
also support different types of testing like integration testing, unit testing, and end to
end testing
Testing Tools
1. Includes any GUI or command-line tools that make it useful for testers to run
the set of tests again and again.
2. Testing tools are also useful for a tester to perform load and stress testing
We can not automate all types of testing. Some types of testing are only done by
human testers like interface testing, usability testing, and accessibility testing.
Exploratory testing is another type of testing where a human tester can test better than
automation testing. A human can provide more scenarios and tester more explore the
software randomly and tried to find UI bugs easily as compare to automation testing.
Automation testing is useful for large projects where complex calculations and
repeated test cases are available.
A test environment is a computer or a server on which a tester can test the software
or applications. After the developer team builds the software, the tester installs it on
this computer or on a server with all its required dependencies, like the production
environment. This allows the tester to test the software or application with the real-
world scenario.
These allow the tester can make a duplicate copy to reproduce the same bug for
reporting and the test can provide the exact steps to a developer to fix them.
Regression testing is a testing technique where makes sure that updated code is not
affected by the existing working functionality and didn’t break any working functionality.
The main foal of regression testing is to make sure that previously tested and working
functionality still works fine after adding new changes in code.
In automation regression testing, the tester runs the regression suit after every new
release of the software. If a test case is a pass then the tester can move to the other
type of testing and if a test case is failed then wait until the developer fixes this broken
functionality.
There is more benefit of automation testing like efficient and fast, repeatable tests and
also there are few risks with automation testing which are described below:
Negative ROI
• The automated test requires more code and expensive tools. Testers need to
spend more time learning and implementing automated tests.
• As per the experience, the team realizes that the testing strategy, while the
software is complex with continually changing features. Tester also has to keep
changes continually.
Before start the Automation testing, the testing team spend more time learning and try
to code with different tools and technologies because experience is more required in
automation testing and then realize its original promised value
Maintenance Risk
• Testers need to maintain code with all changing functionality and fixing the
bugs.
• Instead of creating new features most of the time tester working on that test
case which is failed
Automation testing has a life cycle same as the software testing life cycle and software
development life cycle. Some of the major phases of the automation testing life
cycle are described below:
17) How to decide the tool that you should use for Automation
testing in your projects?
1. You have to understand the project requirements and identify the test scenario
which you want to automate.
2. Found best tools that support your project requirement.
3. Decide your budget for automation tools and as per that select tools under your
budget.
4. Identify skilled resources if you have If you don’t have then need to identify the
cost of training of your existing resources or hiring new resource if resources
are not available.
• Coding principles.
• Taking care of the test information
• Managing and taking care of the components of the framework
• Managing of environment documents and properties record
• Reporting of information
• Dealing with logs
20) What are the various types of automation tools you are
familiar with?
There are two types of automation tools available in the market which are as follow:
• Keyword-driven structure
• Data-driven structure
• Hybrid structure
• Linear Structure
23) Is there any type of test that you think should not be
automated?
The significant obstacle for analyser’s is to study programming/coding when they need
to automate. Since analyser’s don’t code, adjusting to coding is a bit hard for
analyser’s.
An automation testing structure is liable for making a test utilization with an instrument
to interface with the application under test, take input from a document, execute the
experiments and create the reports for test execution. An automation testing system
ought to be autonomous of the application and it ought to be not difficult to utilize, alter
or expand.
• Test Assertion Tools: This device will give a verification guarantee to testing
the normal qualities in the application under test. For Example. TestNG, Junit,
and so forth.
• Data Setup: Each experiment needs to take the client information either from
the data set or from a record. So this module ought to take care of the data that
is utilizing in the script.
• Build Management Tool: Structure should be created and sent for the
utilization of making test scripts.
• Continuous Integration Tool: This device is needed for coordinating and
sending the progressions done in the structure at every cycle.
• Reporting Tool: This device is used to obtain end results.
• Logging Tool: This device helps in the event that our contents run for longer
hours (say daily mode), if the content fails anytime, having the log document
will assist us with identifying the area alongside the sort of defect.
Manual testing can be preferred over automation testing due to the following reasons:
• The task belongs to a short time period and composing content will take a lot
of time to run and is expensive when contrasted with manual testing.
• Adaptability is required.
• Ease of use testing should be performed.
• Applications/module is recently evolved and has no past experiments.
Pros:
Less HR
Dependability
Cons:
Automation testing can be both Black box or white box sort of testing relying upon the
situations wherein it is performed. In some situation test scripts needs to access
information base i.e. Database specification that is utilized in the application under test
or some additional coding specification and accordingly can be a sort of white-box
testing.
the estimate can depend on the Test case scenario’s complexity and length. I did
automate 3-6 test scenarios per day when the complexity is limited. Sometimes just
1 -2 test scenarios in a day when the complexity is high.
Having a talented staff that includes professionals along with the newest and smartest
graduates or fresher can help us determine successful completion of testing. We can
measure the effectiveness of automation testing in relation to risk and then
differentiate risk high to low priority and start the automation of high priority risk, Risk
with high priority can be automated first also we can track the high priority risk that has
been mitigated by the automated tests.
Test Scripts are line-by-line descriptions that contain information about the system
transactions that should be performed to validate the application or system under test.
The test script is a combination of different test steps that should be followed to test
the functionality.
1. Record/playback:
In this method, the tester needs to write code instead of just recording the user’s
actions. However, if we find some issue then the tester will need to do some coding to
fix that and check it works as per expectation.
2. Keyword/data-driven scripting:
In this method, there is a dissociation between the testing team and the development
team. In the Data-driven scripting technique, we keep data in different repositories.
In this method, there is a dissociation between the testing team and the development
team. In the Data-driven scripting technique, we keep data in different repositories.
X- path: X-path is used to identify a locator in a webpage, firstly we tried to find the
element using id, by CSS selector, etc, if the element is not found using this we used
x-path to find an element on a webpage.
Type Of X-Path:
1. Absolute X-path
2. Relative X-path
1. Absolute X-path: It’s the direct way to find the element, but the disadvantage of
the absolute XPath is that if there are any changes made in the path of the element
then that XPath gets failed.
Example:
//body[1]/div[1]/div[1]/div[1]/div[1]/main[1]/div[1]/article[1]/div[1]/div[1]/div[2]/div[1]/div[
1]/h4[1]/b[1]
2. Relative X-path: It starts with a double forward-slash (//). we can search elements
anywhere on the webpage, using relative XPath.
Example:
//b[normalize-space()=’Testing’]
40) Do you know, what is the difference between “/” and “//”?
Single slash and double slash are always used in a path expression, by using this
symbol we usually find elements or attributes in an XML tree. A path manifestation
consists of one or more steps that direct the XPath processor along one or more
subdivide of the tree to the nodes that will be selected.
Usually, single slash and double slash are generally used to create XPath by which
we can find any element/locator on a webpage. single slash is used in absolute XPath
which selects an element from the root node.
double slash is used to find out relative XPath which finds an element from anywhere
on the webpage.
41) Explain Tree View in Automation Testing?
A tree view in Quick Test Pro has statements in” keywords “or we can say statements
in a “tree structure”. In a tree view, the statements are in a tree structure. Here, the
statements are nothing but steps that were taken to test some features or modules of
an application to determine it works as per user requirements.
42) What Features will you look out for in an Automation Tool?
Automation scripting technique defines different parameters like how to treat the object
repository, the coding standards followed during automation, and data handling,
among different modules, the automation scripting we should follow for test automation
are:
1] Linear Scripting Technique:
This technique is the simplest of all the scripting techniques which follow a simple
‘Record n Playback approach, where each test case is executed manually step by step
so, we have the QA team record every step which is executed.
Pros
Cons
Pros
Cons
• high cost
• data is hardcoded
• less secure
The Data-driven scripting technique is all about separating data and script in different
places. this method keeps data into an external repository as files.
Pros
Cons
• time-consuming
Pros
• Structured scripts
• Low cost
Cons
Usability Testing is one of the major challenges in automation testing, usability tests
are just not possible with automation testing because usability testing requires a
human to check the ease of use while using the application. we can’t train a computer
to identify usability respective to humans. also, we cannot automate captcha in
automation if we are going to think to skip captcha we cannot proceed further we need
humans to proceed further. These are some limitations in automation testing.
The presence of automation testing and manual testing forces us to think about our
choice, of tools, number of resources, their cost, and the benefit provided by different
tools. Is automated testing replacing manual testing the answer is No, Manual testing
helps us understand the entire problem and explore new things. Automated testing
helps us save time.
6-step that should be considered every time when we are automating a web
application are:
1. Functional testing: The first step which we should consider while automating web
application is functional testing, functional testing ensure that the functionality of web
application is working properly and it returns expected output.
2. Usability Testing: Usability testing refers to the ease of use, usability is a way to
see how easy to use something in terms of user perspective. Usability testing
determines how easily a user can access the application and work on it, it’s being
observed by a researcher, to see where user encounter problems and experience
confusion, if more user encounters the same issue, recommendations will be made to
overcome with this issue.
5. Performance Testing: After ensuring that our applications are working as expected
on different platforms, it’s time to check the performance of web applications. In
performance testing, we test our web application under heavy load and stress and
check how our application reacts to heavy load and determine the breaking point of
our application.
6. Security Testing: Security testing makes sure that our application is secure against
unauthorized access and harmful actions through viruses or other malicious software.
• It makes sure that secure pages, data can be accessed after a license.
• Verify that the web applications’ follow proper SSL.
• Make sure that restricted files cannot be downloaded without a proper license.
the methodologies allow quick detection of bugs when they are introduced in the
system and results in feedback for development.
47) What are some good coding principles to keep in mind when
automating?
Do not rely ONLY on UI test automation try to test load, performance, and usability
testing of the application.
48) What do you do now that you’ve found your automation test
tool?
After identifying the automation testing tool the next step should be a resource and
test planning, after that, we can look for what reporting tool we can use in our
automation. A better test planning results in the early execution of the test which will
result in a high-quality product.
the main reason for testers to refrain from automation is to learn programming/coding
when they want to automate software applications, as we all know that testers have
less knowledge of programming/coding, so this will become challenging for the tester.
this is a process where the user has to be asked to perform a certain operation such
as enter the text written in the image or click the same image from a set of the different
images that match the required criteria, or click on the checkbox.
captcha is usually used to check whether the user is a human or robot. since this task
is dynamic, and it can only be completed by humans only with human cognizance and
correct interpretation of information-areas where artificial intelligence of bots tends to
fail.
CAPTCHA can be automated if you are able to decode the image using OCR, OCR
stands for Optical Character Recognition. This will be the only solution to bypass
CAPTCHA but it will not automate it. Users will always have to enter the CAPTCHA
themselves while we can automate another text field.