Understanding Class-level Testability through Dynamic Analysis_Personal_Custmized
نویسندگان
چکیده
It is generally acknowledged that software testing is both challenging and time-consuming. Understanding the factors that may positively or negatively affect testing effort will point to possibilities for reducing this effort. Consequently there is a significant body of research that has investigated relationships between static code properties and testability. The work reported in this paper complements this body of research by providing an empirical evaluation of the degree of association between runtime properties and class-level testability in object-oriented (OO) systems. The motivation for the use of dynamic code properties comes from the success of such metrics in providing a more complete insight into the multiple dimensions of software quality. In particular, we investigate the potential relationships between the runtime characteristics of production code, represented by Dynamic Coupling and Key Classes, and internal class-level testability. Testability of a class is considered here at the level of unit tests and two different measures are used to characterise those unit tests. The selected measures relate to test scope and structure: one is intended to measure the unit test size, represented by test lines of code, and the other is designed to reflect the intended design, represented by the number of test cases. In this research we found that Dynamic Coupling and Key Classes have significant correlations with class-level testability measures. We therefore suggest that these properties could be used as indicators of class-level testability. These results enhance our current knowledge and should help researchers in the area to build on previous results regarding factors believed to be related to testability and testing. Our results should also benefit practitioners in future class testability planning and maintenance activities.
منابع مشابه
Bytecode-based Analysis for Increasing Class-Component Testability
Software testing attempts to reveal software faults by executing the program on input values and comparing the outputs from the execution with expected outputs. Testing software is easier when testability is high, so increasing testability allows the detection of faults to be done more efficiently. Component-based software is often constructed from third party software components. When this is ...
متن کاملAn integrated approach to behavioral-level design-for-testability using value-range and variable testability techniques
This research applies formal dataflow analysis and techniques to high-level DFT. Our proposed approach improves testability of the behavioral-level circuit description (such as in VHDL) based on propagation of the value ranges of variables through the circuit’s Control-Data Flow Graph (CDFG). The resulting testable circuit is accomplished via controllability and observability computations from ...
متن کاملSwitch-level testability of the dynamic CMOS PLA
Functional testing, as opposed to parametric testing, plays an important role in testing VLSI integrated circuits. However, it appears that designs are not always carefully analysed in advance to determine precisely which faults are clean, i.e. testable by logic means alone. The programmable logic array (PLA) is a popular circuit form used to implement a system of Boolean functions over a set o...
متن کاملEfficient O(sqrt(n)) BIST Algorithms for DDNPS Faults in Dual-Port Memories
The testability problem of dual port memories is investigated. Architectural modifications to enhance the testability by allowing multiple access of memory cells with minimal overhead on both silicon area and device performance are described. New fault models are proposed and efficient O( n ) test algorithms are described for both the memory array and the address decoders. The new fault models ...
متن کاملDatapath Testability Improvement through ad hoc Controller Modifications
Even if a datapath has been synthesized with testability in view, its testability may strongly decreases once it is connected to its controller. In this paper, we propose controller modifications for restoring the testability of the datapath to a level close to the initial one. Those modifications concern the next state logic as well as the decoder part of the controller. The method is based on...
متن کامل