Grants and Contributions:

Title:
TEST PRIORITIZATION – TECHNIQUES AND TOOLS: TOWARDS A MULTI-OBJECTIVE APPROACH.
Agreement Number:
RGPIN
Agreement Value:
$20,000.00
Agreement Date:
May 10, 2017 -
Organization:
Natural Sciences and Engineering Research Council of Canada
Location:
Quebec, CA
Reference Number:
GC-2017-Q1-01972
Agreement Type:
Grant
Report Type:
Grants and Contributions
Additional Information:

Grant or Award spanning more than one fiscal year. (2017-2018 to 2018-2019)

Recipient's Legal Name:
Badri, Mourad (Université du Québec à Trois-Rivières)
Program:
Discovery Grants Program - Individual
Program Purpose:

Software testing plays a crucial role in software quality assurance. Many types of software testing techniques have been developed over the last decades. Software testing is, indeed, a multi-dimensional problem. The development of efficient testing techniques and tools is still one of the most important software engineering research areas.
Software testing is, however, a time and resource consuming process. With the complexity, pervasiveness and criticality of software growing ceaselessly, ensuring that it behaves according to the desired levels of quality and dependability becomes more crucial, increasingly difficult and expensive. Moreover, exhaustive testing is cost prohibitive and typically not feasible except perhaps in extremely trivial cases. Also, software testing has often to be done under severe pressure due to limited resources and tight time constraints. Therefore, testing efforts have to be focused.
Many techniques have been developed to improve the cost-effectiveness of (regression) testing. Furthermore, the cost of software errors is extremely high, and one contributing factor to the high number of errors is the limitation of resources for software quality assurance. One of the most important challenges is then to make testing effective with reasonable (ideally optimal) consumption of resources. So, research questions such as “ how to prioritize tests (in the sense of what are the components on which the testing effort has to be more focused) in order to improve the effectiveness of the testing process and to ensure software quality ?”, and many other related questions, are crucial and central to this issue.
Many different test case prioritization techniques have been developed over years. Overall, test case prioritization techniques identify the efficient ordering of test cases to maximize some objective function, such as fault detection or coverage rates. Most of existing test case prioritization techniques have been developed and used to improve the (cost) effectiveness of regression testing. However, we believe that test case prioritization is also important during the development. Test case prioritization problem has been addressed from various (specific) perspectives, with coverage-based test case prioritization dominating the field. However, there are still outstanding major research issues (challenges, opportunities) that should be addressed.
The overall objective of this research program is to develop and experiment new approaches (techniques and associated tools – framework) for prioritizing tests during development and maintenance of object-oriented systems. We propose different views of prioritization, which can be used to improve (extend) existing techniques, and new avenues. The problem will be addressed from various perspectives.