Method for computer-assisted testing of software application components
First Claim
1. In a software application for interacting with a database, a method for testing a transaction of said software application using test data automatically generated from a definition of said transaction, comprising the steps of:
- A (1) evaluating said transaction to determine data fields included within said transaction;
B (2) retrieving from said definition of said transaction typical values for said data fields stored as part of said definition;
C (3) creating said test data utilizing said typical values of said data fields; and
D (4) executing said transaction with said test data.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and computer product for facilitating automatic testing during the development and other life cycle phases of a software application comprised of transactions. A transaction tester evaluates the integrity of a transaction by generating test data from the definition of the transaction under test. Typical values for fields may be included within the transaction definition and reused as typical test values. Test results are generated and compared against known-good values or, alternatively, against expected test results also generated from the transaction definition. Other software components may also be tested including menu structures. A definition of the menu structure is rigorously traversed such that each entry of each menu is thoroughly tested and reported. Results are automatically compared and verified against known good results or test results are automatically reviewed. Both transaction testing and menu testing may be incorporated into regression testing.
189 Citations
30 Claims
-
1. In a software application for interacting with a database, a method for testing a transaction of said software application using test data automatically generated from a definition of said transaction, comprising the steps of:
-
A (1) evaluating said transaction to determine data fields included within said transaction;
B (2) retrieving from said definition of said transaction typical values for said data fields stored as part of said definition;
C (3) creating said test data utilizing said typical values of said data fields; and
D (4) executing said transaction with said test data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
(1) adding an entry corresponding to one of said typical values of one of said data fields to said database.
-
-
3. The method for testing a transaction of said software application as recited in claim 2, wherein creating said test data step (step C) comprises creating test data to perform the steps of:
-
(2) querying said entry from said database;
(3) modifying said entry into a modified entry in said database;
(4) querying said modified entry from said database;
(5) deleting said modified entry from said database; and
(6) querying said database to verify deletion of said modified entry from said database.
-
-
4. The method for testing a transaction of said software application as recited in claim 1, wherein said creating said test data step (step C) further comprises
(7) repeating said creating step for each of said typical values for said data fields stored in said definition of said transaction. -
5. The method for testing a transaction of said software application as recited in claim 1, further comprising:
(E) reporting test results in a current test report from said test data following said executing step.
-
6. The method for testing a transaction of said software application as recited in claim 5, further comprising:
(F) when said test report exhibits favorable results, identifying said current test report as a control test report to designate a testing baseline for subsequent evaluation.
-
7. The method for testing a transaction of said software application as recited in claim 6, further comprising the steps of:
-
(G) comparing said current test report with said control test report to determine differences from said control test; and
(H) when said differences exist, producing a difference report detailing differences between said current test report and said control test report.
-
-
8. The method for testing a transaction of said software application as recited in claim 5, further comprising the steps of:
-
(I) following said reporting test results step, reviewing test results from said test data generated in said creating step; and
(J) reporting incorrect transaction behavior.
-
-
9. The method for testing a transaction of said software application as recited in claim 1, wherein said execution step further comprises:
(8) periodically executing said transaction with said test data as part of a regression test of said software application.
-
10. The method for testing a transaction of said software application as recited in claim 1, further comprising:
(k) prior to said evaluating step, installing smart code data corresponding to preferred instances of data into said data fields of said transaction.
-
11. In a software application for interacting with a database, a method for automatically testing a menu portion of said software application, comprising the steps of:
-
(A) in a first menu having a first entry, opening a first transaction corresponding to said first entry;
(B) reporting test results in a current test report, said test results being a representation of the results from the opening of said transaction; and
(C) closing said transaction. - View Dependent Claims (12, 13, 14, 15)
(D) selecting a first menu within said software application; and
(E) from said first menu, selecting a first entry from said first menu.
-
-
13. The method for automatically testing a menu portion of said software application, as recited in claim 11, wherein said opening step (A) further comprises the step of:
-
(1) when said first entry includes any smart pick defining a member of a set of valid data values for a field within said transaction;
(2) invoking said smart pick to generate a representation of the results from the invocation of said smart pick; and
(3) reporting test results from said invoking step, said test results being a representation of the results from said invoking step of said smart pick.
-
-
14. The method for automatically testing a menu portion of said software application, as recited in claim 13, further comprising:
- for each smart pick entry of said entry in said menu repeating steps (A2) and (A3) for each of said smart picks.
-
15. The method for automatically testing a menu portion of said software application, as recited in claim 13, further comprising the step of repeating the steps A, B, and C for each of said entries within each of said menus of said menu portion of said software application.
-
16. A computer program product for use in a computer system having a memory, the program product having computer-usable instructions for testing a transaction of a software application using test data automatically generated from a definition of said transaction, said product comprising:
-
program code for evaluating a transaction to determine data fields included within said transaction;
program code for retrieving from a definition of said transaction typical values for said data fields stored as part of said definition;
program code for creating a test data utilizing said typical values of said data fields; and
program code for executing said transaction with said test data. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
program code for adding an entry corresponding to one of said typical values of one of said data fields to said database.
-
-
18. The computer program product as recited in claim 16, wherein said computer-usable instructions for creating said test data comprises computer-readable instructions in the form of computer readable programming code including:
-
a database;
program code for querying said test data from said database;
program code for modifying said test data into a modified entry in said database;
program code for querying said modified entry from said database;
program code for deleting said modified entry from said database; and
program code for querying said database to verify deletion of said modified entry from said database.
-
-
19. The computer program product as recited in claim 16 wherein said computer-readable instructions for creating said test data, further comprises computer program code for repeating said creating step for each of said typical values for said data fields stored in said definition of said transaction.
-
20. The computer program product as recited in claim 16, having further computer program code for reporting test results from said test data as a test report.
-
21. The computer program product as recited in claim 20, having further computer program code for, when said test report exhibits favorable results, designating said test report as a control test report to establish a testing baseline for subsequent evaluation.
-
22. The computer program product as recited in claim 21, further comprising:
-
(1) computer program code for comparing a test report with said control test report to determine differences from said control test; and
(2) computer program code for when said differences exist, producing a difference report detailing differences between said a test report and said control test report.
-
-
23. The computer program product as recited in claim 20, further comprising:
-
(1) computer program code for reporting reviewing reported test results from said test data; and
(2) computer program code for reporting incorrect transaction behavior.
-
-
24. The computer program product as recited in claim 16, wherein said computer program code for executing said transaction, further comprises periodically executing said transaction with said test data as part of a regression test of said a software application.
-
25. The computer program product as recited in claim 16, further comprising computer program code for, prior to said evaluating step, installing smart code data corresponding to preferred instances of data into said fields of said transaction.
-
26. A computer program product having computer-executable instructions for automatically testing a menu portion of a software application for interacting with a database, said computer-executable instructions further comprising computer readable program code thereon comprising:
-
in a first menu having a first entry, program code for opening a first transaction corresponding to said first entry;
program code for reporting test results in a current test report, said test results being a representation of the results from the opening of said transaction; and
program code for closing said transaction. - View Dependent Claims (27, 28, 29, 30)
(1) program code for selecting a first menu within a software application; and
(2) from said first menu, program code for selecting a first entry from said first menu.
-
-
28. The computer program product as recited in claim 26, wherein said program code for opening further comprises:
-
when said first entry includes any smart pick, program code for defining a member of a set of valid data values for a field within said transaction;
program code for invoking said smart pick to generate a representation of the results from the invocation of said smart pick; and
program code for reporting test results.
-
-
29. The computer program product as recited in claim 28, further comprising:
- for each smart pick entry of said entry in said menu, program code for repeating the invoking and reporting for each of said smart picks.
-
30. The computer program product as recited in claim 28, further comprising computer program code for repeating opening, reporting and closing said transaction for each of said entries within each of said menus of said menu portion of said software application.
Specification