Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Lecture Outline
Software testing motivation. What is a software testing? Why software fail? What is cost of software failures? What makes a good software tester?
Disneys first multimedia CD-ROM game for kids. Released at Christmas season. 26th December.. Customer Supports Nightmare. The CD was testing only for specific PC platform. It failed on many popular PC operating system.
3
(4195835/3145727)* 3145727 - 4195835 If answer is ZERO, your computer is fine. Anything else, you have old Intel Pentium CPU with floating-point division bug. A software bug burned into a computer chip and reproduced over and over in the manufacturing process.
4
3rd December 1999, Mars Polar Lander disappeared during its landing attempt. Failure Review Board concludes the likely failure reason was the unexpected setting of a single data bit. Most alarming was why the problem was not caught by internal tests.
5
Flight between Perth, Australia and Kuala Lampur, Malaysia zoomed 3,000 feet upwards. A defective software program had provided incorrect data about the aircrafts speed and acceleration, confusing flight computers.
6
QA sets standards that project members (including testers) should follow in order to build a better software.
8
Correctness of software with respect to requirements or intent; Performance of software under various conditions; Robustness of software, its ability to handle erroneous input and unanticipated conditions; Installation and other facets of a software release.
9
Basic Definitions
Failure
There is a deviation of the observed behavior of a program or a system from its specification.
Fault
Error
Trivial Example
Failure
Fault
11
Trivial Example
Correct Result
12
Important Considerations
Detect system failures by choosing test inputs carefully. Determine the faults leading to the failures detected. Repair the faults leading to the failures detected; and Re-test the module/system.
13
14
15
Failure Costs
Software Testers
Good understanding of the development process and its products. Ability to anticipate likely faults and errors.
17
Semantics of programs
Squeeze Function
Semantics of C are such that integers and characters are somewhat interchangeable. Input Domain - set of values of type int. Input domain can vary on different types of machines.
Fibonacci Function
18
Semantics of programs
A unique output.
Different methods required for nondeterministic programs. Similarly, programs may terminate or not terminate.
19
Key Points
Software testing is the process of discovering evidence of defects and failures in software systems. Test early, test often, test enough. Testers should have good understanding of the development process, product.
20
Announcements
Quiz # 4
Wednesday 24/12/2008.
21