Introduction to software testing = 软件测试基础 /
副标题:无
作 者:Paul Ammann, Jeff Offutt著.
分类号:
ISBN:9787111282464
微信扫一扫,移动浏览光盘
简介
《软件测试基础(英文版)》内容简介:Introduction to Software Testing(ISBN 978-0-521-88038-1)by Paul Ammann and Jeff Offuttfirst published by Cambridge University Press in 2008.
All rights reserved.
This reprint edition for the People'S Republic of China is published by arrangement with thePress Syndicate of the University of Cambridge,Cambridge,United Kingdom.
◎Cambridge University Press&China Machine Press in 2009.
This edition is for sale in the mainland of China only,excluding Hong Kong SAR,Macao SARand Taiwan,and may not be bought for export therefrom.
《软件测试基础(英文版)》由机械工业出版社和剑桥大学出版社合作出版。
目录
Preface
Part 1 Overview
1 Introduction
1.1 Activities of a Test Engineer
1.1.1 Testing Levels Based on Software Activity
1.1.2 Beizer's Testing Levels Based on Test Process Maturity
1.1.3 Automation of Test Activities
1.2 Software Testing Limitations and Terminology
1.3 Coverage Criteria for Testing
1.3.1 Infeasibility and Subsumption
1.3.2 Characteristics of a Good Coverage Criterion
1.4 Older Software Testing Terminology
1.5 Bibliographic Notes
Part 2 Coverage Criteria
2 Graph Coverage
2.1 Overview
2.2 Graph Coverage Criteria
2.2.1 Structural Coverage Criteria
2.2.2 Data Flow Criteria
2.2.3 Subsumption Relationships among Graph Coverage Criteria
2.3 Graph Coverage for Source Code
2.3.1 Structural Graph Coverage for Source Code
2.3.2 Data Flow Graph Coverage for Source Code
2.4 Graph Coverage for Design Elements
2.4.1 Structural Graph Coverage for Design Elements
2.4.2 Data Flow Graph Coverage for Design Elements
2.5 Graph Coverage for Specifications
2.5.1 Testing Sequencing Constraints
2.5.2 Testing State Behavior of Software
2.6 Graph Coverage for Use Cases
2.6.1 Use Case Scenarios
2.7 Representing Graphs Algebraically
2.7.1 Reducing Graphs to Path Expressions
2.7.2 Applications of Path Expressions
2.7.3 Deriving Test Inputs
2.7.4 Counting Paths in a Flow Graph and Determining Max Path Length
2.7.5 Minimum Number of Paths to Reach All Edges
2.7.6 Complementary Operations Analysis
2.8 Bibliographic Notes
3 Logic Coverage
3.1 Overview: Logic Predicates and Clauses
3.2 Logic Expression Coverage Criteria
3.2.1 Active Clause Coverage
3.2.2 Inactive Clause Coverage
3.2.3 Infeasibility and Subsumption
3.2.4 Making a Clause Determine a Predicate
3.2.5 Finding Satisfying Values
3.3 Structural Logic Coverage of Programs
3.3.1 Predicate Transformation Issues
3.4 Specification-Based Logic Coverage
3.5 Logic Coverage of Finite State Machines
3.6 Disjunctive Normal Form Criteria
3.7 Bibliographic Notes
4 Input Space Partitioning
4.1 Input Domain Modeling
4.1.1 Interface-Based Input Domain Modeling
4.1.2 Functionality-Based Input Domain Modeling
4.1.3 Identifying Characteristics
4.1.4 Choosing Blocks and Values
4.1.5 Using More than One Input Domain Model
4.1.6 Checking the Input Domain Model
4.2 Combination Strategies Criteria
4:3 Constraints among Partitions
4.4 Bibliographic Notes
5 Syntax-Based Testing
5.1 Syntax-Based Coverage Criteria
5.1.1 BNF Coverage Criteria
5.1.2 Mutation Testing
5.2 Program-Based Grammars
5.2.1 BNF Grammars for Languages
5.2.2 Program-Based Mutation
5.3 Integration and Object-Oriented Testing
5.3.1 BNF Integration Testing
5.3.2 Integration Mutation
5.4 Specification-Based Grammars
5.4.1 BNF Grammars
5.4.2 Specification-Based Mutation
5.5 Input Space Grammars
5.5.1 BNF Grammars
5.5.2 Mutation for Input Grammars
5.6 Bibliographic Notes
Part 3 Applying Criteria In Practice
6 Practical Considerations
6.1 Regression Testing
6.2 Integration and Testing
6.2.1 Stubs and Drivers
6.2.2 Class Integration Test Order
6.3 Test Process
6.3.1 Requirements Analysis and Specification
6.3.2 System and Software Design
6.3.3 Intermediate Design
6.3.4 Detailed Design
6.3.5 Implementation
6.3.6 Integration
6.3.7 System Deployment
6.3.8 Operation and Maintenance
6.3.9 Summary
6.4 Test Plans
6.5 Identifying Correct Outputs
6.5.1 Direct Verification of Outputs
6.5.2 Redundant Computations
6.5.3 Consistency Checks
6.5.4 Data Redundancy
6.6 Bibliographic Notes
7 Engineering Criteria for Technologies
7.1 Testing Object-Oriented Software
7.1.1 Unique Issues with Testing OO Software
7.1.2 Types of Object-Oriented Faults
7.2 Testing Web Applications and Web Services
7.2.1 Testing Static Hyper Text Web Sites
7.2.2 Testing Dynamic Web Applications
7.2.3 Testing Web Services
7.3 Testing Graphical User Interfaces
7.3.1 Testing GUIs
7.4 Real-Time Software and Embedded Software
7.5 Bibliographic Notes
8 Building Testing Tools
8.1 Instrumentation for Graph and Logical Expression Criteria
8.1.1 Node and Edge Coverage
8.1.2 Data Flow Coverage
8.1.3 Logic Coverage
8.2 Building Mutation Testing Tools
8.2.1 The Interpretation Approach
8.2.2 The Separate Compilation Approach
8.2.3 The Schema-Based Approach
8.2.4 Using Java Reflection
8.2.5 Implementing a Modern Mutation System
8.3 Bibliographic Notes
9 Challenges In Testing Software
9.1 Testing for Emergent Properties: Safety and Security
9.1.1 Classes of Test Cases for Emergent Properties
9.2 Software Testability
9.2.1 Testability for Common Technologies
9.3 Test Criteria and the Future of Software Testing
9.3.1 Going Forward with Testing Research
9.4 Bibliographic Notes
List of Criteria
Bibliography
Index
Part 1 Overview
1 Introduction
1.1 Activities of a Test Engineer
1.1.1 Testing Levels Based on Software Activity
1.1.2 Beizer's Testing Levels Based on Test Process Maturity
1.1.3 Automation of Test Activities
1.2 Software Testing Limitations and Terminology
1.3 Coverage Criteria for Testing
1.3.1 Infeasibility and Subsumption
1.3.2 Characteristics of a Good Coverage Criterion
1.4 Older Software Testing Terminology
1.5 Bibliographic Notes
Part 2 Coverage Criteria
2 Graph Coverage
2.1 Overview
2.2 Graph Coverage Criteria
2.2.1 Structural Coverage Criteria
2.2.2 Data Flow Criteria
2.2.3 Subsumption Relationships among Graph Coverage Criteria
2.3 Graph Coverage for Source Code
2.3.1 Structural Graph Coverage for Source Code
2.3.2 Data Flow Graph Coverage for Source Code
2.4 Graph Coverage for Design Elements
2.4.1 Structural Graph Coverage for Design Elements
2.4.2 Data Flow Graph Coverage for Design Elements
2.5 Graph Coverage for Specifications
2.5.1 Testing Sequencing Constraints
2.5.2 Testing State Behavior of Software
2.6 Graph Coverage for Use Cases
2.6.1 Use Case Scenarios
2.7 Representing Graphs Algebraically
2.7.1 Reducing Graphs to Path Expressions
2.7.2 Applications of Path Expressions
2.7.3 Deriving Test Inputs
2.7.4 Counting Paths in a Flow Graph and Determining Max Path Length
2.7.5 Minimum Number of Paths to Reach All Edges
2.7.6 Complementary Operations Analysis
2.8 Bibliographic Notes
3 Logic Coverage
3.1 Overview: Logic Predicates and Clauses
3.2 Logic Expression Coverage Criteria
3.2.1 Active Clause Coverage
3.2.2 Inactive Clause Coverage
3.2.3 Infeasibility and Subsumption
3.2.4 Making a Clause Determine a Predicate
3.2.5 Finding Satisfying Values
3.3 Structural Logic Coverage of Programs
3.3.1 Predicate Transformation Issues
3.4 Specification-Based Logic Coverage
3.5 Logic Coverage of Finite State Machines
3.6 Disjunctive Normal Form Criteria
3.7 Bibliographic Notes
4 Input Space Partitioning
4.1 Input Domain Modeling
4.1.1 Interface-Based Input Domain Modeling
4.1.2 Functionality-Based Input Domain Modeling
4.1.3 Identifying Characteristics
4.1.4 Choosing Blocks and Values
4.1.5 Using More than One Input Domain Model
4.1.6 Checking the Input Domain Model
4.2 Combination Strategies Criteria
4:3 Constraints among Partitions
4.4 Bibliographic Notes
5 Syntax-Based Testing
5.1 Syntax-Based Coverage Criteria
5.1.1 BNF Coverage Criteria
5.1.2 Mutation Testing
5.2 Program-Based Grammars
5.2.1 BNF Grammars for Languages
5.2.2 Program-Based Mutation
5.3 Integration and Object-Oriented Testing
5.3.1 BNF Integration Testing
5.3.2 Integration Mutation
5.4 Specification-Based Grammars
5.4.1 BNF Grammars
5.4.2 Specification-Based Mutation
5.5 Input Space Grammars
5.5.1 BNF Grammars
5.5.2 Mutation for Input Grammars
5.6 Bibliographic Notes
Part 3 Applying Criteria In Practice
6 Practical Considerations
6.1 Regression Testing
6.2 Integration and Testing
6.2.1 Stubs and Drivers
6.2.2 Class Integration Test Order
6.3 Test Process
6.3.1 Requirements Analysis and Specification
6.3.2 System and Software Design
6.3.3 Intermediate Design
6.3.4 Detailed Design
6.3.5 Implementation
6.3.6 Integration
6.3.7 System Deployment
6.3.8 Operation and Maintenance
6.3.9 Summary
6.4 Test Plans
6.5 Identifying Correct Outputs
6.5.1 Direct Verification of Outputs
6.5.2 Redundant Computations
6.5.3 Consistency Checks
6.5.4 Data Redundancy
6.6 Bibliographic Notes
7 Engineering Criteria for Technologies
7.1 Testing Object-Oriented Software
7.1.1 Unique Issues with Testing OO Software
7.1.2 Types of Object-Oriented Faults
7.2 Testing Web Applications and Web Services
7.2.1 Testing Static Hyper Text Web Sites
7.2.2 Testing Dynamic Web Applications
7.2.3 Testing Web Services
7.3 Testing Graphical User Interfaces
7.3.1 Testing GUIs
7.4 Real-Time Software and Embedded Software
7.5 Bibliographic Notes
8 Building Testing Tools
8.1 Instrumentation for Graph and Logical Expression Criteria
8.1.1 Node and Edge Coverage
8.1.2 Data Flow Coverage
8.1.3 Logic Coverage
8.2 Building Mutation Testing Tools
8.2.1 The Interpretation Approach
8.2.2 The Separate Compilation Approach
8.2.3 The Schema-Based Approach
8.2.4 Using Java Reflection
8.2.5 Implementing a Modern Mutation System
8.3 Bibliographic Notes
9 Challenges In Testing Software
9.1 Testing for Emergent Properties: Safety and Security
9.1.1 Classes of Test Cases for Emergent Properties
9.2 Software Testability
9.2.1 Testability for Common Technologies
9.3 Test Criteria and the Future of Software Testing
9.3.1 Going Forward with Testing Research
9.4 Bibliographic Notes
List of Criteria
Bibliography
Index
Introduction to software testing = 软件测试基础 /
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×