[email protected]
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?
1
[email protected]
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 deg 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 s i.e. manually).
8) What is Functional Analysis?
2
[email protected]
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 deg 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 that the software under test meets the specified requirements. This is not the same as ing 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 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 pairwise 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.
3
[email protected]
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
4
[email protected]
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?
he 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).
5
[email protected]
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-ed static testing should never be omitted.
6