Read Here : http://hissa.nist.gov/HHRFdata/Artifacts/ITLdoc/235/sttoc.htm

Abstract
Keywords
Acknowledgments
Disclaimer
Executive Summary
1 Introduction

    1.1 Software testing
    1.2 Software complexity measurement
    1.3 Relationship between complexity and testing
    1.4 Document overview and audience descriptions

2 Cyclomatic Complexity

    2.1 Control flow graphs
    2.2 Definition of cyclomatic complexity, v(G)
    2.3 Characterization of v(G) using a basis set of control flow paths
    2.4 Example of v(G) and basis paths
    2.5 Limiting cyclomatic complexity to 10

3 Examples of Cyclomatic Complexity

    3.1 Independence of complexity and size
    3.2 Several flow graphs and their complexity

4 Simplified Complexity Calculation

    4.1 Counting predicates
    4.2 Counting flow graph regions
    4.3 Use of automated tools

5 Structured Testing

    5.1 The structured testing criterion
    5.2 Intuition behind structured testing
    5.3 Complexity and reliability
    5.4 Structured testing example
    5.5 Weak structured testing
    5.6 Advantages of automation
    5.7 Critical software

6 The Baseline Method

    6.1 Generating a basis set of paths
    6.2 The simplified baseline method
    6.3 The baseline method in practice
    6.4 Example of the baseline method
    6.5 Completing testing with the baseline method

7 Integration Testing

    7.1 Integration strategies
    7.2 Combining module testing and integration testing
    7.3 Generalization of module testing criteria
    7.4 Module design complexity
    7.5 Integration complexity
    7.6 Incremental integration

8 Testing Object-Oriented Programs

    8.1 Benefits and dangers of abstraction
    8.2 Object-oriented module testing
    8.3 Integration testing of object-oriented programs
    8.4 Avoiding unnecessary testing

9 Complexity Reduction

    9.1 Actual complexity and realizable complexity
    9.2 Removing control dependencies
    9.3 Trade-offs when reducing complexity

10 Essential Complexity

    10.1 Structured programming and maintainability
    10.2 Definition of essential complexity, ev(G)
    10.3 Examples of essential complexity

11 Maintenance

    11.1 Effects of changes on complexity

    11.1.1 Effect of changes on cyclomatic complexity
    11.1.2 Effect of changes on essential complexity
    11.1.3 Incremental reengineering

    11.2 Retesting at the path level
    11.3 Data complexity
    11.4 Reuse of testing information

12 Summary by Lifecycle Process

    12.1 Design process
    12.2 Coding process
    12.3 Unit testing process
    12.4 Integration testing process
    12.5 Maintenance process

13 References
Appendix A Related Case Studies

    A.1 Myers
    A.2 Schneidewind and Hoffman
    A.3 Walsh
    A.4 Henry, Kafura, and Harris
    A.5 Sheppard and Kruesi
    A.6 Carver
    A.7 Kafura and Reddy
    A.8 Gibson and Senn
    A.9 Ward
    A.10 Caldiera and Basili
    A.11 Gill and Kemerer
    A.12 Schneidewind
    A.13 Case study at Stratus Computer
    A.14 Case study at Digital Equipment Corporation
    A.15 Case study at U.S. Army Missile Command
    A.16 Coleman et al
    A.17 Case study at the AT&T Advanced Software Construction Center
    A.18 Case study at Sterling Software
    A.19 Case Study at GTE Government Systems
    A.20 Case study at Elsag Bailey Process Automation
    A.21 Koshgoftaar et al

Appendix B Extended Example

    B.1 Testing the blackjack program
    B.2 Experimental comparison of structured testing and branch coverage

CONTENTS

Abstract
Keywords
Acknowledgments
Executive Summary
1 Introduction

    1.1 Software testing
    1.2 Software complexity measurement
    1.3 Relationship between complexity and testing
    1.4 Document overview and audience descriptions

2 Cyclomatic Complexity

    2.1 Control flow graphs
    2.2 Definition of cyclomatic complexity, v(G)
    2.3 Characterization of v(G) using a basis set of control flow paths
    2.4 Example of v(G) and basis paths
    2.5 Limiting cyclomatic complexity to 10

3 Examples of Cyclomatic Complexity

    3.1 Independence of complexity and size
    3.2 Several flow graphs and their complexity

4 Simplified Complexity Calculation

    4.1 Counting predicates
    4.2 Counting flow graph regions
    4.3 Use of automated tools

5 Structured Testing

    5.1 The structured testing criterion
    5.2 Intuition behind structured testing
    5.3 Complexity and reliability
    5.4 Structured testing example
    5.5 Weak structured testing
    5.6 Advantages of automation
    5.7 Critical software

6 The Baseline Method

    6.1 Generating a basis set of paths
    6.2 The simplified baseline method
    6.3 The baseline method in practice
    6.4 Example of the baseline method
    6.5 Completing testing with the baseline method

7 Integration Testing

    7.1 Integration strategies
    7.2 Combining module testing and integration testing
    7.3 Generalization of module testing criteria
    7.4 Module design complexity
    7.5 Integration complexity
    7.6 Incremental integration

8 Testing Object-Oriented Programs

    8.1 Benefits and dangers of abstraction
    8.2 Object-oriented module testing
    8.3 Integration testing of object-oriented programs
    8.4 Avoiding unnecessary testing

