Software Test Design Techniques

Interview Questions on Software Test Design Techniques

Interview Questions on Test Design Techniques

1) What are the important Black Box Test Design Techniques?

Black-box test design techniques :
• Equivalence partitioning
• Boundary value analysis
• Decision Table Testing
• State Transition Testing
• Use Case Testing

2) What is Random Testing?

It is a Block box test design technique and informal one.

3) What is PIT in testing?

PIT means Program Interface Test. It is a test design technique that is used to test the interfaces between the various programs and/or modules. After testing the independent function of each program, this technique is used to verify whether the programs still function correctly after integration with real data flows.
The PIT is a test design technique that is mainly used in the unit integration test.
When two programs in a application work with each other the integration of these two needs to be tested. When executing test cases created with PIT it is verified whether program 1 and 2 function correctly together. If there is a program 3 or more, these are replaced with stubs and drivers. The integration between program 1 and 2 is done with real data.

4) What is the purpose of Test Design Technique?

The purpose of test design techniques is to identify test conditions and test scenarios through which effective and efficient test cases can be written. Using test design techniques is a best approach rather the test cases picking out of the air. Test design techniques help in
• Achieving high test coverage.
• Defining tests that will provide insight into the quality of the test object.

5) What is Use Case Testing?

A black box test design technique in which test cases are designed to execute User scenarios of Business scenarios

6) What is equivalence test design technique?

It is a Black-box (Specification Based) Test Case Design Technique with two primary goals
1. To reduce the number of test cases to necessary minimum.
2. To select the right test cases to cover all possible scenarios.

7) What is State Transition Testing?

A system may exhibit a different response depending on current conditions or previous history (its state). In this case, that aspect of the system can be shown with a state transition diagram. It allows the tester to view the software in terms of its states, transitions between states, the inputs or events that trigger state changes (transitions) and the actions which may result from those transitions. The states of the system or object under test are separate, identifiable and finite in number.

8) What are the different types of test design techniques?

Different types of test design techniques:

Test design techniques are categorized in to two types. They are
1. Static testing technique.
2. Dynamic testing technique.

The dynamic techniques are subdivided into three more categories. They are :
1. Specification-based (black-box, also known as behavioral techniques) techniques.
2. Structure-based (white-box or structural techniques) techniques.
3. Experience-based techniques.

The Specification-based or Black-box testing techniques are
a. Equivalence partitioning.
b. Boundary value analysis.
c. Decision tables.
d. State transition testing.
e. Use case Testing.

Structure-based or White-box testing techniques are Statement Testing and Coverage, Decision Testing and Coverage, and Linear Code Sequence And Jump (LCSAJ).

9) What is Walkthrough in static technique?


• It is not a formal process/review
• It is led by the authors
• Author guide the participants through the document according to his or her thought process to achieve a common understanding and to gather feedback.
• Useful for the people if they are not from the software discipline, who are not used to or cannot easily understand software development process.
• Is especially useful for higher level documents like requirement specification, etc.

The goals of a walkthrough:
i. To present the documents both within and outside the software discipline in order to gather the information regarding the topic under documentation.
ii. To explain or do the knowledge transfer and evaluate the contents of the document
iii. To achieve a common understanding and to gather feedback.
iv. To examine and discuss the validity of the proposed solutions

10) What is Technical Review in static technique?

Technical Review: The aim of this review technique is to achieve consensus about the technical aspect of the document. They are informal in nature and it is the experts, who identify defects in the document. The experts who are a part of the review are architects, chief designers, key users, etc. However, peers are also a part of the review as well. In a technical review, the value of the technical concepts and alternatives is assessed. It is also ensured that right technical concepts are used.

11) What is Static testing technique?

Static test techniques provide a great way to improve the quality and productivity of software development. It includes the reviews and provides the overview of how they are conducted. The primary objective of static testing is to improve the quality of software products by assisting engineers to recognize and fix their own defects early in the software development process.

12) What are the different types of dynamic techniques?

The dynamic techniques are subdivided into three more categories.
They are :
1. Specification-based (black-box, also known as behavioural techniques) techniques.
2. Structure-based (white-box or structural techniques) techniques.
3. Experience-based techniques.

13) What are the uses of Static Testing?

The uses of static testing are as follows:

• Since static testing can start early in the life cycle so early feedback on quality issues can be established.

As the defects are getting detected at an early stage so the rework cost most often relatively low.

Development productivity is likely to increase because of the less rework effort.

• Types of the defects that are easier to find during the static testing are: deviation from standards, missing requirements, design defects, non-maintainable code and inconsistent interface specifications.

• Static tests contribute to the increased awareness of quality issues.

14) Can u tell me about kick-off in formal review?

This kick-off meeting is an optional step in a review procedure. The goal of this step is to give a short introduction on the objectives of the review and the documents to everyone in the meeting. The relationships between the document under review and the other documents are also explained, especially if the numbers of related documents are high. At customer sites, we have measured results up to 70% more major defects found per page as a result of performing a kick-off.

15) What is formal review?

Formal reviews follow a formal process. It is well structured and regulated.
A formal review process consists of six main steps:
1. Planning
2. Kick-off
3. Preparation
4. Review meeting
5. Rework
6. Follow-up

16) What is Informal Review in static technique?

Informal reviews are applied many times during the early stages of the life cycle of the document. A two person team can conduct an informal review. In later stages these reviews often involve more people and a meeting. The goal is to keep the author and to improve the quality of the document. The most important thing to keep in mind about the informal reviews is that they are not documented.

17) What is specification based technique?

Specification-based testing technique is also known as ‘black-box’ or input/output driven testing techniques because they view the software as a black-box with inputs and outputs.
The testers have no knowledge of how the system or component is structured inside the box. In black-box testing the tester is concentrating on what the software does, not how it does it.

18) What is Decision Table Testing?

A black box test design technique in which test cases are designed to execute the combinations of inputs and/or stimuli (causes) shown in a decision table.

19) What is dynamic testing technique?

In Dynamic testing software is used, inputs are given and outputs are checked with expected results. The Validation portion, of Verification and Validation, falls in this category of testing.
Dynamic testing involves testing software based on prepared test cases. Unit Testing, Integration Testing, System Testing and Acceptance Testing are part of Dynamic testing techniques.

20) What are the Common features of specification-based techniques?

Common features of specification-based techniques:
Models, either formal or informal, are used for the specification of the problem to be solved, the software or its components.
From these models test cases can be derived systematically.

21) What are the advantages of decision table testing?

Advantages of decision table testing:
1) A decision table provides a framework for a complete and accurate statement of processing or decision logic.
2) Helps to identify the test scenarios faster because of tabular representation.
3) Easy to understand.
4) Easy to maintain and update decision table if there is change in requirement.
5) It is possible to check that all test combinations have been considered.

22) What are the common features of structure-based techniques?

Common features of structure-based techniques:
1. Information about how the software is constructed is used to derive the test cases, for example, code and design.
2. The extent of coverage of the software can be measured for existing test cases, and further test cases can be derived systematically to increase coverage.

23) What are the advanced structure-based test design techniques?

Structure-based test design techniques
1. Statement testing.
2. Decision testing.
3. Branch testing.
4. Condition testing.
5. Multiple condition testing.
6. Condition determination testing.
7. LCSAJ (loop testing).
8. Path testing.

24) What is defect based test design technique?

A defect-based test design technique is one in which the type of defect sought is used as the basis for test design, with tests derived systematically from what is known about the defect.

Interview Questions and Answers on Test Design Techniques-2

1) What is Experience-based technique?

Experience-based tests utilize testers’ skills and intuition, along with their experience with similar applications or technologies. These tests are effective at finding defects but not as appropriate as other techniques to achieve specific test coverage levels or producing reusable test procedures.

What are the experience-based test design techniques?

Experience-based test design techniques:
1. Error guessing.
2. Checklist-based.
3. Exploratory.
4. Attacks.

2) What is Structure-based technique in software testing?

Structure-based technique is also known as white box testing. These structure-based test design techniques are a good way of generating additional test cases that are different from existing tests. They can help ensure more breadth of testing, in the sense that test cases that achieve 100% coverage in any measure will be exercising all parts of the software from the point of view of the items being covered.

3) What are the white-box testing techniques?

White-box testing techniques are Statement Testing and Coverage, Decision Testing and Coverage, and Linear Code Sequence And Jump (LCSAJ).

How can we calculate statement coverage?

The statement coverage can be calculated as shown below:

Number statements exercised
Statement coverage=————————————x100%
Total number of statements

4) What are the advantages of statement coverage?

Advantages of statement coverage:
1. It verifies what the written code is expected to do and not to do.
2. It measures the quality of code written.
3. It checks the flow of different paths in the program and it also ensure that whether those path are tested or not.

5) What are the disadvantages of statement coverage?

Disadvantages of statement coverage:
1. It cannot test the false conditions.
2. It does not report that whether the loop reaches its termination condition.
3. It does not understand the logical operators.

6) What is the boundary value analysis test design technique?

Boundary value analysis testing technique is used to identify errors at boundaries rather than finding those exist in center of input domain.
Boundary value analysis is a next part of Equivalence partitioning for designing test cases where test cases are selected at the edges of the equivalence classes.

7) What is Path Analysis?

Path Analysis is used for testing the internal paths, connections and structure of a product and can be applied at two levels (code based, white-box testing during unit tests & functional/black-box testing by testers or users i.e. manually).

8) What is Functional Analysis?

Functional Analysis involves analyzing expected behavior against functional specifications, then generating one or more test procedure for each function.

9) What is Exploratory testing?

Exploratory testing is used in order to gain knowledge required for designing appropriate and effective tests. Exploratory testing produces test conditions with each iteration of the development lifecycle.

10) How exploratory testing is different from structured testing?

