Probabilistic software testing via dynamic graphs
AssigneeHewlett Packard Enterprise Development LP
InventorGavin Brebner
Life of this patent
Estimating the term…
Abstract
Systems and methods described in the present disclosure provide a software testing framework that leverages information about actual consumer interactions with a software product to create a directed graph. The directed graph is be used to generate a large number of simulated consumer interactions to test the software product in a manner such that scenarios shown to be more likely in practice are proportionally more likely to be generated during testing. Furthermore, the directed graph can be updated dynamically so that changing trends in actual consumer interactions with the software product are reflected immediately.
Claims20
A method comprising:
- generating an application instance that executes on one or more processors;
- identifying a first vertex that corresponds to a type of an immediate predecessor action that occurred in the application instance, wherein the vertex is part of a directed graph;
- identifying a plurality of edges for which the vertex is source vertex in the directed graph, wherein the edges are associated with respective probabilities;
- probabilistically selecting one of the edges based on the respective probabilities, wherein a second vertex is a target vertex of the selected edge;
- identifying an action type that corresponds to the second vertex;
- and
- triggering an action of the action type in the application instance.
A system comprising:
- one or more processors;
- and
- a memory storing instructions that, when executed on the one or more processors, cause the one or more processors to perform the following:
- generating an application instance that executes on one or more processors;
- identifying a first vertex that corresponds to a type of an immediate predecessor action that occurred in the application instance, wherein the vertex is part of a directed graph;
- identifying a plurality of edges for which the vertex is source vertex in the directed graph, wherein the edges are associated with respective probabilities;
- probabilistically selecting one of the edges based on the respective probabilities, wherein a second vertex is a target vertex of the selected edge;
- identifying an action type that corresponds to the second vertex;
- and
- triggering an action of the action type in the application instance.
A non-transitory computer-readable storage medium containing instructions thereon that, when executed on a processor, cause the processor to perform the following:
- generating an application instance that executes on one or more processors;
- identifying a first vertex that corresponds to a type of an immediate predecessor action that occurred in the application instance, wherein the vertex is part of a directed graph;
- identifying a plurality of edges for which the vertex is source vertex in the directed graph, wherein the edges are associated with respective probabilities;
- probabilistically selecting one of the edges based on the respective probabilities, wherein a second vertex is a target vertex of the selected edge;
- identifying an action type that corresponds to the second vertex;
- and
- triggering an action of the action type in the application instance.
Dependencies are inferred from the claim text.