Parameterized test driven development
First Claim
1. At a computer system, a method for automatically generating unit tests by instantiating one or more generated input parameter values, the unit tests being derived from a corresponding parameterized unit test, the method comprising:
- an act of accessing a parameterized unit test, the parameterized unit test configured to test any of a plurality of behaviors of the unit of software code by providing a base outline from which any of a plurality of corresponding other unit tests can be formed to test individual behaviors from among the plurality of behaviors;
an act of generating input parameter values for testing an individual behavior of the unit of software code;
an act of automatically generating a unit test from the parameterized unit test by applying the one or more generated input parameter values to the parameterized unit test so as to modify the base outline into a unit test specifically configured for testing the individual behavior of the unit of software code, the unit test configured to assess the functionality of the individual behavior of the unit of software code, the generated input parameter values corresponding to parameters in the unit of software code that are to be tested;
an act of submitting the unit of software code and the automatically generated unit test to a software testing program to test execution of the unit of software code based on the automatically generated unit test;
an act of receiving test results from the software testing program, the test results including a test results status generated from executing the unit of software code based on the automatically generated unit test; and
an act of providing feedback to a user, the feedback indicating at least the test results status.
2 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment a computer system automatically generates unit tests. The computer system accesses a parameterized unit test that provides a base outline from which one or more unit tests are automatically generated, generates input parameter values for a unit of software code, automatically generates a unit test configured to assess the functionality of the unit of software code, and receives test results from a software testing program and provides feedback to a user. In other embodiments, a computer system automatically maintains a unit test database. The computer system receives a unit test at a unit test database, assigns a test identity to the received unit test, determines that the test identity assigned to the received unit test is unique when compared to other unit tests, determines that the received unit test has different functionality coverage characteristics, and adds the received unit test to the unit test database.
-
Citations
20 Claims
-
1. At a computer system, a method for automatically generating unit tests by instantiating one or more generated input parameter values, the unit tests being derived from a corresponding parameterized unit test, the method comprising:
-
an act of accessing a parameterized unit test, the parameterized unit test configured to test any of a plurality of behaviors of the unit of software code by providing a base outline from which any of a plurality of corresponding other unit tests can be formed to test individual behaviors from among the plurality of behaviors; an act of generating input parameter values for testing an individual behavior of the unit of software code; an act of automatically generating a unit test from the parameterized unit test by applying the one or more generated input parameter values to the parameterized unit test so as to modify the base outline into a unit test specifically configured for testing the individual behavior of the unit of software code, the unit test configured to assess the functionality of the individual behavior of the unit of software code, the generated input parameter values corresponding to parameters in the unit of software code that are to be tested; an act of submitting the unit of software code and the automatically generated unit test to a software testing program to test execution of the unit of software code based on the automatically generated unit test; an act of receiving test results from the software testing program, the test results including a test results status generated from executing the unit of software code based on the automatically generated unit test; and an act of providing feedback to a user, the feedback indicating at least the test results status. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer program product for use at a computer system, the computer program product for implementing a method for automatically generating unit tests by instantiating one or more generated input parameter values, the unit tests being derived from a corresponding parameterized unit test, the computer program product comprising one or more computer storage media having stored thereon computer-executable instructions that, when executed at a processor, cause the computer system to perform the method, including the following:
-
access a parameterized unit test, the parameterized unit test configured to test any of a plurality of behaviors of the unit of software code by providing a base outline from which any of a plurality of corresponding other unit tests can be formed to test individual behaviors from among the plurality of behaviors; generate input parameter values for testing an individual behavior of the unit of software code; generate a unit test from the parameterized unit test by applying the one or more generated input parameter values to the parameterized unit test so as to modify the base outline into a unit test specifically configured for testing the individual behavior of the unit of software code, the unit test configured to assess the functionality of the individual behavior of the unit of software code, the generated input parameter values corresponding to parameters in the unit of software code that are to be tested; submit the unit of software code and the automatically generated unit test to a software testing program to test execution of the unit of software code based on the automatically generated unit test; receive test results from the software testing program, the test results including a test results status generated from executing the unit of software code based on the automatically generated unit test; and provide feedback to a user, the feedback indicating at least the test results status. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification