What Is RIP Model — Tentamen Software Testing Blog

Image for post
Image for post
Image by Dhruvil Patel from Pixabay

TL;DR

In the previous post, we explained the context where software fault, error, and failure are helpful. In this post, we introduce the RIP (Reachability, Infection, Propagation) Model that we use for mapping failure to a fault. We will introduce you to software testing based on the remarkable book, Introduction To Software Testing by Paul Ammann and Jeff Offutt.

The Context

RIP model is useful for stakeholders that understand product source code.

What Is Debugging

To distinguish debugging from testing, we will first give a definition of testing and test failure that is aligned with the Introduction To Software Testing Book.

Testing is evaluating software by observing its execution.

Testing failure is the execution that results in failure.

Debugging is a process of finding a fault given a failure.

Software tester by testing activity could find a failure. Then creates a bug report according to RIMGEA. A software developer reads a well-written bug report that could help in mapping failure to a fault. Debugging is one of the techniques that could be useful. Other are:

  • code review
  • unit-testing
  • pair programming

RIP Model

RIP Model is a fault/failure mapping model. Not all failures are observable. This model sets three conditions that need to be fulfilled, so failure could be detectable:

  1. Reachability
  2. Infection
  3. Propagation

Reachability

The location or locations in the program that contains fault must be reached using test data.

Infection

After reaching the program location with fault, the program must enter an error state.

Propagation

Error state must propagate, so program output is incorrect.

RIP Model is useful even when we have a case of missing code. In that case, program still reaches error state, because program counter that is part of program state, has invalid value.

Remember

When you test and find a bug, this is an easy part. Much more challenging is to relate that failure to software fault.

Originally published at https://blog.tentamen.eu on September 10, 2020.

Written by

Founder of Tentamen, software testing agency.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store