Software Testing Interview Questions
Software Testing Interview Questions
Software Testing Interview Questions for Freshers
What is mutation testing ?
Mutation testing is a technique to identify if a set of test data or test case is useful by intentionally introducing various code changes (bugs) and retesting with original test data/ cases to determine if the bugs are detected.
When is RTM (Requirement Traceability Matrix) prepared ?
RTM is prepared before test case designing. Requirements should be traceable from review activities.
What is the DFD (Data Flow Diagram) ?
When a "flow of data" through an information system is graphically represented, then it is known as Data Flow Diagram. It is also used for the visualization of data processing.
What is risk-based testing?
Risk-based Testing is the term used for an approach to creating a Test Strategy that is based on prioritizing tests by risk. The basis of the approach is a detailed risk analysis and prioritizing of risks by risk level. Tests to address each risk are then specified, starting with the highest risk first.
What is the KEY difference between preventative and reactive approaches to testing?
Preventative tests are designed early; reactive tests are designed after the software has been produced.
What is the purpose of exit criteria ?
The purpose of exit criteria is to define when a test level is completed.
What determines the level of risk ?
The likelihood of an adverse event and the impact of the event determine the level of risk.
What is Alpha testing?
Pre-release testing by end user representatives at the developer's site.
What is beta testing ?
Testing performed by potential customers at their own locations.
What are the benefits of Independent Testing?
Independent testers are unbiased and identify different defects at the same time.
Why are static testing and dynamic testing described as complementary ?
Because they share the aim of identifying defects but differ in the types of defect they find.
What is an equivalence partition (also known as an equivalence class)?
An input or output ranges of values such that only one value in the range becomes a test case.
What is V-Model?
A software development model that illustrates how testing activities integrate with software development phases.
What is maintenance testing ?
Triggered by modifications, migration or retirement of existing software.
What is exploratory testing ?
Simultaneous test design and execution against an application is called exploratory testing. In this testing, the tester uses his domain knowledge and testing experience to predict where and under what conditions the system might behave unexpectedly.
What is Dynamic Testing ?
Dynamic testing involves in the execution of code. It validates the output with the expected outcome.
What is Static Testing ?
Static Testing involves in reviewing the documents to identify the defects in the early stages of SDLC.
What is White Box Testing ?
White Box Testing is also called as Glass Box, Clear Box, and Structural Testing. It is based on applications internal code structure. In white-box testing, an internal perspective of the system, as well as programming skills, are used to design test cases.
What is Black Box Testing ?
Black Box Testing is a software testing method in which testers evaluate the functionality of the software under test without looking at the internal code structure. This can be applied to every level of software testing such as Unit, Integration, System and Acceptance Testing.
What is Grey Box Testing ?
Grey box is the combination of both White Box and Black Box Testing. The tester who works on this type of testing needs to have access to design documents. This helps to create better test cases in this process.
What is Test Case ?
Test cases are the set of positive and negative executable steps of a test scenario which has a set of pre-conditions, test data, expected result, post-conditions and actual results.
What is Unit Testing ?
Unit Testing is also called as Module Testing or Component Testing. It is done to check whether the individual unit or module of the source code is working properly. It is done by the developers in the developer's environment.
What is System Testing ?
Testing the fully integrated application to evaluate the system's compliance with its specified requirements is called System Testing AKA End to End testing. Verifying the completed system to ensure that the application works as intended or not.
What is the difference between integration testing and system testing ?
INTEGRATION TESTING | SYSTEM TESTING |
---|---|
It is a low level testing | It is a high level testing |
It is followed by System Testing | It is followed by Acceptance Testing |
It is performed after unit testing | It is performed after integration testing |
Testers perform functional testing to validate the interaction of two modules | Testers perform both functional as well as non-functional testing to evaluate the functionality, usability, performance testing etc. |
It can be performed by both testers and developers | It is performed by testers |
Testing takes place on the interface of two individual modules | Testing takes place on complete software application |
What is the difference between functional and non-functional testing?
Functional Testing | Non-functional Testing |
---|---|
What the system actually does is functional testing | How well the system performs is non-functionality testing |
To ensure that your product meets customer and business requirements and doesn't have any major bugs | To ensure that the product stands up to customer expectations |
To verify the accuracy of the software against expected output | To verify the behavior of the software at various load conditions |
It is performed before non-functional testing | It is performed after functional testing |
Example of functional test case is to verify the login functionality | Example of non-functional test case is to check whether the homepage is loading in less than 2 seconds |
It can be performed either manual or automated way | It can be performed efficiently if automated |
What is a Bug ?
If testers find any mismatch in the application/system in testing phase then they call it as Bug.
What is an Error ?
We can't compile or run a program due to a coding mistake in a program. If a developer unable to successfully compile or run a program then they call it as an error.
What is Defect clustering ?
Defect clustering in software testing means that a small module or functionality contains most of the bugs or it has the most operational failures.