You are on page 1of 37

SOFTWARE TESTING (ECS702)

UNIT 1 – DAY 1
SOFTWARE TESTING OVERVIEW
• SOFTWARE TESTING HISTORY

• ERROR-FAULT-FAILURE-INCIDENT
2
3
THINK….THINK… THINK

• AIR Ticketing app charged for 2 TWO AIR Ticket, BUT you bought ONE
• A flight can take off, BUT has challenge in landing
• You paid the toll but the door does not open….
• You always look for “expiry date” when you buy medicine / food item
• There are more…………….

4
• Video

5
FEW SOFTWARE DISASTERS…

Project Mercury’s FORTRAN code had the following fault:


Bug in
DO I=1.10 instead of ... DO I=1,10
Space Code The erroneous 1.10 would cause the loop to be executed exactly once!

Airbus
Crash of an Airbus A400M due to quality issue in the parts of the flying machine (01/Jul/2015)
Crash

MARS WASHINGTON (AP) Mars Climate Orbiter was speeding through space and speaking to NASA in
Orbiter metric for nine months. In fact, the engineers on the ground were replying in non-metric
Loss English.(23/Sep/1999)

NORTH-
EAST NEW YORK (AP) – The programming error caused alarm failure (8/14/2003)
Blackout
Military
An F-18 crashed because of a missing exception condition:
Aviation
if ... then ... without the else clause that was thought could not possibly arise
Problem

6
… LEAD TO ADVERSE EFFECTS
• Space Applications: Lost lives, launch delays.
• Money Management: Fraud, violation of privacy, shutdown of stock exchanges and banks,
negative interest rates.
• Control of Elections: Wrong results (intentional or non-intentional).
• Control of Jails: Technology-aided escape attempts and successes, accidental release of
inmates, failures in software controlled locks.
• Law Enforcement: False arrests and imprisonments.
• Communications: Loss or corruption of communication media, non delivery of data.
• Defense and Warfare: Misidentification of friend or foe.
• Transportation: Deaths, delays, sudden acceleration, inability to brake.
• Safety-critical Applications: Death, injuries.
• Electric Power: Death, injuries, power outages, long-term health hazards (radiation)

7
GUESS??

8
EXPLAIN?

9
SO WHY IS TESTING NECESSARY?

• because software is likely to have faults


• to learn about the reliability of the software
• to fill the time between delivery of the software and the release date
• to prove that the software has no faults
• because testing is included in the project plan
• because failures can be very expensive
• to avoid being sued by customers
• to stay in business

10
INTERESTING…

11
SOFTWARE TESTING HISTORY

Before 1956: The Debugging-Oriented Period


Testing was not separated from debugging
1957~78: The Demonstration-Oriented Period
Testing to make sure that the software satisfies its specification
1979~82: The Destruction-Oriented Period
Testing to detect implementation faults
1983~87: The Evaluation-Oriented Period
Testing to detect faults in requirements and design as well as in
implementation
Since 1988: The Prevention-Oriented Period
Testing to prevent faults in requirements, design, and implementation

12
SOFTWARE TESTING EVOLUTION

13
IMPACT OF CASUAL ATTITUDE MAY CAUSE LOSS TO BUSINESS

14
SOFTWARE QUALITY CONTROL (QC)

QC is
 set of procedures
 used by organizations
 to ensure that software product meets it’s quality goals
at the best value to the customer

It’s a continuous improvement journey of the


organization to produce software products in the future.

These specified procedures and outlined requirements


leads to the idea of Verification & Validation and software
testing.

15 15
VERIFICATION VS.VALIDATION

• Verification: Are we building the product right?


The software should confirm to its specification
Example : Reviews

• Validation: Are we building the right product?)


The software should do what the user really requires
Example : Testing

Validation and Verification process continue in a cycle till


the software becomes defects free.

16
SOFTWARE TESTING

A quality control activity aimed at


evaluating a software item against the given
system requirements.

In nut shell, the process of executing a


program or application with the intent of
finding software bugs.

Testing is a QC activity.

17 17
WHAT IS A COMPUTER BUG?

• In 1947, Harvard University was operating a


room-sized computer called Mark II.
• A moth flew into the computer and was zapped
by the high voltage when it landed on a relay.

Hence, the first computer bug!

18
SOFTWARE “BUG”

Things the software does that while it is


not supposed to do,
or
something the software doesn’t do
while it is supposed to.

19 19
SO WHY SOFTWARE HAVE BUGS?

• Miscommunication or no
communication
• Programming errors
• Changing requirements
• Time pressures
• Ego
• Poorly documented code
• Incorrect or inadequate
interfaces with other systems
etc.

20 20
WHO SHOULD TEST ?

21
DO’S & DON’TS

Testers DO Testers DO NOT DO


1. Find the bugs 1. Fix the bugs!
2. Find them early 2. Test with good faith!
3. Make sure that they have been fixed 3. Test with no requirements!
4. Not to report the obvious bugs!
5. Mock at others because of their bugs!

22 22
WHAT IS NOT SOFTWARE TESTING?

• Formal verification and analysis


• Code review
• Debugging
• Testing is NOT debugging
• Debugging is NOT testing

23 23/50
COST TO FIX DEFECT

24
BUGS A.K.A. …

• Defect • Failure
• Fault • Inconsistency
• Problem • Product Anomaly
• Error • Product Incidence
• Incident • Feature :-)
• Anomaly
• Variance

25
ERROR. FAULT. BUG. FAILURE

A person makes
an error ...

… that creates a fault in


the software ...

… that can cause a failure


in operation

26
ERROR. FAULT. BUG. FAILURE

ERROR is the terminology of the developer which includes


software engineers, programmers, analysts, and testers.

An error is a mistake, misconception, or misunderstanding on the


part of a software developer.
A developer may misunderstand a de-sign notation, or a
programmer might type a variable name incorrectly – leads to an
Error.
Error normally arises in software; it leads to change the
functionality of the program.

Example: message box text said "Welcome null."

27
ERROR. FAULT. BUG. FAILURE

An incorrect step, process or data definition in a computer program which


causes the program to perform in an unintended or unanticipated manner. A
fault is introduced into the software as the result of an error. It is an anomaly
in the software that may cause it to behave incorrectly, and not according to
its specification. It is the result of the error.

Example: account name field is not set properly.

28
ERROR. FAULT. BUG. FAILURE

Bug is terminology of the Tester.

A bug is the result of a coding error.


An Error found in the development environment before the product is
shipped to the customer. A programming error that causes a program to work
poorly, produce incorrect results or crash. An error in software or hardware
that causes a program to malfunction.

29
ERROR. FAULT. BUG. FAILURE

• It is an event.
• Deviation of the software from its expected result.
• In nutshell, the inability of a system or component to fulfill its required
functions within specified performance requirements.

When a defect reaches the end customer it is called a Failure. During


development Failures are usually observed by testers

30
WHAT IS THIS?

An Error?
A failure?
A Fault?
We need to describe specified and
desired behaviour first

31
ALGORITHM “FAULT”

32
OUTCOME … “FAILURE”

33
EXPECTED FROM A GOOD TESTER

34
CONCLUSION

• One certainty is that without sufficient testing any piece of software will
eventually fail, leaving the user base unhappy and in search of another solution.
• All companies want happy users, and thus effective software testing is of
paramount importance to their future and bottom line.

35
Q&A
THANKS

You might also like