Bertolino-Marchetti-p393

Bertolino-Marchetti-p393 - A Brief Essay on Software...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon
A Brief Essay on Software Testing - Antonia Bertolino, Eda Marchetti Presented by Gargi Chipalkatti (Software Engineering II - EEL 6883)
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Testing Testing refers to many different activities used to check a piece of software Even after successful completion of an extensive testing, the software can still contain faults Testing can never prove the absence of defects, it can only possibly reveal the presence of faults by provoking malfunctions
Background image of page 2
Definition - Testing Definition Software Testing consists of the dynamic verification of the behavior of a program on a finite set of test cases, suitably selected from the usually infinite executions domain, against the specified expected behavior. Explanation Dynamic – means that testing implies executing the program on (valued) inputs Finite – means that only a limited number of test cases can be executed during the testing phase, chosen from the whole test set, that can generally be considered infinite Selected – refers to the test techniques adopted for selecting the test cases (and testers must be aware that different selection criteria may yield vastly different effectiveness) Expected – points out to the decision process adopted for establishing whether the observed outcomes of program execution are acceptable or not
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Goals for Testing Detection of “bugs” in the software Increase confidence in the proper functioning of the software Assist with the evaluation of functional and nonfunctional properties (as well as performance characteristics) Exposing potential design flaws Exposing deviations from user’s requirements Measuring the operational reliability Producing estimates of software reliability
Background image of page 4
Tasks associated with Testing Deriving an adequate suite of test cases, according to a feasible and cost-effective test selection technique The ability to launch the selected tests (in a controlled host environment, or worse in the tight target environment of an embedded system) Deciding whether the test outcome is acceptable or not (which is referred to as the test oracle problem) Evaluating the impact of the failure and finding its direct cause (the Fault), and the indirect one (via Root Cause Analysis) Judging whether testing is sufficient and can be stopped Measuring the effectiveness of the tests
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Terms used in Testing Definitions Fault – The cause of a failure, e.g., a missing or incorrect piece of code Error – An intermediate unstable state Failure – The manifested inability of the program to perform the function required, i.e., a system malfunction evidenced by incorrect output, abnormal termination or unmet time and space constraints.
Background image of page 6
Image of page 7
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 23

Bertolino-Marchetti-p393 - A Brief Essay on Software...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online