Regression testing minimization, selection and prioritization: a survey

From AcaWiki
Jump to: navigation, search

Citation: S. Yoo, M. Harman (2012) Regression testing minimization, selection and prioritization: a survey. Software Testing, Verification and Reliability (RSS)
DOI (original publisher): 10.1002/stvr.430
Semantic Scholar (metadata): 10.1002/stvr.430
Sci-Hub (fulltext): 10.1002/stvr.430
Internet Archive Scholar (search for fulltext): Regression testing minimization, selection and prioritization: a survey
Tagged: Computer Science (RSS) software engineering (RSS)


  • Test Suite Minimization Problem
    • GE: Greedily select tests that test a set of requirements, until all requirements are covered.
    • GRE: remove all redundant test cases in the test suite, then run GE.
    • the dual of the minimal hittingset problem, i.e. the set cover problem
    • Integer linear programming
    • More
    • Observations:
      • The reduction in size is greater intest suites with a higher block coverage in most cases.
      • The fault-detection effectiveness was decreasedby test case reduction, but the overall decrease in fault-detection effectiveness is not excessive
        • Not in all studies
  • Test Case Selection Problem
    • Integer Programming
    • Dataflow
      • Not all deps might be captured
    • Symbolic execution
      • Slow
      • Pointer aliasing
    • Slice
      • Relevant slice >= execution slice >= dynamic slice
      • If CFG changes, not complete
    • Control Dependence Graph
      • Could use CFG, but that might not be complete due to data dep
      • TestTube system adds other program entities such as defns and macros
    • Firewall based on module modification
      • Conservative
    • CFG cluster identification
      • Sounds like CDG
    • Design-based
      • Why not use “empirical” design (aka static analysis)
  • Test Case Prioritization Problem
    • Prioiritize tests with high coverage (branches, conditions, statements, mutant-killing) x (additional, total)
      • Mutant-killing <= statement coverage
      • “approaches with coarser granularity would produce lower APFD values, which was confirmed statistically”
      • Newer tests more likelu to reveal faults
      • Greedy algorithm is generally efficient [128]
    • Interaction-based prio/coverage
    • Distribution-based Approach: reduce clusters of tests which have similar traces