Ans: Automation testing is a technique uses an application to implement entire life cycle of the software in less time and provides efficiency and effectiveness to the testing software.
Automation testing is an Automatic technique where the tester writes scripts by own and uses suitable software to test the software. It is basically an automation process of a manual process. Like regression testing, Automation testing also used to test the application from load, performance and stress point of view.
In other word, Automation testing uses automation tools to write and execute test cases, no manual involvement is required while executing an automated test suite. Usually, testers write test scripts and test cases using the automation tool and then group into test suites.
The main goal of Automation testing is to increase the test efficiency and develop software value.
Q2). When will you automate a test?
Ans: Automation in preferred in following cases
- Repetitive Tasks
- Smoke and Sanity Tests
- Test with multiple data set
- Regression test cases
Usually the decision is based on the ROI (Return on Investment)
Q3). When you will not automate testing?
Ans: One should not automate in following cases
- When the Application Under Test changes frequently
- One time test cases
- Adhoc – Random testing
Q4). What are the steps involved in the Automation Process ?
Ans: In the automation process, steps involved are
- Selecting the Test tool
- Define scope of automation
- Planning, desing and development
- Test execution
Q5).What are the points that are covered while planning phase of automation ?
Ans: During planning phase of automation things which has to be taken in concern are
- Selection the “right” Automation tool
- Selection Automation Framework if any
- List of In scope and out of scope items for automation
- Test Environment setup
- Preparing Grant Chart of Project timelines for test script development & execution.
- Identify Test Deliverables
Q6). In what condition we cannot use automation testing for Agile method?
Automation testing is not useful for agile methods in following conditions
- When Agile testing always ask for changes in requirements
- When Exhaustive level of documentation is required in Agile
- Only suitable for those regression tests during agile testing like continuos integration
Q7). What are the primary features of good automation tool ?
- Test Environment support and easy to use
- Good debugging facility
- Robust object identification
- Object and Image testing abilities
- Object identification
- Testing of database
- Support multiple frameworks
Q8). What are the types of framework used in software automation testing ?
In software automation testing four types of framework used are
- Data driven automation framework
- Keyword driven automati4on framework
- Modular automation framework
- Hybrid automation framework
Q9). What are the scripting standard while performing automation testing?
Ans: While writing the scripts for automation you have to consider following things,
- Uniform naming convention.
- 3 Lines of comments for every 10 lines of code
- Adequate indentation.
- Robust error handling and recovery scenario
- Use of Frameworks wherever possible
Q10). What are the most popular tools for automation testing?
Ans: The most popular test tool for automation testing are
- QTP (HP UFT)
- Rational Robot
Q11). On what basis you can map the success of automation testing?
Ans: On basis of following criteria the success of automation testing can be mapped
- Defect Detection Ratio
- Automation execution time and time savings to release the product
- Reduction in Labour & other costs
Q12). Explain what is Sikuli?
Ans: Sikuli is a tool that uses “Visual Image Match” method to automate graphical user interface. All the web elements in Sikuli should be taken as an image and stored inside the project.
Sikuli is comprised of
- Sikuli Script
- Visual Scripting API for Jython
- Sikuli IDE
Practical uses of Sikuli is that
- It can be used to automate flash websites or objects
- It can automate window based application and anything you see on screen without using internal API support
- It provides simple API
- It can be easily linked with tools like Selenium
- Desktop application can be automated
- Sikuli offers extensive support to automate flash objects
- To automate desktop it uses powerful “Visual Match” and Flash objects
- It can work on any technology-.NET, Java,
Q13). Mention what is the difference between Selenium and Sikuli?
|· It provides extensive support to automate flash objects
· It has simple API
· It uses visual match to find elements on the screen. So we can automate anything we see on the screen
· It can automate web as well as windows application
|· It cannot automate flash objects like video player, audio player,
· It has got complicated API
· It does not have visual match
· It can automate only web applications
Q14). What criteria do you consider for automating a test?
I would consider the following points to help me decide if a test should be automated:
- How often does the test need to be executed? i.e. is that going to be a regression test? Sometimes the test will need to be executed once, but with a large set of data
- How much time does automating this test will save me so that I can use my time in exploratory testing
- How important is the test to the business; i.e. is the test scenario a typical user journey through the application
- How complex is it to automate the test and how likely is it that the complexity doesn’t cause many false positives which increases results analysis time?
- How likely is it that this test catches a defect?
- How likely is it that a feature or functionality will break and what is the impact of it to the business? If it is high impact, then it should be automated to ensure it passes from release to release
Q15). What kind of tests should NOT be automated?
Ans: This interview question is similar to previous question but focuses on which tests Not to be automated and left for manual testing. Possible answers can be:
- Usability Testing – at times this can be an impossible task to perform by automation as the computer cannot efficiently judge if the system is of any use to its users
- Tests that only need to be executed once – unless the same test needs to be executed for a large dataset then it makes sense to automate
- Tests without predictable results – test automation should give us confidence in the results of the tests. If there are intermittent failures then the tests cannot be reliable and cannot be dependent on
- Tests that need to be verified visually
- Tests that need to be executed quickly. At first, writing an automated test takes longer. If we want a quick check, we should test manually, however, if that test is a good one which should be run regularly, then it should be automated in time
Q16). What are Pros and Cons of automating tests at UI layer?
- UI automated tests execute in a way that simulates user interacting with the system. So it is very good for validating user journeys and flows
- Can cover end-to-end flows that communicate with 3rd party systems
- Because tests are run against the system, they can be demoed to the customer who can understand what tests are run
- Can catch high severity or show stopper bugs
- Can check UI functionality where it is not possible to test otherwise
- UI automated tests can be very brittle (i.e. fail due to UI changes even though functionality hasn’t changed)
- Slow feedback to the team. Execution is slow as you have to wait for the system to launch and connections with 3rd party system can take a long time
- Limitation on what can be checked from the UI. There are some information that are not present from the UI
- Because tests are slow from UI, we can’t have a lot of tests running against the UI
- Can be time consuming to construct automated test scripts for the UI
- Usually have to depend on a 3rd party tool or vendor for UI testing
Q17). Why would you want to automate a test? Is it to:
- Increase test coverage?
- Improve quality?
- Save time for exploratory testing?
- Find more bugs?
- Replace manual testers?
This is a common test automation interview question and answer to this is quite straight forward. Although some of the above reasons seem plausible, the main reason why you would want to automate a test, is because you want to repeat the same test many times.