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:

  1. Establish test objectives.
  2. Design criteria (review criteria).
    1. Correct.
    2. Feasible.
    3. Coverage.
    4. Demonstrate functionality .
  3. Writing test cases.
  4. Testing test cases.
  5. Execute test cases.
  6. Evaluate test results.

TEST PLAN:

  • Testing system:
    1. Function testing.
    2. Performance testing.
    3. Acceptance testing.
    4. Installation testing.
  • PHASED SYSTEM TESTING:

    REGRESSION TESTING:

    PERFORMANCE TESTING:

    1. Stress test.
    2. Volume test.
    3. Configuration test (hardware & software).
    4. Compatibility.
    5. Regression tests.
    6. Security tests.
    7. Timing tests.
    8. Environmental tests.
    9. Quality tests.
    10. Recovery tests.
    11. Maintenance tests.
    12. Documentation tests.
    13. Human factors tests.

    ACCEPTANCE:

    1. Benchmark test.
    2. Pilot testing.
    3. Parallel testing.

    INSTALLATION TESTING:

    1. System completeness.
    2. Verification of functional & non0functional requirements at customer site.

    TEST TOOLS (SOFTWARE):

    1. Simulators.
    2. Monitors.
    3. Analyzers.
    4. Test data generators.

    TEST TEAM:

    1. Professional testers.
    2. Analysts.
    3. System designers.
    4. Configuration management specialists.
    5. Users.

    TEST DOCUMENTATION:

    DEBUGGING (DEBUGGING TESTING):

    1. Brute force.
    2. Backtracking.
    3. Cause elimination.

    OBJECT-ORIENTED TESTING:

  • Testing OOA / OOD models:
    1. Correctness of OOA / OOD model.
    2. Consistency of OOA / OOD model.
  • CRC model (class-responsibility-collaboration).
  • E-R diagram (relationships among entities).
  • OO TESTING STRATEGIES:

    1. Unit testing (class is focus).
    2. Integration testing:
      1. Thread-based testing (single input or event).
      2. Use-based testing.
      3. Independent classes.
      4. Dependent classes (client/server).
      5. validation testing (black box -> use cases).

    OO TEST CASE DESIGN:

    1. Each test case associated class to be tested.
    2. Purpose of test stated.
    3. Test steps:
      1. List object attributes tested.
      2. List object methods tested.
      3. List possible exceptions.
      4. External condition (hardware & software).
      5. Any additional information.

    TEST CASE DESIGN METHODOLOGIES:

    1. Fault-based testing (OOP - inheritance).
    1. Will not:
      1. Scenario-based test design (focus on user behavior, not product).
      2. Surface structure vs. deep structure.

    CLASS TESTING METHODS:

    1. Random testing.
    2. Partition testing.
      1. Attribute-based partitioning.
      2. Category-based partitioning.

    INTERCLASS TEST CASES:

    1. Multiple class testing.
    2. Test cases derived from behavior models (breadth-first search).