{"title":"Test case prioritization based on neural networks classification","authors":"C.M. Tiutin, A. Vescan","doi":"10.1145/3536168.3543300","DOIUrl":null,"url":null,"abstract":"Regression testing focuses on validating modified software, in order to detect if new errors were added into previously tested code and to provide confidence that modifications are correct. An approach that involves running all test cases would be time-consuming, however, test case prioritization plans an execution order of the test cases as an attempt to achieve the regression testing goals early in the testing phase. In this paper, we propose a Test Case Prioritization based on Neural Networks Classification (TCP-NNC) approach to be further used in the test case prioritization strategy. The proposed approach incorporates among other factors, the associations between requirements, tests and discovered faults, based on which an artificial neural network is trained, in order to be able to predict priorities for new test cases. The proposal is evaluated through experiments designed on both a real and a synthetic dataset, considering two different sets of features with different neural network architectures. The metrics observed include accuracy, precision and recall, while their results imply that the proposed method is feasible and effective. Among the proposed models, the one with Adam optimizer and three-layered architecture is the best obtained. Statistical tests are also used to compare various proposed models from various perspectives: NN architecture, optimizer, number of used features, used dataset and validation method.","PeriodicalId":287847,"journal":{"name":"Proceedings of the 2nd ACM International Workshop on AI and Software Testing/Analysis","volume":"21 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-07-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2nd ACM International Workshop on AI and Software Testing/Analysis","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3536168.3543300","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Regression testing focuses on validating modified software, in order to detect if new errors were added into previously tested code and to provide confidence that modifications are correct. An approach that involves running all test cases would be time-consuming, however, test case prioritization plans an execution order of the test cases as an attempt to achieve the regression testing goals early in the testing phase. In this paper, we propose a Test Case Prioritization based on Neural Networks Classification (TCP-NNC) approach to be further used in the test case prioritization strategy. The proposed approach incorporates among other factors, the associations between requirements, tests and discovered faults, based on which an artificial neural network is trained, in order to be able to predict priorities for new test cases. The proposal is evaluated through experiments designed on both a real and a synthetic dataset, considering two different sets of features with different neural network architectures. The metrics observed include accuracy, precision and recall, while their results imply that the proposed method is feasible and effective. Among the proposed models, the one with Adam optimizer and three-layered architecture is the best obtained. Statistical tests are also used to compare various proposed models from various perspectives: NN architecture, optimizer, number of used features, used dataset and validation method.