A General Testability Theory: Classes, Properties, Complexity, and Testing Reductions

  title={A General Testability Theory: Classes, Properties, Complexity, and Testing Reductions},
  author={Ismael Rodr{\'i}guez and Luis Llana and Pablo Rabanal},
  journal={IEEE Transactions on Software Engineering},
In this paper we develop a general framework to reason about testing. The difficulty of testing is assessed in terms of the amount of tests that must be applied to determine whether the system is correct or not. Based on this criterion, five testability classes are presented and related. We also explore conditions that enable and disable finite testability, and their relation to testing hypotheses is studied. We measure how far incomplete test suites are from being complete, which allows us to… 
A Framework for Testability Analysis from System Architecture Perspective
It is shown that choosing the appropriate testing architecture through careful modularization can greatly enhance efficiency and effectiveness of system testing.
How to Reduce the Cost of Passive Testing
  • César AndrésA. Cavalli
  • Computer Science
    2012 IEEE 14th International Symposium on High-Assurance Systems Engineering
  • 2012
Within this approach automatically the number of invariants that must be checked can be decreased at runtime, which causes a reduction in the cost of the testing task without loosing any power of error detection.
A survey on software testability
A Study of the Relationship between System Testability and Modularity
It is shown that adopting and appropriate testing architecture through careful modularization can greatly enhance efficiency and effectiveness of system testing.
A Cost-Aware Test Suite Minimization Approach Using TAP Measure and Greedy Search Algorithm
This research aims to develop an effective test suite reduction approach for regression testing using TAP-measure which is specially developed for measuring the importance of test cases.
Implementation issues in optimization algorithms: do they matter?
One of the most studied combinatorial optimization problems – the Traveling Salesman Problem – is used as a test bed and two state-of-the-art approaches for solving it are implemented – the Lin-Kernighan Heuristic and an Ejection Chain Method.
Identifying characteristics of Java methods that may influence branch coverage: An exploratory study on open source projects
The main purpose of this paper is to present an investigation conducted by us to identify the differences between methods whose branches were fully covered and the methods that have been partially covered.
A Concept for Test Case Prioritization Based upon the Priority Information of Early Phase
This paper scout that whether early phase (requirement and design) priority information associate with the tradition code analysis phase can improve the effectiveness of prioritization of test case techniques.
Assessing Metaheuristics by Means of Random Benchmarks


A General Testability Theory
We present a general framework allowing to classify testing problems into five testability classes. Classes differ in the number of tests we must apply to precisely determine whether the system is
Prioritizing JUnit Test Cases: An Empirical Assessment and Cost-Benefits Analysis
The analyses show that test case prioritization can significantly improve the rate of fault detection of JUnit test suites, but also reveal differences with respect to previous studies that can be related to the language and testing paradigm.
Comparing test sets and criteria in the presence of test hypotheses and fault domains
This article explores an alternative approach, in which comparisons are made in the presence of a test hypothesis or fault domain, which allows strong statements about fault detecting ability to be made and yet for a number of test sets and criteria to be comparable.
Verdict functions in testing with a fault domain or test hypotheses
The analysis of the presence of a fault domain or test hypotheses affects the notion of a test verdict reveals the need for new verdicts that provide more information than the current verdicts and for verdict functions that return a verdict based on a set of test runs rather than a single test run.
Weak Mutation Testing and Completeness of Test Sets
  • W. Howden
  • Computer Science
    IEEE Transactions on Software Engineering
  • 1982
An error-based method called weak mutation testing is described, in which tests are constructed which are guaranteed to force program statements which contain certain classes of errors to act incorrectly during the execution of the program over those tests.
A Simple and Practical Approach to Unit Testing: The JML and JUnit Way
A new approach that makes writing unit tests easier is presented, which uses a formal specification language's runtime assertion checker to decide whether methods are working correctly, thus automating the writing of unit test oracles.
Using Vapnik-Chervonenkis Dimension to Analyze the Testing Complexity of Program Segments
We examine the complexity of testing different program constructs. We do this by defining a measure of testing complexity known as VCP-dimension, which is similar to the Vapnik?Chervonenkis
Fault Model-Driven Test Derivation from Finite State Models: Annotated Bibliography
The annotated bibliography highlights work in the area of algorithmic test generation from formal specifications with guaranteed fault coverage, i.e., fault model-driven test derivation. A fault