# A UML Activity Flow Graph-Based Regression Testing Approach
###### Abstract  
Regression testing is a crucial process that ensures that changes made to a system do not affect existing functionalities. However, there is currently no adequate technique for selecting test cases that consider changes in Unified Modeling Language (UML) activity flow graphs. This paper proposes a novel approach to regression testing of UML diagrams, focusing on healthcare management systems. We provide a formal definition of sequence and activity diagrams and their relationship and construct corresponding activity flow graphs, which are used to develop a regression testing algorithm. The proposed algorithm categorizes test cases into reusable, retestable, obsolete, and newly generated categories by comparing old and new versions of UML activity flow graphs. The methodology is evaluated using a custom-designed hospital management system website as the test case, and the results demonstrate a significant reduction in time and resources required for regression testing. Our study provides valuable insights into the application of UML diagrams and activity flow graphs in regression testing, making it an important contribution to software testing research. Unified Modeling Language (UML) diagrams; sequence diagrams; activity diagrams; regression testing; hospital management system Article  
A UML Activity Flow Graph-Based Regression Testing Approach April 2023135799 April 2023103399 April 20231039  
activities, testers can minimize the number of test cases required, reducing the overall effort required for regression testing. The activity diagram can also be used to identify the sequence of activities that need to be tested, ensuring that the system's behavior remains consistent after any changes have been made. Another UML behavioral diagram that can be useful in regression testing is the sequence diagram. The sequence diagram depicts the interactions between the different objects in the system, showing the order in which the objects interact. By using the sequence diagram, testers can verify that the system remains consistent after any changes have been made. They can also ensure that the system's objects continue to interact as expected, without any unexpected behavior. One challenge in regression testing using UML models is the need to ensure that the generated code is correct. This requires the UML models to be accurate, complete, and consistent. Any errors or inconsistencies in the UML models can lead to incorrect code generation, resulting in unexpected behavior in the system. To ensure the accuracy, completeness, and consistency of the UML models, various verification and validation techniques can be used, such as consistency checking, model simulation, and model debugging. Regression testing is a crucial phase in software development that ensures previously developed and tested software continues to function as expected after any changes have been made. The use of UML models in regression testing can minimize the effort required by identifying critical paths, activities, and classes that require testing. UML models can also ensure the system's behavior remains consistent after any changes have been made. However, the accuracy, completeness, and consistency of the UML models must be verified and validated to ensure that the generated code is correct. We now present here some existing research works on regression testing on various UML models and various case studies. [PERSON], [PERSON], and [PERSON] give a detailed description of regression testing on UML designs in [1]. In this work, they consider that due to the frequent changes in the early stages of the software life-cycle, it is important to have a regression testing approach that can be applied to the UML model. By categorizing design changes and classifying test cases accordingly, a set of guidelines can be established for reusing existing test cases and generating new ones, thus ensuring comprehensive testing of all affected components of the system. Their approach offers a safe and efficient selective retest strategy. [PERSON] et al.