Title :
RDCC: An effective test case prioritization framework using software requirements, design and source code collaboration
Author :
Siddik, Md Saeed ; Sakib, Kazi
Author_Institution :
Inst. of Inf. Technol., Univ. of Dhaka, Dhaka, Bangladesh
Abstract :
Test case prioritization is a technique for selecting those test cases, which are expected to outperform for determining faulty modules earlier. Different phases of software development lifecycle represent the total software from different point of views, where priority module may vary from phase to phase. However, information from different phases of software development lifecycle is rarely introduced and no one integrates that information to prioritize test cases. This paper presents an effective test case prioritization framework, which takes software requirements specification, design diagrams, source codes and test cases as input and provides a prioritized order of test cases using their collaborative information as output. Requirement IDs are split into words or terms excluding stop words to calculate requirements relativity. Design diagrams are extracted as readable XML format to calculate the degree of interconnectivity among the activities. Source codes are parsed as call graphs where vertices and edges represent classes, and calls between two classes respectively. Requirements relativity, design interconnectivity and class dependencies are multiplied by their assigned weight to calculate final weight and select test cases by mapping the customers´ requirements and test cases using that weight. The proposed framework is validated with an academic project and the results show that use of collaborative information during prioritization process can be beneficial.
Keywords :
Unified Modeling Language; XML; formal specification; graph theory; program testing; source code (software); RDCC; call graphs; class dependencies; collaborative information; customer requirements mapping; design diagram extraction; design interconnectivity degree; final weight calculation; graph edges; graph vertices; information integration; readable XML format; requirement ID; requirements relativity; software development lifecycle phases; software priority module; software requirements specification; source code collaboration; test case mapping; test case prioritization; test case prioritization framework; test case selection; weight assignment; Collaboration; Computers; Information technology; Software; Testing; Unified modeling language; XML; Software Engineering; Software Testing; Test Case Prioritization; UML and Code Collaboration;
Conference_Titel :
Computer and Information Technology (ICCIT), 2014 17th International Conference on
DOI :
10.1109/ICCITechn.2014.7073072