37  Chapter 6: Test Execution

37.1 The Test Execution Process

The Test Execution Process:

  1. Setting Up the Test Environment
  2. Defect Reporting and Retesting
  3. Regression Testing
  4. Test Case Status Reporting
  5. Test Completion

37.1.1 Defect Reporting and Retesting

Defect reporting is the process of identifying issues discovered during testing, documenting them clearly, and submitting them to the development team for resolution.

Steps:

  • Reproduce the Issue
  • Document the Defect
  • Assign Severity and Priority
    • Severity – How much the defect impacts the functionality or user experience
    • Priority – How urgently it needs to be addressed High-severity and high-priority defects are generally resolved first.
  • Assign the defect
  • Track Progress
  • Verify the Fix

37.1.2 Regression Testing

Regression testing is a crucial part of software quality assurance that ensures recent changes in the system—whether bug fixes, enhancements, or new features—do not negatively affect the existing functionality.

37.1.3 Test Case Status Reporting

Core elements of test case status reports:

  • Execution Status
  • Execution Results
  • Test Coverage
  • Prioritization
  • Progress Trends
  • Defect Summary

37.1.4 Test Completion

Test case completion refers to ensuring that all the test cases outlined in the test plan have been executed and their results reviewed

To confirm completion, the following steps should be taken:

  • Identify All Test Cases
  • Execute the Test Cases
  • Analyze the Results
  • Update Pass/Fail Status
  • Review for Accuracy
  • Update the Status
  • Generate Completion Report

37.2 Techniques and Tools Used in Test Execution

  • Manual Testing: executing test cases manually without the aid of automation tools
  • Automated Testing: Tests are executed using automation tools like Selenium and UFT
  • Defect Management Tools: designed to track and manage defects identified during testing
  • Performance Testing Tools: evaluate system performance under various conditions, such as high user loads or heavy network traffic
  • Security Testing Tools: focus on identifying vulnerabilities and ensuring the application is secure against potential threats
  • Code Coverage Tools: measure the extent of code tested, highlighting untested areas to ensure thorough testing
  • Pair Testing: collaborative testing technique where two testers work together

37.3 Quality Metrics

  • Defect Density: measures the number of defects relative to the size of the software
    • For example, if 50 defects are found in 10,000 lines of code, the defect density is 0.005
  • Test Coverage: evaluates the percentage of code or functionality verified by tests
  • Code Maintainability: reflects how easily code can be updated and enhanced. Factors contributing to good maintainability include:
    • Readability
    • Modularity
    • Testability
    • Documentation
  • Code Duplication: assesses repeated code segments across the codebase. Duplication should be minimized
  • Dead Code: Dead code refers to code segments that are never executed
  • Lines of Code (LOC): counts the number of lines within a codebase, including comments and blank lines
  • Compiler Warnings