Testing the Programs
中国科学技术大学软件学院
孟宁
2012年12月
Contents
Software Faults and Failures
Testing Issues
Unit Testing
Integration Testing
Testing Object Oriented Systems
Test Planning
Automated Testing Tools
When to Stop Testing
Chapter 8 Objectives
Types of faults and how to clasify them
The purpose of testing
Unit testing
Integration testing strategies
Test planning
When to stop testing
Software Faults and FailuresWhy Does Software Fail?
Wrong requirement: not what the customer wants
Missing requirement
Requirement impossible to implement
Faulty design
Faulty code
Improperly implemented design
Software Faults and Failures Objective of Testing
Objective of testing: discover faults
A test is essful only when a fault is discovered
Fault identification is the process of determining what fault caused the failure
Fault correction is the process of making changes to the system so that the faults are removed
Software Faults and FailuresTypes of Faults
Algorithmic putation and precision fault
a formula’s implementation is wrong
Documentation fault
Documentation doesn’t match what program does
Capacity or boundary faults
System’s performance not acceptable when certain limits are reached
Timing or coordination faults
Performance faults
System does not perform at the speed prescribed
Standard and procedure faults
Software Faults and FailuresTypical Algorithmic Faults
An algorithmic fault occurs when ponent’s algorithm or logic does not produce proper output
Branching too soon
Branching too late
Testing for the wrong condition
Forgetting to initialize variable or set loop invariants
Forgetting to test for a particular paring variables of inappropriate data types
Syntax faults
Software Faults and FailuresOrthogonal Defect Classification 正交缺陷分类
Fault Type
Meaning
Function
Fault that affects capability, end-user interface, product interface with hardware architecture, or global data structure
Interface
Fault
高级软件工程课件-软件测试 来自淘豆网www.taodocs.com转载请标明出处.