Chapter 17 – Software Testing Techniques
Testing Objectives
White-box testing (clear-box or glass-box testing)
Basis path testing
Cyclomatic complexity
Condition testing
Loop testing
Black-box testing
Equivalence partitioning
Boundary value analysis
Comparison testing
Graph-based testing methods (cause and effect graphing)
Chapter 18 – Software Testing Strategies
Verification
Validation
Organizing for testing (who does testing?)
Failure intensity
Types of testing
Unit testing
Integration testing
Top-down
Bottom-up
Big bang
Incremental
Validation testing
Alpha testing
Beta testing
System testing
Regression testing
The debugging process
Chapter 23 – Object-oriented Testing
What’s different about object-oriented testing?
Unit testing
Integration testing
What’s the same about object-oriented testing?
Black-box testing
The objectives of testing
Chapter 14 – Architectural Design (High Level Design)
Data design (data modeling, data structures, databases)
Structured design
Transform flow
Transaction flow
Creating a structure chart from DFDs
Chapter 16 – Component-Level Design (Detail Design)
Well-structured designs
Flow charts
Box diagrams
Program Design Language (PDL) or pseudo code
Decision Tables
Relative advantages and disadvantages of above design representation techniques
Chapter 22 – Object-Oriented Design
Differences between Structured Design and OOD
Design issues
Advantages and disadvantages of OOD
The OOD design process
System design
Object design
Human interface design
Data management design
Task management design
Design patterns
Coding Style
Reasons for having coding guidelines
Important guidelines
Documentation (naming and comments)
Data declarations
Statement construction
Chapter 1 - The Product
What is (was) the software crisis?
What software myths still exist?
Chapter 2 - The Process
The linear sequential (waterfall) model
The prototyping model
The spiral model
Chaper 10 - System Engineering
System elements (software, hardware, people, etc.)
Allocation to system elements based on various considerations
Chapter 11 - Analysis Concepts and Principles
Information gathering (FAST)
Analysis principles
Modeling (Information, function, behavior)
The Software Requirements Specification (SRS)
Chapter 12 - Analysis Modeling
Entity Relationship Diagram (ERD)
modality
cardinality
Data Flow Diagram (DFD)
external entity
process
data/control item
data/control store
The Data Dictionary
Chapter 13 - Design Concepts and Principles
High-level (preliminary) design
Low-level (detail) design
Design concepts
abstraction
refinement
modularity
software architecture
procedural design
information hiding
Functional independence
cohesion
coupling
Chapter 20 & 21 - Object-Oriented Concepts and Principles
Classes and Objects
Attributes
Operations/Methods
Messages
Encapsulation
Inheritance
Polymorphism
Advantages and disadvantages of OO approach relative to traditional (procedural) approach
Updated: December 5, 2002