CPC G06F 11/3688 (2013.01) [G06F 8/71 (2013.01)] | 17 Claims |
1. A computer-implemented method for determining test cases to be run upon changes in software application code, the method comprising:
receiving a test suite containing a plurality of test cases designed to perform the testing of a software application, said software application containing a plurality of components;
executing each test case of said plurality of test cases to determine a corresponding sequence of components of said plurality of components executed for the test case;
storing a dependency data indicating for each test case, the corresponding sequence of components executed for the test case;
determining that a first component of said plurality of components has been changed;
identifying a first set of test cases that cause execution of said first component by performing a reverse look-up in said dependency data;
checking whether said dependency data is stale, wherein said checking is based on one or both of whether said dependency data is older than a pre-defined threshold time and whether the number of changes made to said software application is larger than a pre-defined value;
if said dependency data is stale:
finding a second set of components having a static dependency with said first component, wherein a component is deemed to have said static dependency and is included in said second set of components if the software code constituting said first component includes a code line that references the component;
identifying a second set of test cases that cause execution of any component of said second set of components by performing a reverse look-up in said dependency data; and
including said first set of test cases and said second set of test cases in the test cases to be run for re-testing said software application.
|