QA City

Most Popular

4 Effective Ways to Measure Software Reliability

By SiliconIndia   |  
Print Email

Bangalore: Software Reliability is the likelihood of software operating for a specified period of time in a given environment without failure. Software Reliability isn’t a direct function of time, the reliability of software reflects the design perfection whereas the reliability of the hardware reflects the manufacturing perfection. Extremely complex software introduces many reliability issues as the complexity of software is inversely related to software reliability.

Many software reliability models have emerged as people try to understand how and why software fails, and try to quantify software reliability. Measuring software reliability is difficult because we don't have a comprehensive understanding of the nature of software. There is no clear idea as to what influences software reliability. The current practices of software reliability measurement are as follows:

1.    Product Metrics
Software size reflects complexity. Lines Of Code (LOC), or LOC in thousands (KLOC) is an intuitive approach to measure software size initially. But this is not a standard way of counting. Usually, source code is used (SLOC, KSLOC) and non-executable statements are not counted. The advent of code reuses and code generation techniques cast doubt on this simple technique.

2.    Fault and Failure Metrics
The goal of collecting fault and failure metrics is to be able to establish when the software is approaching failure-free implementation. Both the number of faults found during testing (i.e., before delivery) and the failures (or other problems) reported by users after delivery are gathered and analyzed to achieve this. Test strategy is highly relative to the effectiveness of fault metrics, because if the testing scenario does not cover the whole working of the software, the software may pass all tests and yet be prone to failure once delivered. Usually, failure metrics are based upon customer information regarding failures found after the software has been released. The failure data collected is therefore used to calculate failure density, Mean Time Between Failures (MTBF) or other parameters to measure consistency of software.

3.    Project Management Metrics
Researchers have concluded that better management can result in better products. Research has demonstrated that there is a correlation between the development process and the ability to complete projects on time. Costs increase when developers use inefficient processes. Higher reliability can be attained by means of better development and risk management process.

4.    Process Metrics
Based on the assumption that the quality of the product depends directly on the process, process metrics can be used to improve the reliability and quality of software. ISO-9000 certification, or "quality management standards", is the generic reference for standards developed by the International Standards Organization (ISO).

Software reliability modeling has developed to a point where meaningful results can be obtained by applying suitable models to a problem. Assumptions and abstractions would have to be made to simplify the problem. There is no single model that is universal to all cases.

Sign Up for QA Digest and Read the Day's Highlights
Don't Miss
Experts on QA
Swaid Qadir Bhat
Sr System Architect
Virtusa Corporation
Subhash  Motwani
Prasad Rao Pasam
Ayaskanta  Mohanty
Managing Director
TATWA Technologies
Rajesh  Dagar
Software Architect
Connect Icon Pvt Ltd
Yasar  Khuthub
Software QA Manager
Azure IT Solutions
Sunil  Bhat
Project Management
HCL Infosystems Limi
Sharad  Agarwal
Team Lead
Write your comment now
This report is the result of the largest public-private sector rese...
For those not familiar with the Coverity Scan™ service, i...