Top 150 Software Testing Interview Questions and Answers

Introduction

An interview is a very significant phase in any IT-based career. Software testing is also not an exception. A smart interview impression increases your chances of getting hired.  Software testing is a vast field, so are the interview perspectives and questions. However, we have organized 150 most-asked software testing interview questions and answers to give you a head start for proper preparation.

Software Testing Questions and Answers

1. Mention the steps of the Software Testing Life Cycle.

  The steps of the software testing life cycle are:

Test PlanningThe test plan is designed in this phase
Test-Case DevelopmentTest cases are designed in this phase
Setting up Environment In this phase, testers configure the setup of the testing system to execute test cases.
Test ExecutionThis phase is all about executing the test cases and comparing the results with the expected output after testing.
Test ClosureThis is the final step in which the closure documents are prepared which will have the test evidence, RTM

2. Elaborate on the different methods and approaches to software testing.

 There are generally three methods of testing software.

They are:

  1. White-Box Testing
  2. Black-Box Testing
  3. Grey-Box Testing 

3. What do you know about the various stages of Software testing?

  There are mainly four testing stages.

 They are as follows:

software testing interview questions and answers

It begins with Unit Testing and ends with Acceptance Testing.

4. Explain the term “a Bug Life Cycle or Defect life cycle”

When a defect is found, it passes different states throughout its lifetime. The defect lifecycle helps to coordinate the defect status changes to the team members. This process is called the Bug Life Cycle or Defect life cycle. 

5. What do you mean by test case?

 A bunch of conditions or variables depending on which a tester can determine if the software satisfies the requirements or works correctly is called a test case. 

6. Explain the disparities of functional and non-functional testing

Functional TestingNon Functional Testing
Done before non-functional testingDone after functional testing
Depends on customer requirementsDepends on customers expectations
Describes the products objectiveDescribes the product’s procedure

7. Elaborate the terms ‘Verification’ and ‘Validation’ in Software Testing and the difference between them.

Verification: Reviewing the product without executing any type of code is verification. 

Validation: Validation is performed by executing codes for testing. For Instances, it encompasses functional and non-functional testing techniques.

8. Define usability testing and its aspects.

 Usability testing is a specific testing method where the end customer must utilize the software to see if the product is okay to use to know the customer’s comfort, perception, and time. A proper way to finalize the end-user point of view for usability and comfortability is by using various prototypes or, sometimes, mock-ups at the initial stages.

9. How do you categorize defects?

 Defects are usually categorized into three divisions.

They are as follows:

  • Wrong: When the requirements are not implemented properly. 
  • Missing: This category implements that a specification has not been apparently implemented, maybe a required facility of the customer was not appropriately applied.
  • Extra: It indicates a required facility into the product, which was not noted by the end customer. But maybe it is an attribute which the user of the product actually wished for.

10. Mention the condition of acceptance plan.

 Basically, the document of acceptance is prepared with the inputs shown below :

  • Requirement document: It indicates the exact requirement, the aspects which are obligatorily needed in the project form the customers’ point of view.
  • Input: Mostly informal communications(discussions, talks, emails and so on)
  • Project plan: The project plan that is made by the manager also works as a significant input to finalize the acceptance tests.

11. What is meant by coverage and briefly explain the different kinds of coverage techniques?

 The range for software testing to illustrate the extent to which the code is tested is called coverage. Three basic types of coverage techniques. They are as below:

  1. Statement coverage: It confirms that every line of source code is executed and tested.
  2. Decision coverage: It ensures that each decision (true/false) throughout the source code is executed and tested.
  3. Path coverage: It assures that each possible route throughout the source code has been executed and tested.

12. Briefly mention the advantages of Automation testing

 Advantages of Automation testing are as follows:

  1. It enables the execution of repeating test cases.
  2. It allows the testers to test a large test matrix.
  3. It allows parallel execution
  4. It inspires unattended execution
  5. It develops accuracy as it eradicates human-generated mistakes
  6. It reduces time and cost

13. Why do you consider Selenium a reliable tool for Automation testing?

 Selenium is one of the most popular portable frameworks for testing web applications. It allows its user to create functional tests without having any knowledge to test scripting languages. This course will gradually guide a beginner to learn the basic concepts and working procedures of Selenium. It is highly recommended to go through each of the lessons according to order and not to skip any of them to obtain a strong command over this useful framework. Some other advantages of Selenium are as follows:

  • It supports test scripts written almost all the conventional programming languages: Java, Perl, C#, Python, PHP, Ruby &.Net
  • Tests can be operated in any of these Operating systems: Windows, Mac, or Linux.
  • Tests can be operated in any browser: Mozilla Firefox, Internet Explorer, Google Chrome, Safari, or Opera.
  • It can be run with various tools such as JUnit & TestNG for maintaining test cases and reports.
  • It can be run with Jenkins, Maven & Docker to maintain continuous testing.

14. Elaborate on the different components of Selenium WebDriver.

 Various components of Selenium are:

  • Selenium Integrated Development Environment 
  • Selenium Remote Control
  • Selenium WebDriver
  • Selenium Grid

15. What do you know about the different types of locators in Selenium WebDriver?

 The address that identifies and distinguishes a web element specifically and uniquely in a locator’s web page. Various types of locators in Selenium are :

  • ID
  • ClassName
  • Name
  • TagName
  • Link text
  • PartialLinkText
  • Xpath
  • CSS Selector
  • DOM

