Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover Page
Title Page
Copyright Page
Table of Contents
Jamie Mitchell’s Acknowledgements
Rex Black’s Acknowledgements
Introduction
1 The Technical Test Analyst’s Tasks in Risk-Based Testing
1.1 Introduction
1.2 Risk Identification
1.3 Risk Assessment
1.4 Risk Mitigation or Risk Control
1.5 An Example of Risk Identification and Assessment Results
1.6 Risk-Aware Testing Standard
1.7 Sample Exam Questions
2 Structure-Based Testing
2.1 Introduction
2.1.1 Control Flow Testing Theory
2.1.2 Building Control Flow Graphs
2.1.3 Statement Coverage
2.1.4 Decision Coverage
2.1.5 Loop Coverage
2.1.6 Hexadecimal Converter Exercise
2.1.7 Hexadecimal Converter Exercise Debrief
2.2 Condition Coverage
2.3 Decision Condition Coverage
2.4 Modified Condition/Decision Coverage (MC/DC)
2.4.1 Complicating Issues: Short-Circuiting
2.4.2 Complicating Issues: Coupling
2.5 Multiple Condition Coverage
2.5.1 Control Flow Exercise
2.5.2 Control Flow Exercise Debrief
1. Determine the tests required for decision condition coverage.
2. Determine the total number of tests required to achieve MC/DC coverage (assuming no short-circuiting) and define them.
3. Determine the total number of tests needed for multiple condition coverage.
4. If the compiler is set to short-circuit, which of those tests are actually needed?
2.6 Path Testing
2.6.1 Path Testing via Flow Graphs
2.6.2 Basis Path Testing
2.6.3 Cyclomatic Complexity Exercise
2.6.4 Cyclomatic Complexity Exercise Debrief
2.7 API Testing
2.8 Selecting a Structure-Based Technique
Structure-Based Testing Exercise
2.8.1 Structure-Based Testing Exercise Debrief
1. How many test cases are needed for basis path coverage?
2. If we wanted to test this module to the level of multiple condition coverage (ignoring the possibility of short-circuiting), how many test cases would we need?
3. If this code were in a system that was subject to FAA/DO178C and was rated at Level A criticality, how many test cases would be needed for the first if() statement alone?
4. To achieve only statement coverage, how many test cases would be needed?
2.9 A Final Word on Structural Testing
2.10 Sample Exam Questions
3 Analytical Techniques
3.1 Introduction
3.2 Static Analysis
3.2.1 Control Flow Analysis
3.2.2 Data Flow Analysis
3.2.2.1 Define-Use Pairs
3.2.2.2 Define-Use Pair Example
3.2.2.3 Data Flow Exercise
3.2.2.4 Data Flow Exercise Debrief
3.2.2.5 A Data Flow Strategy
3.2.3 Static Analysis to Improve Maintainability
3.2.3.1 Code Parsing Tools
3.2.3.2 Standards and Guidelines
3.2.4 Call Graphs
3.2.4.1 Call-Graph-Based Integration Testing
3.2.4.2 McCabe’s Design Predicate Approach to Integration
3.2.4.3 Hex Converter Example
3.2.4.4 McCabe Design Predicate Exercise
3.2.4.5 McCabe Design Predicate Exercise Debrief
3.3 Dynamic Analysis
3.3.1 Memory Leak Detection
3.3.2 Wild Pointer Detection
3.3.3 Dynamic Analysis Exercise
3.3.4 Dynamic Analysis Exercise Debrief
3.4 Sample Exam Questions
4 Quality Characteristics for Technical Testing
4.1 Introduction
4.2 Security Testing
4.2.1 Security Issues
4.2.1.1 Piracy
4.2.1.2 Buffer Overflow
4.2.1.3 Denial of Service
4.2.1.4 Data Transfer Interception
4.2.1.5 Breaking Encryption
4.2.1.6 Logic Bombs/Viruses/Worms
4.2.1.7 Cross-Site Scripting
4.2.1.8 Timely Information
4.2.1.9 Internal Security Metrics
4.2.1.10 External Security Metrics
4.2.1.11 Exercise: Security
4.2.1.12 Exercise: Security Debrief
4.3 Reliability Testing
4.3.1 Maturity
4.3.1.1 Internal Maturity Metrics
4.3.1.2 External Maturity Metrics
4.3.2 Fault Tolerance
4.3.2.1 Internal Fault Tolerance Metrics
4.3.2.2 External Fault Tolerance Metrics
4.3.3 Recoverability
4.3.3.1 Internal Recoverability Metrics
4.3.3.2 External Recoverability Metrics
4.3.4 Compliance
4.3.4.1 Internal Compliance Metrics
4.3.4.2 External Compliance Metrics
4.3.5 An Example of Good Reliability Testing
4.3.6 Exercise: Reliability Testing
4.3.7 Exercise: Reliability Testing Debrief
4.4 Efficiency Testing
4.4.1 Multiple Flavors of Efficiency Testing
4.4.2 Modeling the System
4.4.2.1 Identify the Test Environment
4.4.2.2 Identify the Performance Acceptance Criteria
4.4.2.3 Plan and Design Tests
4.4.2.4 Configure the Test Environment
4.4.2.5 Implement the Test Design
4.4.2.6 Execute the Test
4.4.2.7 Analyze the Results, Tune and Retest
4.4.3 Time Behavior
4.4.3.1 Internal Time Behavior Metrics
4.4.3.2 External Time Behavior Metrics
4.4.4 Resource Utilization
4.4.4.1 Internal Resource Utilization Metrics
4.4.4.2 External Resource Utilization Metrics
4.4.5 Compliance
4.4.5.1 Internal Compliance Metric
4.4.5.2 External Compliance Metric
4.4.6 Exercise: Efficiency Testing
4.4.7 Exercise: Efficiency Testing Debrief
4.5 Maintainability Testing
4.5.1 Analyzability
4.5.1.1 Internal Analyzability Metrics
4.5.1.2 External Analyzability Metrics
4.5.2 Changeability
4.5.2.1 Internal Changeability Metrics
4.5.2.2 External Changeability Metrics
4.5.3 Stability
4.5.3.1 Internal Stability Metrics
4.5.3.2 External Stability Metrics
4.5.4 Testability
4.5.4.1 Internal Testability Metrics
4.5.4.2 External Testability Metrics
4.5.5 Compliance
4.5.5.1 Internal Compliance Metric
4.5.5.2 External Compliance Metric
4.5.6 Exercise: Maintainability Testing
4.5.7 Exercise: Maintainability Testing Debrief
4.6 Portability Testing
4.6.1 Adaptability
4.6.1.1 Internal Adaptability Metrics
4.6.1.2 External Adaptability Metrics
4.6.2 Replaceability
4.6.2.1 Internal Replaceability Metrics
4.6.2.2 External Replaceability Metrics
4.6.3 Installability
4.6.3.1 Internal Installability Metrics
4.6.3.2 External Installability Metrics
4.6.4 Coexistence
4.6.4.1 Internal Coexistence Metrics
4.6.4.2 External Coexistence Metrics
4.6.5 Compliance
4.6.5.1 Internal Compliance Metrics
4.6.5.2 External Compliance Metrics
4.6.6 Exercise: Portability Testing
4.6.7 Exercise: Portability Testing Debrief
4.7 General Planning Issues
4.8 Sample Exam Questions
5 Reviews
5.1 Introduction
5.2 Using Checklists in Reviews
5.2.1 Some General Checklist Items for Design and Architecture Reviews
5.2.2 Deutsch’s Design Review Checklist
5.2.3 Some General Checklist Items for Code Reviews
5.2.4 Marick’s Code Review Checklist
5.2.5 The Open Laszlo Code Review Checklist
5.3 Deutsch Checklist Review Exercise
5.4 Deutsch Checklist Review Exercise Debrief
5.5 Code Review Exercise
5.6 Code Review Exercise Debrief
5.7 Sample Exam Questions
6 Test Tools and Automation
6.1 Integration and Information Interchange between Tools
6.2 Defining the Test Automation Project
6.2.1 Preparing for a Test Automation Project
6.2.2 Why Automation Projects Fail
6.2.3 Automation Architectures (Data Driven vs. Keyword Driven)
6.2.3.1 The Capture/Replay Architecture
6.2.3.2 Evolving from Capture/Replay
6.2.3.3 The Simple Framework Architecture
6.2.3.4 The Data-Driven Architecture
6.2.3.5 The Keyword-Driven Architecture
6.2.4 Creating Keyword-Driven Tables
6.2.4.1 Building an Intelligent Front End
6.2.4.2 Keywords and the Virtual Machine
6.2.4.3 Benefits of the Keyword Architecture
6.2.4.4 Creating Keyword-Driven Tables Exercise
6.2.4.5 Keyword-Driven Exercise Debrief
6.3 Specific Test Tools
6.3.1 Fault Seeding and Fault Injection Tools
6.3.2 Performance Testing and Monitoring Tools
6.3.2.1 Data for Performance Testing
6.3.2.2 Building Scripts
6.3.2.3 Measurement Tools
6.3.2.4 Performing the Testing
6.3.2.5 Performance Testing Exercise
6.3.2.6 Performance Testing Exercise Debrief
6.3.3 Tools for Web Testing
6.3.4 Model-Based Testing Tools
6.3.5 Tools to Support Component Testing and Build Process
6.4 Sample Exam Questions
7 Preparing for the Exam
Learning Objectives
Appendix
Bibliography
Advanced Syllabus Referenced Standards
Advanced Syllabus Referenced Books
Advanced Syllabus Other References
Other Referenced Books
Other References
Referenced Standards
HELLOCARMS The Next Generation of Home Equity Lending
I Table of Contents
II Versioning
III Glossary
000 Introduction
001 Informal Use Case
003 Scope
004 System Business Benefits
010 Functional System Requirements
020 Reliability System Requirements
030 Usability System Requirements
040 Efficiency System Requirements
050 Maintainability System Requirements
060 Portability System Requirements
A Acknowledgement
Answers to Sample Questions
Footnotes
1 The Technical Test Analyst’s Tasks in Risk-Based Testing
2 Structure-Based Testing
3 Analytical Techniques
4 Quality Characteristics for Technical Testing
5 Reviews
6 Test Tools and Automation
← Prev
Back
Next →
← Prev
Back
Next →