A Method For Selectıng Regressıon Test Cases Based On Software Changes And Software Faults
xmlui.mirage2.itemSummaryView.MetaDataShow full item record
Regression testing is the type of testing in which a modified software is validated to ensure its functionality is not broken. With the increase of modern, agile and large size software systems, regression test selection needs to be efficient, effective and practical to coexist within the software development cycle. To this need, a modern hybrid technique for regression test selection is proposed in this thesis. A detailed literature analysis and a conceptual model are presented in order to better visualize and identify the target concepts of the field. We introduce a technique operating on different granularity levels using difference based techniques of files for both class files and third-party text files. Our technique uses lexical comparison methods for readable files and checksum comparison for any binary files with file or method level granularity. A tunable similarity threshold is offered to users to be used in fulfilling different performance needs. Any available test or fault history data is also used to increase the effectiveness of the proposed technique. We provide an extensive evaluation study in the form of embedded, multiple case study of the proposed technique with other state-of-the-art techniques with respect to performance and cost-efficiency using different open source projects. The results showed that the proposed approach is effective as other state-of-the-art techniques and selects fewer tests while keeping the fault detection rate at a high level.