CIS 375 SOFTWARE ENGINEERING
UNIVERSITY OF MICHIGAN-DEARBORN
DR. BRUCE MAXIM, INSTRUCTOR
Date: 11/17/97
Week 11
NO NOTES; EXAM
Date: 11/19/97
Week 11
TEST LIFE CYCLE:
- Establish test objectives.
- Design criteria (review criteria).
- Correct.
- Feasible.
- Coverage.
- Demonstrate functionality .
- Writing test cases.
- Testing test cases.
- Execute test cases.
- Evaluate test results.
TEST PLAN:
PHASED SYSTEM TESTING:
- Build plan (integration).
- Configuration management.
REGRESSION TESTING:
- Version control (extends to documentation).
PERFORMANCE TESTING:
- Stress test.
- Volume test.
- Configuration test (hardware & software).
- Compatibility.
- Regression tests.
- Security tests.
- Timing tests.
- Environmental tests.
- Quality tests.
- Recovery tests.
- Maintenance tests.
- Documentation tests.
- Human factors tests.
ACCEPTANCE:
- Benchmark test.
- Pilot testing.
- Parallel testing.
INSTALLATION TESTING:
- System completeness.
- Verification of functional & non0functional requirements
at customer site.
TEST TOOLS (SOFTWARE):
- Simulators.
- Monitors.
- Analyzers.
- Test data generators.
TEST TEAM:
- Professional testers.
- Analysts.
- System designers.
- Configuration management specialists.
- Users.
TEST DOCUMENTATION:
- Requirement being tested.
- Design verification methodology.
- Code verification methodology.
- Test plan:
- Facet / feature / path tested.
- Person & date.
- Tools & code needed.
- Test data & instructions.
- Expected results.
- Actual test results & analysis:
- Date.
- Operator.
- Environment.
- Deviations from expectations.
- Reproducible result.
- Analysis of causes.
- Correction, schedule, and signoff.
DEBUGGING (DEBUGGING TESTING):
- Brute force.
- Backtracking.
- Cause elimination.
OBJECT-ORIENTED TESTING:
OO TESTING STRATEGIES:
- Unit testing (class is focus).
- Integration testing:
- Thread-based testing (single input or event).
- Use-based testing.
- validation testing (black box -> use cases).
OO TEST CASE DESIGN:
- Each test case associated class to be tested.
- Purpose of test stated.
- Test steps:
- List object attributes tested.
- List object methods tested.
- List possible exceptions.
- External condition (hardware & software).
- Any additional information.
TEST CASE DESIGN METHODOLOGIES:
- Fault-based testing (OOP - inheritance).
- Will not:
- Identify incorrect specification.
- Identify interactions among subsystems.
- Scenario-based test design (focus on user behavior, not product).
- Surface structure vs. deep structure.
CLASS TESTING METHODS:
- Random testing.
- Partition testing.
- Attribute-based partitioning.
- Category-based partitioning.
INTERCLASS TEST CASES:
- Multiple class testing.
- Test cases derived from behavior models (breadth-first search).