Orthogonal array testing
   HOME

TheInfoList



OR:

Orthogonal array testing is a systematic and statistically-driven
black-box testing Black-box testing, sometimes referred to as specification-based testing, is a method of software testing that examines the functionality of an application without peering into its internal structures or workings. This method of test can be applie ...
technique employed in the field of
software testing Software testing is the act of checking whether software satisfies expectations. Software testing can provide objective, independent information about the Quality (business), quality of software and the risk of its failure to a User (computin ...
. This method is particularly valuable in scenarios where the number of inputs to a
system A system is a group of interacting or interrelated elements that act according to a set of rules to form a unified whole. A system, surrounded and influenced by its open system (systems theory), environment, is described by its boundaries, str ...
is substantial enough to make exhaustive testing impractical.


Overview

Orthogonal array testing works on the premise of selecting a
subset In mathematics, a Set (mathematics), set ''A'' is a subset of a set ''B'' if all Element (mathematics), elements of ''A'' are also elements of ''B''; ''B'' is then a superset of ''A''. It is possible for ''A'' and ''B'' to be equal; if they a ...
of test cases from a large
pool Pool may refer to: Bodies of water * Swimming pool, usually an artificial structure containing a large body of water intended for swimming * Reflecting pool, a shallow pool designed to reflect a structure and its surroundings * Tide pool, a roc ...
of potential inputs. This selection is based on statistical methods to ensure that the chosen subset represents the whole input space. As a result, serious bugs can be identified while the number of tests necessary to do so is greatly reduced.


Benefits

* Reduced testing cycle time: By strategically selecting test cases, the testing process becomes more efficient, leading to time savings. * Simplified analysis: The structured nature of orthogonal array testing makes analysis straightforward and less complex. * Balanced test cases: This technique ensures that test cases are well-balanced, making it easier to isolate defects and assess performance. * Cost savings: It offers a significant cost advantage over pair-wise testing, making it an economical choice for testing large-scale software systems.


Cons

* Limited applicability: This technique is most effective when the number of inputs is relatively small. In cases with an extremely large number of inputs, it may not be as efficient. * Complex implementation: Properly designing orthogonal arrays requires a good understanding of statistical principles, which may pose a challenge for some testing teams. * May miss specific edge cases: While orthogonal arrays are designed to cover a broad range of scenarios, they may not capture very specific edge cases that could be crucial in certain applications.


Applications

*
User Interface In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fro ...
Testing: Orthogonal array testing is employed to evaluate the user interface of software applications. It aids in identifying interface-related anomalies and inconsistencies. *
System Testing System testing, a.k.a. end-to-end (E2E) testing, is testing conducted on a complete software system. System testing describes testing at the system level to contrast to testing at the system integration, integration or unit level. System t ...
: It is used to validate the functionality of entire systems, ensuring that they perform as specified in their requirements. *
Regression Testing Regression testing (rarely, ''non-regression testing'') is re-running functional and non-functional tests to ensure that previously developed and tested software still performs as expected after a change. If not, that would be called a '' regr ...
: Orthogonal array testing is effective in the detection of regressions, ensuring that new updates or modifications do not introduce unintended consequences. * Configuration Testing: This technique is valuable in assessing different configurations of software, ensuring compatibility across diverse environments. * Performance Testing: It can be applied to evaluate the performance characteristics of software systems, helping to identify potential bottlenecks or performance issues.


Principle of Orthogonality

Orthogonal array testing works based on something called orthogonal arrays. These are organized lists of different factors. When we use them, we make sure that the results we get from each factor are not connected or related. This means each test gives us new and unique information. This way of organizing inputs helps us avoid repeating tests and get the same info with the least number of
experiments An experiment is a procedure carried out to support or refute a hypothesis, or determine the efficacy or likelihood of something previously untried. Experiments provide insight into Causality, cause-and-effect by demonstrating what outcome o ...
.


Orthogonal vector

The concept of orthogonal vectors in orthogonal arrays is fundamental to understanding orthogonal array testing. Orthogonal vectors possess key properties: * Unique Information: Each vector imparts information distinct from any other vector in the sequence, thereby avoiding redundancy. * Separability: Through linear addition, the signals can be easily separated. * Statistical Independence: Each vector is statistically independent of the others, signifying a lack of correlation between them. * Resultant Summation: When subjected to linear addition, the resultant is the arithmetic sum of the individual components


References


External links

* * * * * {{Software testing Survival analysis Design of experiments