“…Test case prioritization techniques schedule test cases in an order that increases their effectiveness in meeting some performance goals (e.g., rate of fault detection and number of test cases required to discover all the faults) [51,91,115]. They mostly use information about previous executions of test cases (e.g., [29,33,44,60,63,91]), human knowledge (e.g., [8,54,96,97,99,103]), or a model of the system under test (e.g., [34,53,55,101]). For instance, Shrikanth et al [98] propose a test case prioritization approach that takes into consideration customer-assigned priorities of requirements, developer-perceived implementation complexity, requirements volatility, and fault proneness of requirements.…”