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.