Lecture 1 - SW Testing-Background, IEEE Stds
Lecture 1 - SW Testing-Background, IEEE Stds
Course evaluation:
Tutorials/Quiz 10%
Assignment 20%
Reference Books:
1. IEEE Standard for Software Verification and Validation (IEEE Std 1012-2004)
2. IEEE Standard for Software Test Documentation (IEEE Std 829-1998).
3. Ron Patton, Software Testing (2nd Edition), Sams, 2006.
4. Steven Rakitin, Software Verification and Validation for Practitioners and Managers, (Second Edition),
Artech House Publishers, 2001.
5. Aristides Dasso and Ana Funes, Verification, Validation And Testing in Software Engineering, Idea Group
Publishing , 2006.
6. Cem Kaner, Jack Falk, Hung Q. Nguyen, Testing Computer Software, (2nd Edition), Wiley, 1999.
Software Testing Background
• They scrambled to figure out why and discovered, stuck between a set
of relay contacts deep in the bowels of the computer, was a moth.
• It had apparently flown into the system, attracted by the light and heat,
and was zapped by the high voltage when it landed on the relay.
• Defect
• Fault
• Problem
• Error
• Incident
• Anomaly
• Variance
• Failure
• Inconsistency
• Feature
• Bug
Software Bug
Specification
Design
Reasons for the existence of bugs …
• Specification
- It keeps changing.
- There is no effective communication to the
entire development team.
- Software planning is not done accordingly.
• Design
- The programmers lay out their plan for the software.
- Bugs occur here for the same reason they occur in
the specification.
- It’s rushed, changed, or not well communicated.
Reasons why bugs exist …
$1000
$100
$10
$1
Figure 1: The cost to fix bugs can increase dramatically over time
Software Tester
Verification
The process of evaluating a system or component to determine whether the products of a given
development phase satisfy the conditions imposed at the start of that phase.
Validation
The process of evaluating a system or component during or at the end of the development
process to determine whether it satisfies specified requirements.
Software
Computer programs, procedures, and possibly associated documentation and data pertaining to
the operation of a computer system.
Testing
An activity in which a system or component is executed under specified conditions, the results
are observed or recorded, and an evaluation is made of some aspect of the system or
component.
Test Plan
A document describing the scope, approach, resources, and schedule of intended test
activities. It identifies test items, the features to be tested, the testing tasks, who will do each
task, and any risks requiring contingency planning.