Showing posts with the label
STM
By the end of this topic, you will be able to: Interpret the control flow graph Identify the path products, path sums and path expressions Identify how the mathematical laws hold for the paths…
Domains and Testability The best approach to do domain is testing is to stay away from it by making things simple such that the testing is not required Orthogonal domain boundaries, consistent…
Domains and Range Closure Compatibility Span Compatibility Interface Range/Domain Compatibility Testing Finding the Values Domains and Range The set of output values produced by a function is c…
Testing One-Dimensional Domains Image shows possible domain bugs for a one-dimensional open domain boundary The closure can be wrong (i.e., assigned to the wrong domain) or the boundary (a po…
An interior point (on the screen image) is a point in the domain such that all points within an arbitarily small distance (called an epsilon neighborhood) are also in the domain Epsilon neighborho…
Ambiguities and Contradictions Simplifying the Topology Rectifying Boundary closures Ambiguities and Contradictions Domain ambiguities are holes in the input space These holes may lie eit…
Ugly Domains Some domains are born and some are made uglier by bad specifications Example: If the age limit for a job's eligibility is not defined clearly in the specifications document, it…
Linear and Non-linear Boundaries: Nice domain boundaries are defined by linear inequalities or equations Testing is affected by the following facts Only two points to determine a straight lin…
Where do these domains come from? Domains are defined by an imperfect iterative process which aims at achieving the satisfaction of user, buyer, voter etc.. The domains which are implemented c…
Domains and Paths Includes: Domain Dimensionality Bug Assumptions Restrictions to Domain Testing Domain Dimensionality Each input variable adds a dimension to the domain One variab…
Domains and Paths Includes: The Model A Domain is a Set Domains, Paths ad Predicates A Domain Closure The Model: The schematic representation of domain testing is as shown in the image A ro…
Testability Tips Try to close/kill all the data objects once they have been used Data flow anomalies and control flow problems can be detected by keeping all the p-uses at the same program le…
Applications of Data Flow Testing As per Sneed's study in 1986, the number of bugs detected by running 90% "data coverage" is twice as high as those detected by requiring 90% bran…
Slicing vs Dicing A (static) program slice is a part of a program (example: a selected set of statements) defined with respect to a given variable X (where X is a simple variable or a data v…
Ordering the Strategies Image shows the comparison of path flow and data flow testing strategies The arrows denote that the strategy at the arrow's tail is stronger than the strategy at the…
Strategies in Data Flow Testing are: All-du Paths (ADUP) The all-du-paths strategy is the strongest data flow testing strategy It requires that every du path form every definition of every var…
Strategies in Data Flow Testing Data Flow testing strategies are structural strategies In contrast to the path testing strategies, data flow strategies take in to account, what happens to dat…
Static vs Dynamic Anomaly Detection Static analysis is analysis done on source code without actually execution it Example: Source code syntax error detection is the static analysis result Dy…
Data flow anomaly model prescribes that an object can be in one of four distinct states: K : Undefined, previously killed, does not exist D: Defined, but not yet used for anything U : Has be…
An anomaly is denoted by a two character sequence of actions Example: 'ku' means that the object is killed and then used, where as 'dd' means that the object is defined twice with…