Page 13 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 13
Software Testing and Quality Assurance
to 100 rupees. If the same bug is found by the customer, then the cost would be very high, that is, the
cost the company has to pay can be from a few thousands to a few lakhs. Along with it, the reputation
of the company will also be damaged.
Costly Bug that Caused the Death of Soldiers
The Patriot missile defense system of U.S. Defence forces was first put to use during the Gulf War
(1990/1991) as a counter attack against the Iraqi Scud missiles. Though the Patriot is considered to be a
very successful anti-missile system, it failed to defend against the enemy missiles attacks several
times. A well known incident is the killing of 28 U.S. soldiers in Dhahran, Saudi Arabia. This incident
took place since the anti-missile system had failed to defend against the enemy missile attack.
Later it was found that the failure had occurred due to a bug. Due to a simple timing error in the anti-
missile system’s clock, the tracking system was not accurately tracking the anti-missiles after 14 hours
and the missile system was operational in Dhahran for more than 100 hours.
1.3 Software Development Models
A software life cycle development model describes the different phases or activities of a project from its
conception. Various software development models are used based on the requirement of the project. We
shall now describe some of the most popular and widely used software development models, which
include the waterfall model, V model, spiral model, RAD model, prototyping model, and Agile model.
According to the nature of the model, the testing approach also differs.
1.3.1 Waterfall Model
This is one of the oldest software lifecycle models. The process starts at the system level and is followed
by various phases like the analysis, design, coding, testing and maintenance as depicted in figure 1.1.
Figure 1.1: Waterfall Model
1. System Engineering: In this phase, system requirements that are essential for the development of
the software are defined. These requirements mainly define the software and the hardware
requirements relevant for the software development process.
2. Analysis: In this phase, the developers conduct feasibility studies to define the goals of
development. The performance and interfacing requirements for the software are listed out.
6 LOVELY PROFESSIONAL UNIVERSITY