Test Estimation

Jul 3, 2024

Test Estimation Lecture Notes

Overview

Test estimation is a crucial part of testing, often viewed as a sub-project within the larger project. Test estimation helps determine the time and effort required for various testing tasks and cycles.

Work Breakdown Structure (WBS)

  • Begin with a Work Breakdown Structure (WBS) that outlines:
    • Stages
    • Activities
    • Tasks and Subtasks
  • Identify phases of the testing cycle:
    • Planning and Control
    • Analysis and Design
    • Implementation and Execution
    • Evaluating Exit Criteria and Reporting
    • Test Closure Activity
  • Break down activities and tasks within each phase.
  • Estimate the time required for tasks and subtasks to complete the testing cycle.

Estimation Techniques

Consultative Approach

  • Input from experts and individual contributors such as technology experts, business experts, and testers.
  • Prepare the WBS collaboratively.
  • Team discusses effort, duration, dependencies, and resource requirements.
  • Bottom-up approach: Starts at the task/subtask level and sums up to higher levels.
  • Used when previous project metrics are unavailable.
  • Disadvantage: Relies on individual estimations.

Matrix-Based Approach

  • Uses metrics from past, similar projects for estimation.
  • Includes:
    • Developer-to-tester ratios
    • Project size and complexity comparison
    • Average time to execute test cases
  • Mathematical Models: Use past data to estimate current project efforts. Considers factors like the number of test cases, defects, and time taken for execution and retesting.
  • Advantage: More reliable; based on historical data.

Factors Affecting Test Effort

Product Factors

  • Documentation: Poor or insufficient documentation increases test effort.
  • Complexity: More complex projects require more effort.
  • Size: Larger projects require more effort.

Process Factors

  • Availability of Tools: Availability reduces manual effort.
  • Development and Test Environment: Ready environments reduce setup time.
  • Process Maturity: Mature processes reduce overall effort.

People Factors

  • Team Skills: Skill availability (e.g., automation) affects effort. More skilled teams require less effort.
  • Team Relationships: Good relationships can enhance productivity.

Time Factors

  • Overall time constraints and deadlines can affect the required test effort.

Test Results Factors

  • Number of defects found: More defects increase retesting and fixing effort.
  • Retesting failures: Frequent failures in retests lead to more effort.
  • Requirement changes: Changes and rework add to test effort.

Conclusion

Proper test estimation involves structured planning and understanding both the project and team capabilities. Choose the appropriate estimation technique (Consultative or Matrix-Based) based on data availability and project characteristics. Be mindful of the various factors affecting test efforts and plan efficiently to manage resources and timelines.