9 Complexity Reduction

    9.1 Actual complexity and realizable complexity
    9.2 Removing control dependencies
    9.3 Trade-offs when reducing complexity

10 Essential Complexity

    10.1 Structured programming and maintainability
    10.2 Definition of essential complexity, ev(G)
    10.3 Examples of essential complexity

11 Maintenance

    11.1 Effects of changes on complexity

    11.1.1 Effect of changes on cyclomatic complexity
    11.1.2 Effect of changes on essential complexity
    11.1.3 Incremental reengineering

    11.2 Retesting at the path level
    11.3 Data complexity
    11.4 Reuse of testing information

12 Summary by Lifecycle Process

    12.1 Design process
    12.2 Coding process
    12.3 Unit testing process
    12.4 Integration testing process
    12.5 Maintenance process

13 References
Appendix A Related Case Studies

    A.1 Myers
    A.2 Schneidewind and Hoffman
    A.3 Walsh
    A.4 Henry, Kafura, and Harris
    A.5 Sheppard and Kruesi
    A.6 Carver
    A.7 Kafura and Reddy
    A.8 Gibson and Senn
    A.9 Ward
    A.10 Caldiera and Basili
    A.11 Gill and Kemerer
    A.12 Schneidewind
    A.13 Case study at Stratus Computer
    A.14 Case study at Digital Equipment Corporation
    A.15 Case study at U.S. Army Missile Command
    A.16 Coleman et al
    A.17 Case study at the AT&T Advanced Software Construction Center
    A.18 Case study at Sterling Software
    A.19 Case Study at GTE Government Systems
    A.20 Case study at Elsag Bailey Process Automation
    A.21 Koshgoftaar et al

Appendix B Extended Example

    B.1 Testing the blackjack program
    B.2 Experimental comparison of structured testing and branch coverage

CONTENTS

Abstract
Keywords
Acknowledgments
Disclaimer
Executive Summary
1 Introduction

    1.1 Software testing
    1.2 Software complexity measurement
    1.3 Relationship between complexity and testing
    1.4 Document overview and audience descriptions

2 Cyclomatic Complexity

    2.1 Control flow graphs
    2.2 Definition of cyclomatic complexity, v(G)
    2.3 Characterization of v(G) using a basis set of control flow paths
    2.4 Example of v(G) and basis paths
    2.5 Limiting cyclomatic complexity to 10

3 Examples of Cyclomatic Complexity

    3.1 Independence of complexity and size
    3.2 Several flow graphs and their complexity

4 Simplified Complexity Calculation

    4.1 Counting predicates
    4.2 Counting flow graph regions
    4.3 Use of automated tools

5 Structured Testing

    5.1 The structured testing criterion
    5.2 Intuition behind structured testing
    5.3 Complexity and reliability
    5.4 Structured testing example
    5.5 Weak structured testing
    5.6 Advantages of automation
    5.7 Critical software

6 The Baseline Method

    6.1 Generating a basis set of paths
    6.2 The simplified baseline method
    6.3 The baseline method in practice
    6.4 Example of the baseline method
    6.5 Completing testing with the baseline method

7 Integration Testing

    7.1 Integration strategies
    7.2 Combining module testing and integration testing
    7.3 Generalization of module testing criteria
    7.4 Module design complexity
    7.5 Integration complexity
    7.6 Incremental integration

8 Testing Object-Oriented Programs

    8.1 Benefits and dangers of abstraction
    8.2 Object-oriented module testing
    8.3 Integration testing of object-oriented programs
    8.4 Avoiding unnecessary testing

9 Complexity Reduction

    9.1 Actual complexity and realizable complexity
    9.2 Removing control dependencies
    9.3 Trade-offs when reducing complexity

10 Essential Complexity

    10.1 Structured programming and maintainability
    10.2 Definition of essential complexity, ev(G)
    10.3 Examples of essential complexity

11 Maintenance

    11.1 Effects of changes on complexity

    11.1.1 Effect of changes on cyclomatic complexity
    11.1.2 Effect of changes on essential complexity
    11.1.3 Incremental reengineering

    11.2 Retesting at the path level
    11.3 Data complexity
    11.4 Reuse of testing information

12 Summary by Lifecycle Process

    12.1 Design process
    12.2 Coding process
    12.3 Unit testing process
    12.4 Integration testing process
    12.5 Maintenance process

13 References
Appendix A Related Case Studies

    A.1 Myers
    A.2 Schneidewind and Hoffman
    A.3 Walsh
    A.4 Henry, Kafura, and Harris
    A.5 Sheppard and Kruesi
    A.6 Carver
    A.7 Kafura and Reddy
    A.8 Gibson and Senn
    A.9 Ward
    A.10 Caldiera and Basili
    A.11 Gill and Kemerer
    A.12 Schneidewind
    A.13 Case study at Stratus Computer
    A.14 Case study at Digital Equipment Corporation
    A.15 Case study at U.S. Army Missile Command
    A.16 Coleman et al
    A.17 Case study at the AT&T Advanced Software Construction Center
    A.18 Case study at Sterling Software
    A.19 Case Study at GTE Government Systems
    A.20 Case study at Elsag Bailey Process Automation
    A.21 Koshgoftaar et al

Appendix B Extended Example

    B.1 Testing the blackjack program
    B.2 Experimental comparison of structured testing and branch coverage
Share