Workflow impact analysis
An embodiment monitors a code repository for changes made to source code. The embodiment detects a change made to the source code, and upon detecting the change made to the source code, identifies a potentially impacted workflow node of a workflow based on the change made to the source code. The embodiment identifies an execution tree of the workflow that contains the potentially impacted workflow node. The embodiment identifies a set of test cases corresponding to the execution tree. The embodiment generates a test case recommendation based on the set of test cases identified. The embodiment transmits the test case recommendation to a user device.
1 . A computer-implemented method comprising:
simulating a workflow in a sandbox virtual environment to generate execution data and extracting a plurality of execution trees from the execution data, the simulating comprising applying a plurality of access control lists (ACLs) to the workflow to generate different execution paths of the workflow;
establishing a mapping that defines relationships between the plurality of execution trees and a plurality of sets of corresponding test cases;
detecting one or more blind spots by identifying a node of one or more of the plurality of execution trees that corresponds to an insufficient number of test cases;
monitoring a code repository for changes made to source code;
detecting a change made to the source code;
upon detecting the change made to the source code, identifying a potentially impacted workflow node of a workflow based on the change made to the source code;
identifying an execution tree of the workflow that contains the potentially impacted workflow node;
identifying a set of test cases corresponding to the execution tree;
generating a test case recommendation based on the set of test cases identified;
transmitting the test case recommendation to a user device; and
automatically executing the set of test cases identified.
2 . The computer-implemented method of claim 1 , wherein the computer-implemented method further comprises:
determining whether the set of test cases validates desired functioning of the workflow, and, upon a determination that the set of test cases validates desired functioning of the workflow, implementing the change made to the source code to the code repository.
3 . The computer-implemented method of claim 1 , wherein the computer-implemented method further comprises identifying at least one dependency of the workflow, and incorporating the at least one dependency in the sandbox virtual environment.
4 . The computer-implemented method of claim 1 , wherein the computer-implemented method further comprises constructing a cartesian product set defining all possible execution paths of the workflow.
5 . The computer-implemented method of claim 1 , wherein the computer-implemented method further comprises detecting a blind spot in an execution path of the workflow.
6 . A computer program product for impact analysis comprising one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions executable by a processor to cause the processor to perform operations comprising:
simulating a workflow in a sandbox virtual environment to generate execution data and extracting a plurality of execution trees from the execution data, the simulating comprising applying a plurality of access control lists (ACLs) to the workflow to generate different execution paths of the workflow;
establishing a mapping that defines relationships between the plurality of execution trees and a plurality of sets of corresponding test cases;
detecting one or more blind spots by identifying a node of one or more of the plurality of execution trees that corresponds to an insufficient number of test cases;
monitoring a code repository for changes made to source code;
detecting a change made to the source code;
upon detecting the change made to the source code, identifying a potentially impacted workflow node of a workflow based on the change made to the source code;
identifying an execution tree of the workflow that contains the potentially impacted workflow node;
identifying a set of test cases corresponding to the execution tree;
generating a test case recommendation based on the set of test cases identified;
transmitting the test case recommendation to a user device; and
automatically executing the set of test cases identified.
7 . The computer program product of claim 6 , wherein the program instructions are stored in a computer readable storage device in a data processing system, and wherein the program instructions are transferred over a network from a remote data processing system.
8 . The computer program product of claim 6 , wherein the program instructions are stored in a computer readable storage device in a server data processing system, and wherein the program instructions are downloaded in response to a request over a network to a remote data processing system for use in a computer readable storage device associated with the remote data processing system, further comprising:
program instructions to meter use of the program instructions associated with the request; and
program instructions to generate an invoice based on the metered use.
9 . The computer program product of claim 6 , wherein the program instructions further comprise program instructions to identify at least one dependency of the workflow, and incorporate the at least one dependency into the sandbox virtual environment.
10 . The computer program product of claim 6 , wherein the program instructions further comprise program instructions to construct a cartesian product set defining all possible execution paths of the workflow.
11 . The computer program product of claim 6 , wherein the program instructions further comprise program instructions to detect a blind spot in an execution path of the workflow.
12 . A computer system comprising a processor and one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions executable by the processor to cause the processor to perform operations comprising:
simulating a workflow in a sandbox virtual environment to generate execution data and extracting a plurality of execution trees from the execution data, the simulating comprising applying a plurality of access control lists (ACLs) to the workflow to generate different execution paths of the workflow;
establishing a mapping that defines relationships between the plurality of execution trees and a plurality of sets of corresponding test cases;
detecting one or more blind spots by identifying a node of one or more of the plurality of execution trees that corresponds to an insufficient number of test cases;
monitoring a code repository for changes made to source code;
detecting a change made to the source code;
upon detecting the change made to the source code, identifying a potentially impacted workflow node of a workflow based on the change made to the source code;
identifying an execution tree of the workflow that contains the potentially impacted workflow node;
identifying a set of test cases corresponding to the execution tree;
generating a test case recommendation based on the set of test cases identified;
transmitting the test case recommendation to a user device; and
automatically executing the set of test cases identified.
13 . The computer system of claim 12 , further comprising identifying at least one dependency of the workflow, and incorporating the at least one dependency in the sandbox virtual environment.