1. Tell us what you know about Table-Driven testing?

Table-Driven testing, also known as keyword or action driven testing uses a specified methodology for testing. The methodology divides the testing in two stages,

Planning stage: In this stage, the requirements of the application are analyzed. Thereafter the operations that need to be performed on the objects are planned. Here, the testers write the test cases based on keywords.

E.g. identifying all text fileds in the application accepting Mobile numbers. Here the keyword can be Entering Mobile number.

Implementing stage: Here the test cases are executed based on keywords mentioned above.

2. Please explain how to perform load-testing?

Load testing is done to know how well can a system handle and respond when subjected to load. It can be done by either moderately loading the system for a long time or heavily loading the system for a short time. In either approaches intention is to check the limitations of the system.

E.g. exceeding the number of users on the web, Memory management testing: i.e. uploading many pictures

3. Tell me 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

4. Tell me what kind of tests should NOT be automated?

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

5. Tell me what are Pros and Cons of automating tests at UI layer?

Pros

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

Cons

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

6. Explain difference between WinRunner and Test Director?

“WinRunner handles automation test scripts
TestDirector manages test scripts, defects and test plan”

7. Tell me what is TSL? What 4GL is it similar too?

“Test Script Language, TSL C++”

10. Explain data parametrization in WinRunner?

Data is written multiple times, while WinRunner has a repeated loop to process the data.

Download Interview PDF

11. Explain the project tree in Test Director?

Used to coordinate and manage test cases.

13. What is the purpose of the wrun.ini file?

Configuration set up for WinRunner

15. Does automation replace manual testing?

Automation is the integration of testing tools into the test environment in such a manner that the test execution, logging, and comparison of results are done with little human intervention. A testing tool is a software application which helps automate the testing process. But the testing tool is not the complete answer for automation. One of the huge mistakes done in testing automation is automating the wrong things during development. Many testers learn the hard way that everything cannot be automated. The best components to automate are repetitive tasks. So some companies first start with manual testing and then see which tests are the most repetitive ones and only those are then automated.

As a rule of thumb do not try to automate:

Unstable software: If the software is still under development and undergoing many changes automation testing will not be that effective.
Once in a blue moon test scripts: Do not automate test scripts which will be run once in a while.
Code and document review: Do not try to automate code and document reviews; they will just cause trouble.

16. How does load testing work for websites?

Websites have software called a web server installed on the server. The user sends a request to the web server and receives a response. So, for instance, when you type www.google.com the web server senses it and sends you the home page as a response. This happens each time you click on a link, do a submit, etc. So if we want to do load testing you need to just multiply these requests and responses "N" times. This is what an automation tool does. It first captures the request and response and then just multiplies it by "N" times and sends it to the web server, which results in load simulation.

17. Can you explain data-driven testing?

Normally an application has to be tested with multiple sets of data. For instance, a simple login screen, depending on the user type, will give different rights. For example, if the user is an admin he will have full rights, while a user will have limited rights and support if he only has read-only support rights. In this scenario the testing steps are the same but with different user ids and passwords. In data-driven testing, inputs to the system are read from data files such as Excel, CSV (comma separated values), ODBC, etc.

18. What is Automation?

General definition: Manual Process to mechanized process

Software Industry definition: Automation is a Microsoft technology that
makes it possible to access software objects inside one application from
other applications. These objects can be created and manipulated using a
scripting or programming language such as VBScript or VC++. Automation
enables you to control the functionality of an application programmatically.

19. What is Test Automation?

Automating Software Test process using Test Tools

20. What is Test Tool?

Test tool is software application it performs test operations based on
user instructions.

21. What are the disadvantages of Manual Testing?

i) Huge Amount of Human Resources as well as Environment (Test lab)
ii) Time taking process
iii) Less Accuracy
iv) Tiredness

22. What are the advantages of Test Automation?

i) Fast: Tools are faster in execution than human users
ii) Reliable: Tools are reliable in complex calculations and tasks
iii) Reusable: we can reuse Automated Tests on multiple versions of
Software (Ex: Sanity Tests, Regression Tests)
iv) Repeatable: we can repeat same operations with multiple sets of Test
Data (Ex: Data driven Tests)
v) Programmable: we can use flow control statements for applying logic
(Scope of Automated Tests is very high than Manual Test Cases)
vi) Comprehensive: we can execute series of Tests without human
interaction (Ex: Batch Testing)

23. What are the drawbacks of Test Automation?

i) Test design requires lot of efforts
ii) 100% test automation impractical
iii) All types of testing not possible (Ex: Usability)
iv) Debugging issues
v) Tools may have their own defects

24. What is Vendor tool and give examples?

Companies develop tools, license is required to use and get technical
support.

HP-WinRunner, QTP, LR, QC
IBM-Rational- Rational Robot, RFT, RPT, QA Director
Micro-SilkTest, Silk Performer

Download Interview PDF

25. What is Open source Tool and give example?

Source code available on Internet anybody can download and use.

Ex: Selenium, Jmeter, Bugzilla, QAwebload etc…