IP Library Granted Patent US 8,683,442
Granted Patent B2
US 8,683,442 · App. 13/238,110 · Granted Mar 25, 2014

Software test case generation from a partial design model

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,683,442
App. No.
13/238,110
Granted
Mar 25, 2014
Kind
B2
Abstract

A method allows for testing software under test (SUT) with respect to a partial design model (PDM) having a boundary which differs from a boundary of the SUT. The method includes recording input information including the SUT, the PDM, and coverage criteria defining a required number of the test cases. Variables in the SUT are identified that correspond to boundary signals for the PDM. Test cases are extracted meeting the coverage criteria. The method may include generating additional test cases at the PDM level and mapping the additional cases with corresponding constraint functions to the boundary of the SUT using a forward/backward propagation and/or heuristics guided technique. A system for testing the SUT includes a host machine and memory. The host machine executes process instructions from memory to identify variables in the SUT that correspond to boundary signals for the PDM, and extracts test cases meeting the coverage criteria.

Claims (63)

1. A method for testing software under test (SUT) with respect to a partial design model (PDM) having a boundary which differs from a boundary of the SUT, the method comprising:

recording a set of input information, including the SUT, the PDM, and coverage criteria defining a required number of the test cases;

identifying, via a host machine, a set of variables in the SUT that corresponds to boundary signals for the PDM; and

extracting a set of test cases meeting the coverage criteria using the SUT, the PDM, and the set of variables.

2. The method of claim 1 , further comprising:

using the host machine to test the SUT using the extracted set of test cases.

3. The method of claim 1 , wherein extracting a set of test cases includes:

generating an initial set of test cases from the SUT; and

measuring coverage of the initial set of test cases on the PDM.

4. The method of claim 3 , further comprising:

generating an additional set of test cases at the level of the PDM;

mapping the additional set of test cases with corresponding constraint functions to the boundary of the SUT using one of a propagation technique and a heuristics guided technique; and

using the host machine to solve the corresponding constraint functions.

5. The method of claim 4 , further comprising:

mapping a set of input signals of the SUT to a corresponding input signal value in the PDM.

6. The method of claim 5 , wherein mapping a set of input signals to the SUT includes collecting constraint functions for every data port used in a device running the SUT.

7. The method of claim 1 , further comprising:

logging the input and output (I/O) values of the PDM while simulating the SUT with random inputs for a predefined number of iterations; and

simulating the PDM with the logged inputs; and

comparing the outputs of the PDM to a set of expected outputs.

8. A system for testing software under test (SUT) with respect to a partial design model (PDM) having a boundary which differs from a boundary of the SUT, the system comprising:

a host machine which receives and records an input set, including the SUT, the PDM, and coverage criteria defining a required number of the test cases; and

tangible/non-transitory memory on which is recorded a test generation tool and a set of process instructions for testing the SUT;

wherein the host machine is configured to execute the process instructions to thereby identify a set of variables in the SUT that correspond to boundary signals for the PDM, and to extract a set of test cases meeting the coverage criteria using the SUT, the PDM, and the set of variables.

9. The system of claim 8 , wherein the host machine is configured to:

generate an initial version of the set of test cases from the SUT; and

measure the coverage of the initial version of the set of test cases on the PDM.

10. The system of claim 8 , wherein the host machine executes one of a forward or a backward propagation technique to automatically map at least some of the test cases from the PDM to the SUT.

11. The system of claim 8 , wherein the host machine is configured to extract the set of test cases by:

generating an initial set of test cases from the SUT; and

measuring coverage of the initial set of test cases on the PDM.

12. The system of claim 8 , wherein the host machine is configured for:

generating an additional set of test cases at the level of the PDM;

mapping the additional set of test cases with corresponding constraint functions to the boundary of the SUT using one of a forward-propagation technique, a backward propagation technique, and a heuristics guided technique; and

using the host machine to solve the corresponding constraint functions.

13. The system of claim 8 , wherein the host machine is configured for:

mapping a set of input signals to the SUT to a corresponding value in the PDM.

14. The system of claim 8 , wherein:

the host machine is in communication with an additional system under test which has a plurality of data ports;

the host machine uses the SUT to control a function of the additional system; and

the host machine is configured for mapping the set of input signals to the SUT by collecting constraint functions for every data port used in the additional system.

15. The system of claim 8 , wherein the host machine is further configured for:

logging the input and output (I/O) values of the PDM while simulating the SUT code with random inputs for a predefined number of iterations;

simulating the PDM with the logged inputs; and

comparing the outputs of the PDM to a set of expected outputs.

16. A method for testing software under test (SUT) with respect to a partial design model (PDM) having a boundary which differs from a boundary of the SUT, the method comprising:

recording a set of input information, including the SUT, the PDM, and coverage criteria defining a required number of the test cases;

identifying, via a host machine, a set of variables in the SUT that corresponds to boundary signals for the PDM;

extracting a set of test cases meeting the coverage criteria using the SUT, the PDM, and the set of variables, including:

generating an initial set of test cases from the SUT; and

measuring coverage of the initial set of test cases on the PDM;

mapping a set of input signals to the SUT to a corresponding value in the PDM; and

using the host machine to test the SUT using the extracted set of test cases.

17. The method of claim 16 , further comprising:

generating an additional set of test cases at the level of the PDM;

mapping the additional set of test cases with corresponding constraint functions to the boundary of the SUT; and

using the host machine to solve the corresponding constraint functions.

18. The method of claim 17 , further comprising:

logging the input and output (I/O) values of the PDM while simulating the SUT code with random inputs for a predefined number of iterations;

simulating the PDM with the logged inputs; and

comparing the outputs of the PDM to a set of expected outputs.

19. The method of claim 16 , further comprising:

using a heuristics-based guided technique to dynamically approximate expressions or functions of any test cases that are not covered by the initial set of test cases.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2014
From: WILMINGTON TRUST COMPANY
To: GM GLOBAL TECHNOLOGY OPERATIONS LLC
Reel/Frame 034186/0776 →
SECURITY AGREEMENT Recorded Jun 28, 2012
From: GM GLOBAL TECHNOLOGY OPERATIONS LLC
To: WILMINGTON TRUST COMPANY
Reel/Frame 028458/0184 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2011
From: PERANANDAM, PRAKASH MOHAN; GADKARI, AMBAR A.; SETHU, RAMESH
To: GM GLOBAL TECHNOLOGY OPERATIONS LLC
Reel/Frame 026946/0816 →