Software Testing 01 - Overview

陈嘉荣
2023-12-01

1.The purpose of software testing

The purpose of testing it to demonstrate that their is a discrepancy between an implementation and its specification

2.Fault、Failure and Error

Failures and errors are the result of faults.

2.1 Fault
A fault is an incorrect step, process, or data definition in a computer program. In systems, it can be more complicated and may be the result of an incorrect design step or a problem in manufacture.

2.2 Failure
A failure occurs when there is a deviation of the observed behaviour of a program, or a system, from its specification. A failure can also occur if the observed behaviour of a system, or program, deviates from its intended behaviour which may not be captured in any specification.

2.3 Error
An incorrect internal state that is the result of some fault. An error may not result in a failure – it is possible that an internal state is incorrect but that it does not affect the output.

3.Debug Process

(1) Detect system failures by choosing test inputs carefully;
(2) Determine the faults leading to the failures detected;
(3) Repair and remove the faults leading to the failures detected;
(4) Test the system or software component again.

4.Test Process

4.1 Test Case Selection
4.2 Test Execution
4.3 Test Evaluation
4.4 Test Reporting

4.Test Plan

5.Testability

Testability is composed of two measures: controllability and observability.

(i) The controllability of a software artifact is the degree to which a tester can provide test inputs to the software.
(ii) The observability of a software artifact is the degree to which a tester can observe the behaviour

of a software artifact, such as its outputs and its effect on its environment.

6.Principles

(1) A necessary part of a test case is a definition of the expected output or result.

(2) A programmer should avoid attempting to test his or her own program.

(3) The probability of the existence of more errors in a section of a program is proportional to the numbers already found in that section.

7.Input Domains
Systematic testing aims to cover the full input domain with test cases so that we have assurance – confidence in the result – that we have not missed testing a relevant subset of inputs.

8.Black-Box and White-Box Test Case Selection Strategies
(1) Black-box Testing
Where test cases are derived from the functional specification of the system;
(2) White-box Testing
Where test cases are derived from the internal design specifications or actual code for the program (sometimes referred to as glass-box).

9.Error Guessing

 类似资料:

相关阅读

相关文章

相关问答