Multi-layer test suite generation
AssigneeGoogle Inc.
InventorsKeun Soo Yim, Iliyan Malchev
Life of this patent
Estimating the term…
Abstract
A system and method for developing a multi-layered test suite for an operating platform including a framework layer and a system layer includes executing a first test suite against a version of the operating platform modified based on a software faults. A first counter is incremented if a first test suite executed against the modified version of the operating platform fails. A second test suite can be executed against the modified version of the operating platform and test cases may be added to the first test suite based on whether the second test suite passes or fails.
Claims20
A method for developing a test suite for an operating platform, the method comprising:
- performing a plurality of iterations, each of the plurality of iterations corresponding to a selected one of a plurality of software faults, each iteration including:
- executing a first test suite against a modified version of the operating platform corresponding to the selected one of a plurality of software faults, the first test suite including a first plurality of test cases;
- incrementing a first counter if executing the first test suite against the modified version of the operating platform results in at least one of the first plurality of test cases failing;
- executing a second test suite against the modified version of the operating platform, the second test suite including a second plurality of test cases;
- incrementing a second counter if executing the second test suite against the modified version of the operating platform results in at least one of the second plurality of test cases failing;
- incrementing a third counter if executing the second test suite against the modified version of the operating platform results in none of the second plurality of test cases failing;
- determining a ratio of the first counter to a sum of the second and third counters;
- performing another iteration of the plurality of iterations if the ratio fails to satisfy a first threshold;
- and
- ceasing iteration through the plurality of iterations if the ratio satisfies the first threshold.
A system for developing a test suite for an operating platform, the system comprising:
- a processor;
- and
- a memory storing instructions that when executed by the processor, cause the processor to perform a plurality of iterative operations, each of the plurality of iterative operations including:
- executing a first test suite against a modified version of the operating platform, the modified version of the operating platform being created by altering a baseline version of the operating platform;
- incrementing a first counter if executing the first test suite against the modified version of the operating platform fails;
- executing a second test suite against the modified version of the operating platform if the first test suite against the modified version of the operating platform passes;
- incrementing a second counter when executing the second test suite against the modified version of the operating platform fails;
- incrementing a third counter if executing the second test suite against the modified version of the operating platform passes;
- determining a ratio of the first counter to a sum of the second and third counters, performing another of the plurality of iterative operations if the ratio fails to satisfy a first threshold;
- and
- ceasing performance of the plurality of iterative operations if the ratio satisfies the first threshold.
A method for creating a test suite for an operating platform, the method comprising:
- performing a plurality of iterations corresponding to a plurality of software faults, each of the plurality of iterations corresponding to one of the plurality of software faults, and each of the plurality of iterations including:
- creating a modified version of the operating platform by altering a baseline version of the operating platform by injecting a corresponding one of the plurality of software faults into the baseline version of the operating platform;
- executing a first test suite against the modified version of the operating platform if the first test suite includes at least one test case;
- if executing the first test suite against the modified version of the operating platform fails, incrementing a first counter;
- and
- if executing the first test suite against the modified version of the operating platform passes:
- executing a second test suite against the modified version of the operating platform;
- if executing the second test suite against the modified version of the operating platform fails, incrementing a second counter;
- and
- adding a new test case to the first test suite for the corresponding one of the plurality of software faults;
- and
- if executing the second test suite against the modified version of the operating platform fails:
- if executing the second test suite against the modified version of the operating platform passes, incrementing a third counter;
- determining a ratio of the first counter to a sum of the second and third counters;
- if the ratio fails to satisfy a first threshold, performing another of the plurality of iterations;
- and
- if the ratio satisfies the first threshold, ceasing performance of the plurality of iterations.
Dependencies are inferred from the claim text.