software testing genius

Reliability Testing and Assessment of Risks due to Poor Reliability

Welcome to “Software Testing Genius”. Subscribe to my RSS feed for latest content on Software Testing.

Reliability Testing & Assessment of Risks due to Poor Reliability

Reliability tests are designed to confirm whether the software will work in the expected environment for an acceptable amount of time without degradation. It is quite difficult to perform reliability testing effectively and generally it becomes more & more difficult due to the lack of clear requirements.

Everyone expects the software to "Work", but no one prefers to define what "Work" means.

This is the great challenge ISTQB certified "Technical Test Analysts" encounter while planning and executing the reliability tests.

What is the meaning of reliability?

First of all let us understand the meaning of reliability; reason being, reliability is generally less understood as compared to other quality attributes like functionality, performance, and security.

Reliability describes the ability of the software product to perform its required functions under stated conditions for a specified period of time or for a specified number of operations. Thus while talking about reliability, we consider following two important factors

1) "Doing

what?" (Stated conditions)

2) "For how long?" (Time or operations)

Reliability is measured by a specific failure intensity metric, like the mean time between failures (MTBF). Software that fails on average once a week is considered less reliable than software that fails once a month. We need to differentiate between the severity of those failures and the conditions under which the software was operating (the "doing what?" element of the reliability definition).

How can we increase the Software Reliability?

Software reliability can be improved by programming practices that "catch" error conditions as they occur and handle them in a defined manner.

E.g. generate an error message, do some alternative action, use default values if calculated values are found to be incorrect in some way.

This ability of the software to maintain a specified level of performance and not to break when a failure or an unexpected event takes place is called "Fault Tolerance". We can use the word "Robustness" also for this.

An important aspect of reliability refers to the ability of software to reestablish a specified level of performance and recover any data directly affected by the failure.

The "Recoverability" of software can be considered by following two aspects:

1) Fail-over capability: This refers to the ability to maintain continuous system operations even in the event of failure. In this case, the re-establishing of a specified level of performance may actually take place seamlessly and without getting noticed by the end users.

2) Restore capability: This refers to the ability to minimize the effects of a failure on the system's data. If the recovery is required to take place as a result of some catastrophic event like fire or earthquake etc. we call it "Disaster Recovery".

While considering the recoverability aspects of reliability, we need to provide due consideration to the impact of a failure or disruption:

1) The criticality of system failures

2) The consequences of interruptions in normal operations (whether planned or not)

3) The implications of any data losses resulting from failures

What are the activities of Reliability Test Planning?

Test planning focuses on all the reliability attributes & performing following primary activities:

1) Assessment of risks associated with reliability
2) Definition of an appropriate testing approach to address those risks

3) Setting reliability goals

4) Scheduling the tests

What can be the effects of poor reliability on different applications?

Reliability risks can affect different types of system as well as different types of industries.

Few examples of applications where high reliability levels can be expected are being described in the table given below.


Type of Application

Consequence of Poor Reliability


Control software for chemical processes that need to run continuously

Exposure to the risk of uncontrolled chemical reactions taking place


Software for military surveillance radar

Risk to a country's defenses


Online systems with worldwide user bases (e.g., eBay, Amazon)

Considerable financial loss and damage to their corporate images


Check-in software for airlines

Delays to passengers and loss of market share


Service Oriented Architectures (SOA) in which web-based business services offer general services for use by other applications

Loss of functionality for any application using this service

Following are the examples where poor software recoverability can pose significant threats.


Type of Application

Consequence of Poor Recoverability


Safety-critical software that must not fail while in operation (e.g., flight control software).

Exposure to safety risk (e.g. aircraft crash).


Business applications that, for example, make use of external systems and must provide at least basic standby functionality despite failure in those external systems.

E.g., an online movie ticket reservation system may rely on an external application for credit card validation. If this fails, the system must still be able to accept reservations for later confirmation.

Basic standby functionality cannot be provided.

In the example, the online movie ticket reservation system cannot accept unconfirmed reservations and will cause its business owner loss of revenue.


Any application where downtimes must be minimized and could even be regulated by Service Level Agreements.

E.g. a system for automatically collecting money from users of a rail network.

System takes too much time to restore to an agreed-upon level of service following failure or planned downtime.

In the example, the system may not have recovered after scheduled night time maintenance by the time the rush hour starts. The system owner loses money, the operator may be fined for breach of SLA, and the users pay nothing.


Any application where data backups are considered a necessity. E.g. an application used by sales force may need to regularly back up its customer database.


Data loss as a result of scheduled or unplanned application downtime. In the example, the sales force may actually lose customer data (with a variety of consequences according to what data was lost for which customer).

Full Study Material for ISTQB Test Analyst & Technical Test Analyst Exam

ISTQB Advanced CTAL Test Manager Exam - Full Crash Course for Download

Consolidated Study Material - All ISTQB Certification Exams

What Successful Testers say about the Quality of this website

If you want to keep track of further articles on Software Testing,
I suggest you to subscribe my
RSS feed

You can also Subscribe by E-mail
and get All New articles delivered directly to your Inbox.

Quick Navigation of Software Testing Genius

Get your Absolutely Free Copy of Several MS PowerPoint Presentations & E-Books related to ISTQB, HP Load Runner, IBM RFT, HP QTP & QC Certification Exams, prepared by Popular Writers & Trainers, by writing to:

Study Material for Certification Exams on Other Automation Tools:

Download Full Study Material - HP QTP & QC Certification Exams

Practical Roadmap to QTP Certification

Rehearsal of QTP in 1 Hr. -  Interview Questions

Study Material - HP LoadRunner Certification Exams for All Modules

Rehearsal of LoadRunner in 1 Hr. -  Interview Questions

Study Material - IBM RFT Certification Exam

Study Material to prepare for Manual Testing & QA:

Practical Roadmap to CSTE Certification

Consolidated Study Material - Testing & QA


Comments :


Leave Your Comments: (*) Marked Fields are Mandatory

You can apply basic formatting to the text

Name *
Email Address *
Speak your mind
sex hikayeleri