Evaluating Testing Methods by Delivered Reliability
نویسندگان
چکیده
There are two main goals in testing software: 1) to achieve adequate quality (debug testing); the objective is to probe the software for defects so that these can be removed and 2) to assess existing quality (operational testing); the objective is to gain confidence that the software is reliable. The names are arbitrary, and most testing techniques address both goals to some degree. However, debug methods tend to ignore random selection of test data from an operational profile, while for operational methods this selection is all-important. Debug methods are thought, without any real proof, to be good at uncovering defects so that these can be repaired, but having done so they do not provide a technically defensible assessment of the reliability that results. On the other hand, operational methods provide accurate assessment, but may not be as useful for achieving reliability. This paper examines the relationship between the two testing goals, using a probabilistic analysis. We define simple models of programs and their testing, and try to answer theoretically the question of how to attain program reliability: Is it better to test by probing for defects as in debug testing, or to assess reliability directly as in operational testing, uncovering defects by accident, so to speak? There is no simple answer, of course. Testing methods are compared in a model where program failures are detected and the software changed to eliminate them. The “better” method delivers higher reliability after all test failures have been eliminated. This comparison extends previous work, where the measure was the probability of detecting a failure. Revealing special cases are exhibited in which each kind of testing is superior. Preliminary analysis of the distribution of the delivered reliability indicates that even simple models have unusual statistical properties, suggesting caution in interpreting theoretical comparisons.
منابع مشابه
Metrics for Evaluating the Performance of Software Tester and Testing Team
The major determining factor of software quality is the effectiveness of testing. The reliability of software project delivered depends on the performance of the individuals in charge for testing the software. Individual testers diverge in their effectiveness and efficiency. The factors contributing to this difference have not been so far well studied. There are no standard methods for assessin...
متن کاملDesigning, Fabricating, and Testing the Validity and Reliability of the Digital Headband for Cervical Proprioception Assessment: A Descriptive Study
Background and Objectives: Accuracy of proprioceptive input plays an important role in cervical motor control. Several methods have been used to evaluate the accuracy of proprioceptive input as a factor of cervical injury prevention or rehabilitation. The aim of this study was to introduce a new tool for evaluating the accuracy of cervical proprioception and determine its validity and reliabili...
متن کاملRobust Dynamic Selection of Tested Modules in Software Testing for Maximizing Delivered Reliability
Software testing is aimed to improve the delivered reliability of the users. Delivered reliability is the reliability of using the software after it is delivered to the users. Usually the software consists of many modules. Thus, the delivered reliability is dependent on the user’s operational profile which specifies how the users will use these modules as well as the defect number remaining in ...
متن کاملEmpirical Studies of Test Effectiveness and Delivered Reliability
White-box testing techniques based on control flow and data flow analysis have been widely studied in the software testing research literature, but there is no definitive answer to the question of how effective these techniques are at finding software faults. In the absence of data indicating how effective (and how expensive) these techniques are, it is hardly surprising that they have not been...
متن کاملA mathematical modeling framework for software reliability testing
Software reliability testing refers to various software testing activities that are driven to achieve a quantitative reliability goal given a priori or lead to a quantitative reliability assessment for the software under test. In this paper we develop a modeling framework for the software reliability testing process, comprising a simplifying model and a generalized model. In both models the sof...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- IEEE Trans. Software Eng.
دوره 24 شماره
صفحات -
تاریخ انتشار 1998