16. Define XPath.

 XPath, also known as XML Path, is generally used to query XML documents. It is an essential procedure to locate elements in selenium. It contains a path expression with some defined conditions. Here, one can write an XPath query to locate any element on a webpage. It is designed to enable the navigation of XML documents, selecting individual elements, attributes, or any other part of an XML document to carry out specific processing. It can generate reliable locators too.

17. Compare between Absolute and Relative Path?

  • Absolute XPath

The direct way to find the element is called Absolute XPath. If any part of the path of the element is changed in the path, the XPath fails. This is one of the disadvantages of Xpath. For example: /HTML/body/div[1]/section/div[1]/div

  • Relative XPath

Relative XPath begins from the middle of the HTML DOM structure. It starts with the double forward-slash (//), indicating it can search the element throughout the web page. For example: //input[@id=‘ap_email’]

18. Brief the various exceptions in Selenium WebDriver?

 Exceptions in Selenium are identical to those in other programming languages. These common exceptions in Selenium are as follows:

  • Timeout Exception
  • No-Such-Element Exception
  • Element-Not-Visible Exception
  • Stale-Element Exception

19. When to apply the Selenium Grid?

 Selenium Grid can be applied to execute the same or any other test scripts on different platforms and browsers parallelly so that it can achieve distributed environment independent testing, test execution, and reducing execution time to a great extent.

20. How to launch the web browser by Selenium WebDriver?

 The syntax shown below can be applied to launch the Browser:

WebDriver driver = new FirefoxDriver();

WebDriver driver = new ChromeDriver();

WebDriver driver = new InternetExplorerDriver();

21. Do you really think testing should be carried out only after the build and execution stages are completed?

 Testing is always carried out after the build and execution stages. Earlier, we can identify a defect/error, the more cost-saving it is. For instance, getting a defect fixed in maintenance is ten times more expensive than fixing it while executing.

22. Explain the relationship between the environment reality of test phases shortly.

 As the test phases begin executing ahead, environment-reality gets essential. For instance, when unit testing is being operated, the environment needs to be partly real. Still, in the later phases, you will need an authentic environment, or it can be said in other words, it must be the actual environment.

23. If eradicating a defect that could have been done during the preliminary stage is carried out later. Do you think this affects the cost? If yes, how?

 If a defect is found out at the very preliminary stage, then it should be removed at once in that phase itself instead of keeping it off to fix in some other stage. In fact, if fixing of a defect is delayed for later phases, it gets more expensive. 

If a defect is found out and fixed while carrying out the design phase, it will be the most cost-saving. But it becomes more than times expensive if fixed at the maintenance phase.

24. What is meant by confirmation and regression testing?

Regression Testing: The form of software testing is carried out to assure the accuracy of a recently-changed code. It is also to confirm that the change has no negative effect on the currently existing features.

Confirmation Testing: The second test done after fixing a previously identified defect is confirmation testing or re-testing.

25. What is meant by boundary value analysis? Explain the procedure.

 A black box test design applied to observe whether there remains any defect at the boundary of the input domain is known as Boundary Value Analysis (BVA).

26. Explain Random testing.

 A test carried out by randomly generated data by using any relevant tool is generally known as Random testing. This test data is generated by an automated mechanism or most-often using a tool. With this randomly generated input, the system is then tested, and results are observed accordingly.

27. What are the procedures of arrival at an estimation for a project?

  These procedures are must to estimate a project:

  • Modulating the whole project into the smallest tasks
  • Assign each task to team members
  • Estimate the effort for finishing the tasks
  • Validating and verifying the estimation

28. Which test cases should you write first:  black box or white box? Why?

 Generally, black-box test cases should be written first and later, white box test cases. The requirements for writing the black-box test cases are requirement documents,  project design, or plan. These documents are available at the starting of that very project. On the other hand, White box test cases can never be begun in the starting phase of a project since detailed architecture clarity is required for white box testing. But that is not available at the initial phase of the project. So white box test cases are usually written after the black-box test cases.

29. What do you know about the fundamental components of the defect report format?

 The fundamental components of defect report format encompasses the following points:

  • Project Name
  • Module Name
  • Defect detection time
  • Defect detector’s Name 
  • Defect ID
  • Defect Name
  • Screenshot of the defect
  • Priority and Severity status
  • Defect resolver’s Name
  • Defect fixing time

30. Do you think Automation testing in agile methodology to come handy?

 Automation testing is essential in agile methodology and allows in gaining maximum test coverage in the shortest possible time of the sprint.

31. Mention the categories of test cases that can be automated?

  • Regression test cases
  • Smoke test cases
  • Complex calculation test cases
  • Non-functional test cases
  • Data-driven test cases

32. Which are the conditions of mapping the success of Automation testing?

 By following these conditions, the success of Automation testing can be mapped:

  •  Ratio factors regarding Defect Detection
  • Automation execution time and its contribution to time effectiveness of the project
  • Reduction in other expenses

33. Elaborate on Load Testing on websites

READ  The Best Free VPNs for 2020

 To enter a website, a user submits a ‘request’ to that particular website’s server, and the server returns a response as the website you requested to enter. During Load testing of a website, quality assurance engineers and automation engineers generate a DDOS operation. They just multiply the number of visitors, and thus multiple responses are sent to simulate traffic loads in different visitor conditions. The web server’s response to the requests of numerous artificial users can then be measured. IT is applied to find out performance-issues in work-load terms and server capacity.

34. Compare the facilities and properties between Selenium and Sikuli?

SeleniumSikuli
It is unable to automate flash objects ( e.g. audio player, video player etc.)It provides heavy support during the automation of flash objects.
The API is very complicated.The API is very simple
It is capable of automating only web application testing. It is capable of automating web applications along with windows applications.

35. How would you click on a hyperlink with a linkText() function?

driver.findElement(By.linkText(“Google”)).click();

The above command finds the element using link text and then clicks on that element. In this way, the user would get redirected to the desired page.

36. Define TestNG

 TestNG is a testing framework with advanced facilities which is designed to simplify testing procedures. It allows advantages for both the developers and testers. It is one of the most widely used open-source frameworks. Moreover, it possesses an inbuilt mechanism designed for exception handling which allows the program to execute without terminating unexpectedly.

37. On which basis test case priority should be set in TestNG?

 The code shown below explains how to set the test case priority in TestNG. 


package TestNG;
import org.testng.annotations.*;
public class SettingPriority {
@Test(priority=0)
public void method1() {
}
@Test(priority=1)
public void method2() {
}
@Test(priority=2)
public void method3() {
}
}

Test Execution Sequence:

Method1
Method2
Method3

38. Explain to us the comparison between Selenium and QTP?

 The asked comparison is illustrated in the table below:

SeleniumQuick Test Professional
Selenium is available for almost all the widely used web browsers (e.g., Firefox, Chrome, Safari, Internet Explorer, Opera, etc.)QTP is available for only these three web browsers: Internet Explorer, Firefox, and Chrome. It only works in the Windows Operating System.
Selenium is an open-source tool and is available free of cost.QTP is a licensed tool. It is commercialized as the user has to buy its license by paying a certain amount.
Selenium only supports web-based applications for testing.QTP is capable of  testing not only the web-based applications but also the windows based applications.

39. What do you mean by Object Repository? Explain the procedures to make an Object Repository in Selenium WebDriver?

 Object Repository indicates the collection of web elements that belong to Application Under Test (AUT) accompanying their locator values. In Selenium, objects are generally stored in an excel sheet that is ready to be populated inside the script as per requirement.

40. How to pass input data in the text box by Selenium WebDriver?

 Using sendKeys()method, we can pass “text” (string type data) in the input text box By Selenium WebDriver.

41. What type of input is required from the end-user to start testing correctly?

 An end-user is always the most significant person in any project because he is the real user of the product and needs to develop a keen interest in the project.

The most necessary input from the end-user  are shown below:

  1. Requirement 
  2. Risk
  3. Live Data
  4. Acceptance Test Plan
  5. Scenarios for testing

42. What do you mean by the term ‘workbench concept’?

 A workbench at its core is a procedure of documentation of the eventual ways of performing a specific activity.

43. Briefly explain the term ‘Defect Cascading’?

 Defect cascading is a defect which is an effect of another defect. One defect is triggered by the other defect. When a defect exists in an initial phase, it is not identified and passes to other phases without being noticed. This will allow the number of defects to increase until the detection and fix of the primary defect.

For example, let us assume a situation:

The team is designing the Login Module of a WebPage:

1st Phase– You are designing a Register/User web page for Login, and the mobile number is obligatory, but you can leave it blank due to a bug that is undetected for the time being.

2nd Phase – You will create the login form containing username and password. The password would be OTP, which would be sent to the User’s mobile number by which he/she was supposed to get registered. 

Now, if the user leaves the mobile number field blank, while the login process, the number to send OTP will not be found; thus, the system may crash or get collapsed unexpectedly. If the defect was detected and fixed initially in 1st Phase, then it won’t be too much hassle in the 2nd Phase.

44. Explain the various strategies for rollout to end-users? 

  1. Pilot
  2. Gradual Execution
  3. Phased Execution
  4. Parallel Execution

45. Explain the correct procedure of finding broken links in a page by Selenium WebDriver?

 This can be presented as a practical question to you by an interviewer. He can give you a situation where there are 20 links on a web page, and your task is to identify which of those twenty links are working and not working (broken).

As you need to check the working of each of the links of that page, the workaround is: you have to send HTTP requests to all of the links on that page and observe the response as you will use the driver. Get () method to navigate every URL; it will return a response with a status of 200 – OK. This response refers to the confirmation that the link is working, and it has been obtained. Contrastingly,  any other status instead of that will indicate the link as a broken one. The procedure is explained below:

Firstly, you have to use the anchor tags <a> to find out the different hyperlinks on the web page. For each of the <a> tags, you can use the attribute ‘href’ value to get the hyperlinks and then observe the responses you received when applied in the driver.get() method.

46. Which technique do you want to consider in the script “if there is neither frame name nor frame id”? Why?

 In the case of frame name and id not being available, we can easily use frame by index. For instance, there exist three frames on a web page, and if no one of them has a frame name and id, even then, we can still select the frames by the help of the frame (0 based) index attribute. Each frame will have an index number (e.g., the first one should be at index “0”, the second at index “1” and the third  one at index “2” and so on.)

driver.switchTo().frame(int arg0);

47. How to capture screenshots using Selenium WebDriver?

 With the help of the TakeScreenshot function, one can take a screenshot. By using the getScreenshotAs() method, one can easily save that screenshot. 

Example: 

File scrFile = ((TakeScreenshot)driver).getScreenshotAs(outputType.FILE);

48. Explain the ways log in into any site if it is displaying any authentication popup for valid credentials (username and password)

 If there comes a pop up for login, one needs to apply the explicit command and verify whether the alert originally exists. The code shown below will allow you to understand the application of explicit wait commands:

WebDriverWait wait = new WebDriverWait(driver, 10);
Alert alert = wait.until(ExpectedConditions.alertIsPresent());
alert.authenticateUsing(new UserAndPassword(**username**, **password**));

49. How can you skip a codebook or a method in TestNG?

 To skip a specific test method or a codebook, you can configure the ‘allowed’ parameters in test annotation to false.

50. Shortly explain what do you understand from the below code snippet?

WebElement sample = driver.findElement(By.xpath("//*[contains(text(), 'data')]"));
 @Test(enabled = false)
WebElement sample=driver.findElement(By.xpath("//*[contains(text(), 'data')]"));

It refers to a variable sample of type WebElement. And it applies an XPath search to reset itself with respect to an element containing the text value “data”.

51. What do you know about Exploratory Testing?

 Usually, this process is carried out by domain experts. They conduct testing only by exploring the functionalities of the application without any idea of the requirements.

52.  Briefly compare the STLC (Software Testing Life Cycle) and SDLC (Software Development Life Cycle)?

Software Development Life Cycle (SDLC) focuses to produce a high-quality system that fulfills customer expectations, operates correctly in the present and planned technological infrastructure, and is cost-effective to manage and enhance.

STLC (Software Testing Life Cycle) refers to which test activities to conduct and when to complete those activities. Although testing varies depending on organizations, there is a testing life cycle.

53.  What is meant by the term “traceability matrix”?

 The coverage between test cases and requirements is shown with the help of a document. This document is known as a traceability matrix.

54.  What do you mean by Equivalence partitioning testing?

 Equivalence partitioning testing is a testing method that divides the software input test cases into each of the partitions at least once of equivalent data so that test cases can be derived from them. By this testing technique, it saves the required time for software testing.

55.  What are the parameters you should check or verify in white box testing?

  • Incase of white box testing following steps are verified.
  • Verify the defective or broken paths in the code
  • Verify the security defects in the code
  • Verify the estimated outputs
  • Verify the flow of operation against the specification of documentations.
  • Verify each line of the source code and cover full testing.
  • Check all conditional loops in the source code to verify the complete functionality of the application

56.  Explain the comparison of static and dynamic testing?

 Static testing: While Static testing, the code is not executed, and it is conducted using the software documentation.

Dynamic testing: To conduct dynamic testing, the code is needed to be in an executable form.

57.  Define the term “Integration Testing”?

Integration testing refers to a specific level of software testing. In this testing, individual modules of an application are integrated and tested. It is mostly carried out after conducting unit and functional testing.

58.  What is the difference between UAT (User Acceptance Testing) and System Testing?

System Testing: System testing is a method of detecting defects while the system is being tested as a whole; it is also called end-to-end testing. In such a type of testing, the application has to suffer from beginning till the end.

UAT: User Acceptance Testing (UAT) encompasses running a software through a sequence of tests which determines whether the software will meet the requirements of its users.

59.  Explain the dissimilarities of Data-Driven Testing and Retesting?

Retesting: It is a procedure of checking defects that are actioned by the developer team to verify that they are solved.

Data Driven Testing (DDT): While data-driven testing process, the application is tested with a number of test data. The application is tested with a various set of values.

60.  Mention the disparities between test scenarios, test cases, and test script?

Difference between test scenarios and test cases is that

Test Scenarios: A Test Scenario also known as Test Condition or Test Possibility, is a functionality that is tested. 

Test Cases: It contains the steps to be executed; it is planned earlier.

Test Script: It is coded in a programming language and it’s a small program used to test modules of the functionality of the software system. 

62.  Mention the parameters which clearly define the quality of test execution?

 To determine the quality of test execution, we can check two parameters

  1. Defect leakage ratio
  2. Defect reject ratio

63.  Explain the necessity of the software testing tool “phantom”?

 Phantom is applied for windows GUI automation scripting language. It enables us to manage windows and functions automatically. It can duplicate any combination of keystrokes and mouse clicks for instance, menus, lists and more.

64.  Define the term “Test Deliverables”?

 Test Deliverables are a set of tools, documents, and other elements for development and maintenance in support of testing.

There are various test deliverables at each stage of the software development:

  1. Pre-Testing
  2. During Testing
  3. Post-Testing

65.  Explain what mutation testing is?

 Mutation testing is a method to detect if any test case is handy by various intentional bugs and retesting with actual test cases to determine whether the bugs are detected.

READ  32 Most Common Interview Questions And Answers

66.  What things should a tester keep in mind before selecting the automation tools for the AUT?

  1. Technical Feasibility
  2. Application stability
  3. Complexity level
  4. Test data
  5. Re-usability of automated scripts
  6. Application size
  7. Execution across environment

67.  How should one carry out Risk Analysis?

 For the risk analysis the steps that are required to be implemented are as follows:

  • Finding the score of the risk
  • Changing the risk properties
  • Deploy the resources of that test risk
  • Making a profile for the risk
  • Making a database of risk

68.  Briefly explain the categories of debugging?

  • Brute force debugging
  • Cause elimination
  • Backtracking
  • Fault tree analysis
  • Program Slicing

69.  What is a Test Plan? Briefly mention the information to be covered in the Test Plan?

A test plan is a well-written document describing the scope, resources, approach, and schedule of testing activities.

 A test plan should include the following details.

  1. Test Strategy
  2. Exit/Suspension Criteria
  3. Resource Planning
  4. Test Objective
  5. Test Deliverables

70.    How can one reduce the product risk in any project?

It helps you to eliminate product risk in your project, and there is a simple yet crucial step that can reduce the product risk in your project.

  • Investigate the specification documents
  • Have discussions about the project with all stakeholders including the developer
  • As a real user walk around the website

71.  Mention some of the common risks that lead a project to fail?

 The common risks that can lead to a project failure are shown below:

  • Lacking enough human resource
  • Time Limitations
  • Testing Environment may not be set up properly
  • Limited Budget

72.   Explain your preferred procedure to assign a task to team members?

TaskAllocated Team Executive
Analyzing software requirement specificationAll the members
Creating the test specificationTester/Test Analyst
Building up the test environmentTest administrator
Executing the test casesTester, a Test administrator
Report defectsTester

73. What is the testing type and mention some of the commonly applied testing types?

For an expected test feedback, a standard procedure is maintained that is known as Testing Type.

Widely used testing types are:

  • API Testing: Testing API created for the application
  • Unit Testing: Test the smallest code of an application
  • Integration Testing: Individual software modules are combined and tested
  • Install/Uninstall Testing: Testing done from the point of client/customer view
  • System Testing: Complete testing of the system
  • Agile Testing: Testing through Agile technique

74. Briefly mention the structure and contents of the test reports. What is the significance of the test reports?

 A test report contains these following things:

  1. Project Information
  2. Test Summary
  3. Test Objective
  4. Defect

The advantages of test reports are:

  • Status of the project and quality of product are informed
  • stakeholder and customer are allowed to take corrective action (if required)
  • A finalized document helps to determine whether the product is okay for release

75. Explain What test management review is and shortly describe its importance?

 Management review also known as Software Quality Assurance or SQA. SQA targets on the software processing instead of the software build products. It is a bunch of activities planned to confirm that the project co-ordinator follows the standard process. SQA allows the test coordinator / manager to bench-mark the work against the set standards.

76. Tell us the best practices for the assurance of software quality?

  1. The best practices for a Software Quality Assurance implementation is:
  2. Documentation
  3. Tool Usage
  4. Responsibility by team members
  5. Continuous Improvement
  6. Metrics
  7. Experienced SQA auditors

77. When should RTM (Requirement Traceability Matrix) be made?

RTM is created after test case designing. Requirements are required to be ‘traceable’ from review activities.

78. Explain the dissimilarities between the Test matrix and the Traceability matrix?

Test Matrix: Test matrix is mostly used for capturing original effort,quality, resources, the plan, and time needed to capture all stages of software testing.

Traceability Matrix: Mapping between customer requirements and test cases is called a Traceability Matrix.

79. Define the terms “Test Plan Driven” or “Keyword Driven” method of testing?

 This method applies the original test case document developed by the testers by using a spreadsheet consisting of special “key Words”. These keywords maintain the whole processing.

80.  Explain what the DFD (Data Flow Diagram) is?

 Data Flow Diagram is a graphical representation of “flow of data” through an information system. It is also applied for the visualization of processing data.

81.  What is a LCSAJ?

 LCSAJ stands for ‘linear code sequence and jump.’ It contains the following items:

  • Beginning of the linear sequence containing executable statements
  • Ending of the linear sequence
  • The target line of control-flow transmission at the termination of the linear sequence

82.  What is a N+1 testing?

The variation of regression testing is illustrated as N+1. In this method, the testing is conducted in a number of cycles in which defects found in test cycle ‘N’ are fixed and re-tested in test cycle N+1. The cycle is repeated until there are no defects found.

83. Explain what Fuzz testing is and when it is required?

 Fuzz testing is applied to identify the security loopholes and coding errors in a software. In this method, random data is added to the system in an attempt to make the system crash. If vulnerability exists, a tool namely ‘fuzz tester’ is applied to determine the potential defects. This method comes more handyl for bigger projects but only identifies a major fault.

84.  Explain what the actual benefits of the statement coverage metric of software testing are?

The advantages of statement coverage metric are as follows:

  • It does not need any processing for the source code and can be used directly in object code.
  • Bugs are spread evenly through the source code, for this reason, percentage of executable statements illustrates the percentage of faults discovered.

85.   How will you create strong test cases for the “replace a string” method?

  • When characters in new string > characters in the last string, None of the characters should be truncated.
  • When characters in new string< characters in the last string. Junk characters must not be added.
  • No “White Space” after and before the string can be deleted.
  • Only for the first occurrence of the string, the tester should replace the String. 

86.  Describe the dissimilarities between latent and masked defects

  • Latent defect: A latent defect is a contemporary harmless defect that has not caused any failure as the sets of conditions were never fulfilled.
  • Masked defect: It is a hidden defect that has not caused a failure because another defect has protected that part of the code from being implemented.

87.  Explain the various kinds of test coverage techniques.

Different types of test coverage techniques include

  • Statement Coverage: It confirms that every line of the source code has been run and tested
  • Decision Coverage: It assures that each decision in the source code is run and tested
  • Path Coverage: It verifies that each possible route through a snippet of the code is run and tested

88. Explain what the fundamental components of defect report layout are?

The fundamental components of defect report format encompasses the following:

  • Project Title
  • Module Title
  • Defect detection time
  • Defect detected by
  • Defect ID No. and Name
  • Screenshot of the defect
  • Priority and Severity description
  • Defect resolving time
  • Defect resolved by

89.  Briefly explain the core purpose behind doing end-to-end testing.

End-to-end testing is conducted after the functional testing phase. The purposes of end-to-end testing are as follows

  • To validate the software requirements and integration with external interfaces
  • To test application in actual environment scenario
  • To test of interaction between database and application

90. Which testing activities will you automate in a testing project?

In terms of project testing activities, one would automate the following facts:

  1. Tests using multiple data to conduct the same  actions
  2. Tests that requires to be executed for every build of the application
  3. Similar tests that need to be conducted by different browsers
  4. A transaction with pages that do not change in a short time
  5. Mission critical pages

91. What are the benefits of using decision tables?

The methods of equivalence partitioning as well as boundary value analysis are usually used in specific situations or inputs. But, if specific combinations of inputs result in specific actions being conducted, it can be more challenging to show applying equivalence partitioning and boundary value analysis, that seems to be more focused on the UI portion. There are other two specification-based techniques. They are: decision tables, and state transition that are more based on business logic. 

A decision table is a smart way to work with combinations of things (such as, inputs). This method is occasionally  known as a ’cause-effect’ table. There is a logic diagramming method namely ’cause-effect graphing that was occasionally applied to derive the ‘decision table’

92.  According to the fragment of code shown below, define the number of tests needed for 100 percent decision coverage?

if wid > len 
then biggest_dim = wid
if height > wid 
then biggest_dim = height 
end_if
else biggest_dim = len  
if height > len 
                                                             

then biggest_dim = height 
end_if
end_if

93.  Define the test cases that are required for full statement and full decision coverage for the following snippet of code.

if width > length then biggest_dimension = width else
biggest_dimension = length end_if 

The following has been added to the bottom of the code fragment above. 

print "Biggest dimension is "&biggest_dimension print "Width: " & width print "Length: " & length 

  None of the existing test cases can be applied.

94.  A seller deals in printer cartridges. One has to order at least  5 printer cartridges. A  20% discount is offered for orders of 100 or more quantities. You are assigned to generate test cases using different values of the number of products ordered. 

 4, 5, 99

95. Observe the techniques shown below. Distinguish the static and dynamic techniques.

  1. Use Case Test.
  2. Equivalence Partition.
  3. Inspections.
  4. Exploratory Testing.
  5. Decision Testing.
  6. Data Flow Analysis.

 Inspections and Data Flow Analysis are static; Equivalence Partitioning, Decision Testing, Use Case Testing, and  Exploratory Testing are dynamic.

96.  Name the stages of a formal review order

In contrast to informal reviews, formal reviews follow a formal process. A formal review process contains 6 main steps:

  1. Plan
  2. Kick-off
  3. Preparation
  4. Reviewing 
  5. Rework
  6. Follow-up.

97.  Briefly mention the techniques of Experience-based testing?

 In experience-based techniques, a tester’s knowledge, relevant skills, and background are a main contributor to the test cases and test conditions. The experience of both technical and business background is important, as they bring different points of views in terms of both test analysis and design process. For having previous experience with similar types of systems, an experienced tester may have insights about which functionality could go wrong, which is very beneficial for testing.

98.  When should you stop testing?

 It varies depending on the risks for the system being tested. There are some conditions and parameters depending on which one can stop testing. They are as follows:

  • Deadlines (Testing, Release)
  • Test cases executed with certain percentage passed
  • Bug rate fall reduces to a certain level
  • Test budget being depleted
  • Coverage of code, functionality or requirements are fulfilled to an expected point
  • Alpha / beta periods for testing ends

99.  What is meant by the term ‘semi-random test cases’?

 When we run random test cases and conduct equivalence partitioning to those cases,we omit redundant test cases, thus we get semi-random test cases.

100. What do you know about test coverage?

 Test coverage measures in some specific way the amount of testing performed by a set of tests (derived in some other way, e.g., using specification-based techniques). Wherever we can count things and tell whether or not some test has tested each of those things, we can measure coverage.

101. Define Software Testing

 According to ANSI/IEEE 1059 standard – The process of analyzing a software product to identify the dissimilarities between existing and required conditions (i.e., defects) and to evaluate the facilities of the software product.

102. What practices should be regularly maintained for writing test cases?

  • Write test cases with an end-users point of view
  • Write reusable test cases 
  • Write test steps simplify that anyone can be followed by anyone easily
  •  Set the priority
  • Write both invalid test cases and valid test cases
  • Supply a test case description, expected result, precondition, postcondition, test data
  • Review the test cases thoroughly and update when necessary
  • Stick to proper naming conventions
READ  The Best Antivirus Software for 2020

103. Which configuration management tools testers often use? Name some popular ones.

Some of the widely-used configuration management tools are: 

  •  Ansible
  •  Puppet
  • Chef
  • Saltstack
  • Terraform

104. Define and compare the terms “Quality Assurance” and “Quality Control?” 

Quality Assurance: Quality Assurance compasses process-oriented activities. It confirms the prevention of errors in the process used to develop Software Applications. As a result, the defects don’t arise when the Software Application is being developed.

Quality Control: Quality Control includes product-oriented activities. It runs the program or code to detect the defects in the Software Application.

105. What do you know about Validation in software testing?

Validation is the procedure to verify whether we are building the right product for instance, to validate the product that we have built is correct or not. Activities relevant to this is Testing the software application.

106. What is meant by Grey Box Testing?

Grey box is the integration of both Black Box and White Box Testing. The tester working on this form of testing requires to have access to design documents. This allows us a tester to generate better test cases in this procedure.

107. Explain the term “Testbed” in Software Testing.

An environment set up for testing. Test bed contains hardware, software, network configuration, an application software under test, other related softwares.

108.  What do you know about Test Environment?

Test Environment refers to the integration of hardware and software on which the Test Team conducts testing.

Example:

  • Application Type: Web Application
  • Web Server: IIS
  • OS: Windows
  • Database: MS SQL Server
  • Client Side Validation: JavaScript
  • Web Page Design: Dot Net
  • Server Side Scripting: ASP Dot Net
  • Browser: IE/FireFox/Chrome

109. Tell us something about Big Bang Approach.

 Integrating all the modules and checking the functionality after finishing the individual module testing.

Top down and bottom up are conducted by using artificial modules called Stubs and Drivers. These Stubs and Drivers are applied to stand-in for missing components to model data communication between modules.

110. Do you know about Smoke Testing? What does it actually mean?

 Smoke Testing is conducted to confirm whether the product received from the developer team is testable. It is also known as a “Day 0” check. It is done at the “build level”. It allows us to reduce the testing time to simplify testing of the whole application when the key functionalities do not properly work or the key bugs still remain unfixed.

111. What is Alpha Testing

Alpha testing is conducted by the in-house developers (who developed the software) and testers. Often alpha testing is carried out by the client or outsourcing team with the presence of developers or testers.

112. What is Beta Testing

Beta testing is conducted by a small number of end-users ,generally, at the client’s place before delivery..

113. What is Gamma Testing

Gamma testing is conducted when the software is fully prepared for release with specified requirements. It is done in front of the client party. It is conducted directly by skipping all the previous testing activities.

114. What is Sanity Testing

 Checking for the fundamental functionalities of the application (without going deeper) just before the final release is called Sanity Testing . It is also known as a subset of Regression testing. It is done at the “release phase”. At times due to release time deadline thorough regression testing cannot be conducted to the build, sanity testing plays that role by checking main functionalities.

115. Give us some examples of both Bug Severity and Bug Priority?

High Priority & High Severity: Submit button does not work properly on a login page and customers are having difficulties to login to the application

Low Priority & High Severity: Crash in some functions or facilities.

High Priority & Low Severity: Spelling mistakes regarding company name or motto/slogans on the homepage.

Low Priority & Low Severity: Specific page taking huge time to load

116.  Briefly explain the dissimilarities of a Standalone application, Web application, and Client-Server application?

Standalone application: A Standalone application generally follows one-tier architecture. Presentation, Business, and Database layers are combined in one system for a single user.

Client-Server Application: Client-server applications are built using the concept of two-tier architecture. Business and Presentation layer exists in a client system and Database layer on other servers. It works mainly on the Internet.

Web Application: Web server applications are built according to n-tier architecture. A Business layer is in an application server, the presentation layer is in a client system, and a Database layer is in a Database server. It works both on Intranet and Internet.

117. What do you know about Bug Leakage?

 A bug which is passed unnoticed by the testing team during testing and the product was released to the Production. If  that missed bug was found by any end user or client then it is called a Bug Leakage.

118. Explain what Error Seeding is?

 Error seeding is a procedure of adding common errors intentionally in any program to determine the rate of error detection. It allows us to estimate the tester’s skills of finding bugs and find the ability of the application (how correct the application is working when it has errors.)

119. What do you know about Showstopper Defect?

That defect that doesn’t allow a user to operate  the application further is known as a showstopper defect. It’s almost similar to a crash.

Assume that the login button is not working. Even though you have a valid username and valid password, you could not move further because the login button is not functioning.

120. What is “Boundary Value Analysis”

Boundary value analysis depends on testing the boundary values of valid and invalid partitions. This Behavior at the edge of this partition is mostly wrong than the partition’s behavior, so boundaries refer to an area where testing is likely to detect defects. All the partitions have their own maximum, and minimum range and these maximum and minimum ranges are known as the boundary values of a partition.

121. What is “State Transition”

By state transition testing, we select test cases from an application where we are required to test various system transitions. We can use it when an application gives a separate output for the same input, depending on what has happened in the earlier state. 

122. Explain Equivalence Class Partition

Equivalence Partitioning, the group-wise testing procedure is also known as Equivalence Class Partitioning. Here inputs to the software are divided into different groups that show almost similar behavior. Hence one input should be selected from each group for the test cases to be designed.

123. What is meant by  API Testing?

API testing is a form of software testing that includes testing APIs both directly and as a part of integration testing to verify if the API fulfills expectations in regards of functionality, performance, reliability, and application security. In API Testing, our primary focus stays on a Business logic layer of the architecture of the software. API testing can be conducted on any software system which contains multiple APIs. API testing does not affect the outlook and appearance of the application. API testing is totally different compared to GUI Testing.

124.  What do you know about the entry criteria?

The necessary preconditions that must be met before starting the testing process.

125. Mention some of the various available models of SDLC

  • Waterfall
  • V Model
  • Spiral
  • Agile
  • Prototype

126. Are you qualified to do System testing at any stage of SDLC?

You can conduct System Testing only when all the units are in position and working correctly. It can only be executed before User Acceptance Testing (UAT).

127.  Briefly describe the procedure of manual testing?

Manual testing is essential for testing software applications more thoroughly—the procedure of manual testing includes the following.

  1. Planning & Control
  2. Analysis, Observation & Design
  3. Implementation & Execution
  4. Evaluation & Reporting
  5. Activities of Test Closure

128. What do you know about STLC?

STLC (Software Testing Life Cycle) indicates the test activities to conduct and when to complete those test activities. However, testing differs between organizations as there exists a testing life cycle. 

129. Explain what exit criteria is?

The obligatory conditions that should be checked before testing should be concluded. 

130. Name some of the widely used Test Automation Frameworks?

There are different types of test automation frameworks and the most common ones are:

  • Modular Testing Framework
  • Hybrid Testing Framework
  • Data Driven Testing Framework
  • Keyword Driven Testing Framework
  • Behavior Driven Development Framework

131. Do you have any experience with creating a Framework?

If beginner: No, I didn’t get any scope to create a framework. But, I have used the already available framework.

If experienced tester: Yes, I have already created a framework (Or) No, but I have direct involvement in the creation of the framework.

132. Tell us some of the benefits of using the Test Automation Frameworks?

  1. It is time and cost-effective. It is faster in execution.
  2. Reusability of code: We can create once and execute multiple times without maintenance.
  3. Simple reporting: It can generate automatic reports after the execution of a test.
  4. Simple for compatibility testing: It allows parallel execution by combination of different Operating System and browser environments. 
  5. Cost-saving maintenance: It is less costly compared to the manual testing procedure in the long run.
  6. Automation testing is more reliable than manual testing.
  7. Automated testing is more versatile and powerful.
  8. It is mostly applied for regression testing. It supports repeated test case execution.
  9. Minimal manual intervention: Test scripts can be executed unattended.
  10. Maximum coverage. It enables us to increase test coverage.

133. Which Test Automation Framework you are currently dealing with, and why?

The Test Automation Frameworks I am working with are:

  • Data-Driven Testing Framework
  • Hybrid Testing Framework
  • Keyword Driven Testing Framework

134. Which frameworks do you have hands-on experience?

The organization I am working for is already using that specific framework or I have an experience on that specific framework, or It’s straightforward for me to handle all the scripts to execute and generate logs, screenshots, and reports by using this framework.

135. Name some of the most widely used testing tools for functional testing?

  1. Selenium
  2. UFT(Unified Functional Testing) / QTP(Quick Test Professional) 

136. Why should one choose the Selenium Automation Tool over others?

  1. Free and open source
  2. Multiple programming languages support
  3. Cross-browser compatibility
  4. Have a large user base and helping communities
  5. Platform compatibility

137. How many test cases do you have experience of automating per day?

It varies depending on the Test case scenario, complexity, and length. I have experience of automating 2-5 test scenarios per day when the complexity is limited. Sometimes just one or fewer test scenarios in a day when the complexity is high.

138. What do you think about the integrations of the  Selenium?

Selenium can integrate with multiple other tools like

  • Programming Languages
  • Scripts Development Platform
  • Selenium WebDriver
  • Testing Framework
  • Maven
  • Jenkins
  • Sikuli
  • Cucumber

139. What are the challenges and limitations of Selenium WebDriver?

Despite being a handy open-source testing tool, Selenium has some limitations and challenges. Some of the difficulties and limitations with selenium web driver are as follows

  1. We cannot test the windows application.
  2. Limited reporting
  3. Handling dynamic Elements
  4. We cannot test mobile apps.
  5. Handling page load
  6. Handling captcha
  7. Handling pop up windows

140.  Explain Selenium IDE

Selenium IDE (Integrated Development Environment) is a plugin of Firefox. It is considered to be the simplest framework in the Selenium Suite. It enables us to both record and playback the scripts. Despite our capability of creating scripts using Selenium IDE, we need to apply Selenium RC or Selenium WebDriver for writing more advanced test cases.

141. What do you know about  Selenese?

Selenese is the language that is applied to write test scripts in Selenium IDE.

142. What is meant by  Selenium RC?

Selenium RC is also known as Selenium Remote control /. Selenium 1.0 Remote Control used to be the main Selenium project for a long time before the Selenium 2 was brought up. Selenium 1 is still in maintenance mode. It depends on JavaScript for automation. It supports Javascript, Ruby, Java, PHP, Perl, Python, and C#. It supports almost every browser.

145. Explain the term “hub” in Selenium Grid?

The server or a central point that controls the executions of test cases on different machines is known as hub.

146. Explain the term “node” in the Selenium Grid?

The machine that is attached to the hub is called ‘node’. Multiple nodes can exist in Selenium Grid.

147. Which type of WebDriver APIs are supported in Selenium?

  • Firefox Driver
  • InternetExplorer Driver
  • Chrome Driver
  • Gecko Driver
  • HTMLUnit Driver
  • Safari Driver
  • Android Driver
  • Opera Driver
  • EventFiringWebDriver
  • iPhone Driver

148. Which of the WebDriver implementations is considered to be the fastest?

The HTMLUnitDriver  is the fastest implementation of WebDriver. As the HTMLUnitDriver does not carry out tests in the web browser, starting a web browser and executing test cases would take more time compared to running the scripts without a browser. HTMLUnitDriver takes a simple HTTP request-response mechanism for executing test cases.

149. Name the Operating Systems supported by Selenium WebDriver?

  1. Windows
  2. Mac OS X
  3. iOS
  4. Linux
  5. Android

150. Which  Programming Languages do Selenium WebDiver support?

  • Java
  • Python
  • Perl
  • Ruby
  • PHP
  • C#

Recommended Article: Top 100 Software Testing Blogs and Websites To Follow in 2020

Advice

These are some of the common software testing interview questions and answers that will be asked during the interview. This will be a good list to refresh your technical skills before attending the interview. Best of luck with your interviews!

Recommended Articles