Effect of Testing Coverage on Software Reliability - an Experimental Investigation
نویسنده
چکیده
Logical expressions are often used to formalize software specifications of safety-critical systems. These logical expressions can be tested using software testing methods (criteria) that include Decision Coverage (DC), Condition Coverage (CC), Decision/Condition (D/CC), and Modified Condition/Decision Coverage (MC/DC). Selection of the appropriate testing method is an important practical task. A significant characteristic for this selection process is understanding the effect of testing methods on software reliability, specifically their ability to reveal faults. This paper provides experimental results for determining the probabilistic characteristics of effectiveness of testing criteria. A logical expression, which is typical for nuclear reactor protection system logic, is used as a case study for this research. Probabilities for a test set to reveal a fault in the logical expression are evaluated for DC, CC, D/CC, and MC/DC. Our experimental results show that, when compared with random testing, using DC, CC, or D/CC criteria do not provide significant benefits. At the same time, the results confirm that MC/DC is a reasonable and effective technique to test logical expressions in software.
منابع مشابه
Investigation on Reliability Estimation of Loosely Coupled Software as a Service Execution Using Clustered and Non-Clustered Web Server
Evaluating the reliability of loosely coupled Software as a Service through the paradigm of a cluster-based and non-cluster-based web server is considered to be an important attribute for the service delivery and execution. We proposed a novel method for measuring the reliability of Software as a Service execution through load testing. The fault count of the model against the stresses of users ...
متن کاملCapturing The Combined Effect Of Testing Time And Testing Coverage Using Two Dimensional Software Reliability Growth Models
Software Reliability is the likelihood of breakdown free operation of software in a provided time period under specified conditions. Software testing is a process to detect faults in the totality and worth of developed computer software. Testing is very essential tool in assuring the quality of the software by identifying different faults in software, and possibly removing them. But testing of ...
متن کاملCoverage-based testing strategies and reliability modeling for fault-tolerant software systems
Software permeates our modern society, and its complexity and criticality is ever increasing. Thus the capability to tolerate software faults, particularly for critical applications, is evident. While fault-tolerant software is seen as a necessity, it also remains as a controversial technique and there is a lack of conclusive assessment about its effectiveness. This thesis aims at providing a q...
متن کاملTwo Dimensional Software Reliability Growth Models Using Cobb-Douglas Production Function and Yamada S-Shaped Model
Software reliability is the likelihood of the failure free function of software in a given period of time under some certain circumstances. Software testing can be defined as the process to detect the faults in totality and worth of developed computer software. Testing is very much important in assuring the quality of the software by identifying faults in software, and also most possibly removi...
متن کاملA time/structure based software reliability model
The past 20 years have seen the formulation of numerous analytical software reliability models for estimating the reliability growth of a software product. The predictions obtained by applying these models tend to be optimistic due to the inaccuracies in the operational profile, and saturation effect of testing. Incorporating knowledge gained about some structural attribute of the code, such as...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011