TESTING REUSE ACROSS PROTOLANE FAMILIES
Disclosed herein are system, method, and computer program product aspects for testing reuse across protolane families. For example, the method includes comparing a first protolane level flowchart to a second protolane level flowchart to determine a common graph corresponding to a portion of the first protolane level flowchart and a portion of the second protolane level flowchart. A first protolane corresponding to the first protolane level flowchart and a second protolane corresponding to the second protolane level flowchart within a protolane family are grouped based on the common graph, wherein a test directed to conditions of the common graph is applicable to the portion of the first protolane level flowchart and the portion of the second protolane level flowchart.
1 . A method, comprising:
comparing, by one or more computing devices, a first protolane level flowchart to a second protolane level flowchart to determine a common graph corresponding to a portion of the first protolane level flowchart and a portion of the second protolane level flowchart; and
grouping, by the one or more computing devices, a first protolane corresponding to the first protolane level flowchart and a second protolane corresponding to the second protolane level flowchart within a protolane family based on the common graph, wherein a test directed to conditions of the common graph is applicable to the portion of the first protolane level flowchart and the portion of the second protolane level flowchart.
2 . The method of claim 1 , further comprising:
identifying, by the one or more computing devices, the portion of the first protolane level flowchart as covered by testing; and
determining, by the one or more computing devices, test coverage of the first protolane based on any additional testing assigned to the first protolane level flowchart.
3 . The method of claim 2 , wherein determining the test coverage of the first protolane comprises:
enumerating, by the one or more computing devices, logical combinations of scenarios of the first protolane level flowchart; and
comparing, by the one or more computing devices, the enumerated logical combinations of scenarios to a number of the scenarios that are covered by testing.
4 . The method of claim 1 , further comprising:
determining, by the one or more computing devices, a plurality of additional common graphs among protolane level flowcharts of protolanes in the protolane family; and
identifying, by the one or more computing devices, one or more untested common graphs among the plurality of additional common graphs.
5 . The method of claim 4 , further comprising:
prioritizing, by the one or more computing devices, a graph of the one or more untested common graphs for testing based on a frequency of appearance of the graph in corresponding protolanes.
6 . The method of claim 4 , further comprising:
prioritizing, by the one or more computing devices, the protolane family for testing based on a comparison of a frequency of the one or more untested common graphs to a frequency of untested common graphs of one or more additional protolane families.
7 . The method of claim 1 , further comprising:
selecting, by the one or more computing devices, a factor of a test on the common graph;
generating, by the one or more computing devices, a variation of the factor; and
generating, by the one or more computing devices, an additional test on the common graph corresponding to the variation of the factor.
8 . A system, comprising:
a memory; and
at least one processor coupled to the memory and configured to perform operations comprising:
comparing a first protolane level flowchart to a second protolane level flowchart to determine a common graph corresponding to a portion of the first protolane level flowchart and a portion of the second protolane level flowchart, and
grouping a first protolane corresponding to the first protolane level flowchart and a second protolane corresponding to the second protolane level flowchart within a protolane family based on the common graph, wherein a test directed to conditions of the common graph is applicable to the portion of the first protolane level flowchart and the portion of the second protolane level flowchart.
9 . The system of claim 8 , the operations further comprising:
identifying the portion of the first protolane level flowchart as covered by testing; and
determining test coverage of the first protolane based on any additional testing assigned to the first protolane level flowchart.
10 . The system of claim 9 , wherein determining the test coverage of the first protolane comprises:
enumerating logical combinations of scenarios of the first protolane level flowchart; and
comparing the enumerated logical combinations of scenarios to a number of the scenarios that are covered by testing.
11 . The system of claim 8 , the operations further comprising:
determining a plurality of additional common graphs among protolane level flowcharts of protolanes in the protolane family; and
identifying one or more untested common graphs among the plurality of additional common graphs.
12 . The system of claim 11 , the operations further comprising:
prioritizing a graph of the one or more untested common graphs for testing based on a frequency of appearance of the graph in corresponding protolanes.
13 . The system of claim 11 , the operations further comprising:
prioritizing the protolane family for testing based on a comparison of a frequency of the one or more untested common graphs to a frequency of untested common graphs of one or more additional protolane families.
14 . The system of claim 8 , the operations further comprising:
selecting a factor of a test on the common graph;
generating a variation of the factor; and
generating an additional test on the common graph corresponding to the variation of the factor.
15 . A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:
comparing a first protolane level flowchart to a second protolane level flowchart to determine a common graph corresponding to a portion of the first protolane level flowchart and a portion of the second protolane level flowchart; and
grouping a first protolane corresponding to the first protolane level flowchart and a second protolane corresponding to the second protolane level flowchart within a protolane family based on the common graph, wherein a test directed to conditions of the common graph is applicable to the portion of the first protolane level flowchart and the portion of the second protolane level flowchart.
16 . The non-transitory computer-readable medium of claim 15 , the operations further comprising:
identifying the portion of the first protolane level flowchart as covered by testing; and
determining test coverage of the first protolane based on any additional testing assigned to the first protolane level flowchart.
17 . The non-transitory computer-readable medium of claim 16 , wherein determining the test coverage of the first protolane comprises:
enumerating logical combinations of scenarios of the first protolane level flowchart; and
comparing the enumerated logical combinations of scenarios to a number of the scenarios that are covered by testing.
18 . The non-transitory computer-readable medium of claim 15 , the operations further comprising:
determining a plurality of additional common graphs among protolane level flowcharts of protolanes in the protolane family; and
identifying one or more untested common graphs among the plurality of additional common graphs.
19 . The non-transitory computer-readable medium of claim 18 , the operations further comprising:
prioritizing a graph of the one or more untested common graphs for testing based on a frequency of appearance of the graph in corresponding protolanes.
20 . The non-transitory computer-readable medium of claim 15 , the operations further comprising:
selecting a factor of a test on the common graph;
generating a variation of the factor; and
generating an additional test on the common graph corresponding to the variation of the factor.