Structured testing, is designed to verify that the software under test meets the specified requirements. This is not the same as verifying the quality of the software. Testing is directed and constrained by the design specification and test plan, both of which may have been created before a line of code was written.
Exploratory testing is not constrained in this way. The objective is to expose information that is of value to stakeholders and assess the quality of the software, of which compliance with the specification is only one factor.

11) What is Orthogonal Arrays?

It is used when the number of inputs to the system is relatively small, but too large to allow for exhaustive testing of every possible input to the systems. It is particularly effective in finding errors associated with faulty logic within computer software systems. Orthogonal arrays can be applied in user interface testing, system testing, regression testing, configuration testing and performance testing.

12) What is Orthogonal Array Testing Strategy (OATS)?

Orthogonal Array Testing Strategy (OATS) is a systematic statistical way of testing pair-wise interactions. It has been found useful in testing combinations of configurable options (variables).

13) What are the properties of orthogonal array?

An orthogonal array has specific properties. First, an OA is a rectangular array or table of values, presented in rows and columns. Each column represents a variable or parameter.
Here is some terminology for working with orthogonal arrays:
Runs The number of rows in the array. This directly translates to the number of test cases that will be generated by the OATS technique.
Factors The number of columns in an array. This directly translates to the maximum number of variables that can be handled by this array.
Levels The maximum number of values that can be taken on by any single factor. An orthogonal array will contain values from 0 to Levels-1.

14) How Does OATS Help Optimize Testing?

• Creates an optimized test suite with lesser test cases, and uncovers most of the bugs
• Detects all single mode, double mode, and multimode faults.
• Guarantees testing the pair-wise combinations of all the selected variables.
• Exercises some of the complex combinations of all the variables.
• Is simpler to generate and is less error prone than test sets created manually.
• Helps in productivity improvement with cycle time reduction.
• Is independent of platforms and domains.

15) What is Equivalence partitioning?

Equivalence partitioning is a software testing technique that groups the input data for a module of a software into partitions of data that can represent each possible case. Then, select an input data from each partition.

16) What is Structure-based technique?

Structure-based technique:
It is also known as white-box or code based test techniques, is one in which the code, the data, the architecture or system flow is used as the basis for test design, with tests derived systematically from the structure. The technique determines the elements of the structure which are considered. The technique also provides coverage criteria, which say when test derivation can conclude. These criteria do not mean that the entire set of tests is complete, but rather that the structure under consideration no longer suggests any useful tests based on that technique. Each criterion has to be measured and associated with an objective defined by each project or company

17) What is Statement coverage?

Statement coverage:
1. The statement coverage is also known as line coverage or segment coverage.
2. The statement coverage covers only the true conditions.
3. Through statement coverage we can identify the statements executed and where the code is not executed because of blockage.
4. In this process each and every line of code needs to be checked and execute.

18) what is the purpose of test design techniques?

The purpose of test design techniques is to identify test conditions and test scenarios through which effective and efficient test cases can be written. Using test design techniques is a best approach rather the test cases picking out of the air. Test design techniques help in
• Achieving high test coverage.
• Defining tests that will provide insight into the quality of the test object.

19) What is condition testing?

It is a white box testing technique. Design test cases such that each possible outcome of each condition in each decision occurs at least once.

20) What is multiple condition testing?

Design test cases for each combination of conditions and it is white box testing technique.

21) What is Mutation testing?

It is intended for evaluating the test cases. Create at set of slightly modified mutants of the original program containing errors. Run the test cases against the mutants.

22) What is the criteria for mutation testing?

The criteria for mutation testing is: All mutants must fail (strong) and all mutants will eventually fail (weak).

23) What is cause effect graphing?

It is a black-box testing technique to analyze combinations of input conditions. It is to identify causes and effects in specification.

24) What’s fuzz testing?

Fuzz testing is a software testing technique. The basic idea is to attach the inputs of a program to a source of random data. If the program fails (for example, by crashing, or by failing built-in code assertions), then there are defects to correct.
The great advantage of fuzz testing is that the test design is extremely simple, and free of preconceptions about system behavior.

25) Why should I use static testing techniques?

There are several reasons why one should use static testing techniques.
Reason number 1: One should use static testing techniques because static testing is a bargain, compared to dynamic testing.
Reason number 2: Static testing is up to 100 times more effective. Even in selective testing, static testing may be up to 10 times more effective. The most pessimistic estimates suggest a factor of 4.
Reason number 3: Since static testing is faster and achieves 100% coverage, the unit cost of detecting these bugs by static testing is many times lower than detecting bugs by dynamic testing.
Reason number 4: About half of the bugs, detectable by dynamic testing, can be detected earlier by static testing.
Reason number 5: If one uses neither static nor dynamic test tools, the static tools offer greater marginal benefits.
Reason number 6: If an urgent deadline looms on the horizon, the use of dynamic testing tools can be omitted, but tool-supported static testing should never be omitted.

Follow me on social media: