ISTQB Advanced CTAL Exam-Study Guide-Part 3
Prior to appearing for exam for ISTQB Advanced Level certification, it is wise to quickly brush up your knowledge by reviewing the following questions � answers that are extremely important from the examination point of view.
Q. 21: What is the underlying objective of Regression Testing?
Retesting the affected function is necessary after the change is incorporated since as many as 20 percent of all corrections result in additional errors. Frequently, additional functions will need to be tested to ensure that no latent defects were induced by the correction, one method of resolution would be to treat them as new errors and initiate a new error report. The description of regression testing should include:
# A list of test paragraphs/objectives retested
# The version of software used to perform regression test
# Indication of successful/unsuccessful accomplishment of test.
<<<<<< =================== >>>>>>
Q. 22: What is the utility of an Error Frequency Report?
Error frequency charts report the quantity of errors per unit of software product. The unit used may be a section of a requirements specification, a test procedure paragraph, a source code program unit, or any other objectively identifiable component of a software. The utility of an error frequency report is based on the Pareto Principle of non homogeneous error distribution. If errors are non homogeneously distributed in the product to be examined, then units with high detected error frequencies will probably also have a larger than normal number of latent errors.
<<<<<< =================== >>>>>>
Q. 23: What is the Adequacy Criteria for testing?
Verification of software by testing or other means, is quite indirect. It is necessary to judiciously constrain the verification process. Conditions that are required to be satisfied during testing are called adequacy criteria. For example, testing may be considered inadequate if the test data do not include boundary cases specified by the requirements, do not cause execution of every line of code, or do not cause the software to deal with error-prone situations.
The intent in establishing these criteria is to improve the quality of the testing. As such, adequacy criteria serve a purpose somewhat akin to software development standards. Adequacy criteria act as both specifier and judge: as specifier by indicating the constraints that must be satisfied by the testing, and as judge by indicating deficiencies in a particular test. Adequacy criteria for testing are generally expressed by stating some required coverage the test data should achieve. Desirable coverages include the required features, the software structure, or the potential errors that might occur in the life cycle.
<<<<<< =================== >>>>>>
Q. 24: What are the limitations of testing?
Some problems cannot be solved on a computer because are either intractable or undecidable. An undecidable problem is one for which no algorithmic solution is possible. In general, programs cannot be exhaustively tested (tested for each input). Huang shows that to test exhaustively a program that reads two 32-bit integers would take on the order of 50 billion years. Even if the input space is smaller, on the very first input it may be the case that the program does not halt within a reasonable time. It may even be the case that it is obvious the correct output will be produced if the program ever does halt. Exhaustive testing can only be completed, therefore, if all non-halting cases can be detected and eliminated.
Another limitation on the power of testing is its reliance on an oracle. An oracle is a mechanism that judges whether or not a given output is correct for a given input. In some cases, no oracle may be available e.g., when the program is written to compute an answer that cannot, in practice, be computed by hand. Imperfect oracles may be available, but their use is risky. The absence of an oracle, or the presence of an imperfect oracle weakens significantly any conclusions drawn from testing.
<<<<<< =================== >>>>>>
Q. 25: What is Fault Seeding?
Fault seeding is a statistical method used to assess the number and nature of the faults remaining in a program. First, faults are seeded into a program. Then the program is tested, and the number of faults discovered is used to estimate the number of faults yet undiscovered. A difficulty with this technique is that the faults seeded must be representative of the yet-undiscovered faults in the program.
<<<<<< =================== >>>>>>
Q. 26: What is Mutation Analysis?
Mutation analysis uses fault seeding to investigate properties of test data. Programs with seeded faults are called mutants. Mutants are executed to determine whether or not they behave differently from the original program. Mutants that behave differently are said to have been killed by the test. The product of mutation analysis is a measure of how well test data kill mutants. Mutants are produced by applying a mutation operator. Such an operator changes a single expression in the program to another expression, selected from a finite class of expressions. For example, a constant might be incremented by one, decremented by one, or replaced by zero, yielding one of three mutants. Applying the mutation operators at each point in a program where they are applicable forms a finite, albeit large, set of mutants.
<<<<<< =================== >>>>>>
Q. 27: What are the conditions necessary for a fault to cause a program failure?
Three conditions necessary and sufficient for a fault to cause a program failure are execution, infection, and propagation. The fault location must be executed, the resulting data state must be infected with an erroneous value, and the succeeding computation must propagate the infection through erroneous data states, producing a failure.
Sensitivity analysis investigates the three conditions required for failure, with particular focus on infection and propagation of errors.
Infection analysis employs mutation analysis to determine the probability of a data state�s being infected after a potentially faulty statement is executed.
Propagation analysis mutates the data state to determine the probability that an infected data state will cause a program failure.
<<<<<< =================== >>>>>>
Q. 28: What is Symbolic Analysis?
Symbolic analysis seeks to describe the function computed by a program in a more general way. A symbolic execution system accepts three inputs: a program to be interpreted, symbolic input for the program, and the path to follow. It produces two outputs: the symbolic output that describes the computation of the selected path, and the path condition for that path. The specification of the path can be either interactive or pre-selected. The symbolic output can be used to prove the program correct with respect to its specification, and the path condition can be used for generating test data to exercise the desired path. Structured data types cause difficulties, however, since it is sometimes impossible to deduce what component is being modified.
<<<<<< =================== >>>>>>
Q. 29: What is Specification Oriented Testing?
Program testing is specification-oriented when test data are developed from documents and understandings intended to specify a module�s behavior. Sources include, but are not limited to, the actual written specification and the high- and low-level designs of the code to be tested. The goal is to test for the presence of each (required) software feature, including the input domains, the output domains, categories of inputs that should receive equivalent processing, and the processing functions themselves.
Specification-oriented testing seeks to show that every requirement is addressed by the software. An unimplemented requirement may be reflected in a missing path or missing code in the software. Specification-oriented testing assumes a functional view of the software and sometimes is called functional or black-box testing.
<<<<<< =================== >>>>>>
Q. 30: What is Input Domain Testing?
It is the testing based on the interface of the module. In extremal testing, test data are chosen to cover the extremes of the input domain. Similarly, midrange testing selects data from the interiors of domains. For structured input domains, combinations of extremal points for each component are chosen. This procedure can generate a large quantity of data.
Reference: Technical archive from SEI – Software Engineering Institute
Read Part -4 of the Study Guide
Full Study Material for ISTQB Test Analyst & Technical Test Analyst Exam
An expert on R&D, Online Training and Publishing. He is M.Tech. (Honours) and is a part of the STG team since inception.