Method and apparatus for regression testing of application logic
First Claim
1. In a computer system having a processor and a computer readable memory, a method of performing a regression test comprising the computer implemented steps of:
- a) recording detected application events into a playback event file, said application events originating from a presentation layer and passed to an application layer of a first version of a software program;
b) recording a first response of said first version of said software program to said application events and storing said first response in said computer readable memory;
c) replaying said playback file and directly applying said application events stored therein to an application layer of a second version of said software program;
d) recording a second response, said second response being a response of said application layer of said second version of said software program to said application events recorded by step a); and
e) determining differences between said first and second versions of said software program by comparing said first response and said second response and determining differences therein.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for regression testing of application logic within a software system. Software architecture can be separated into a presentation layer (e.g., user interface), an application layer (e.g., business logic), and a data/storage layer. Within the novel testing system, communication interfaces between the presentation layer and the application layer are identified such that user initiated commands ("events") passed from the presentation layer to the application layer are recorded into a test playback event file. During test playback event recordation, differences in the state of the application layer of a reference program are collected into a reference state log file. To test a program, the recorded events of the test playback event file are played back and applied directly to its application layer. After each event, the differences in the state of the program are collected into a test state log file. The reference and test state log files are compared and differences are stored in an error or summary difference file. By recording events that enter the application layer, in lieu of the user entered commands that enter the presentation layer, the novel testing system is insensitive to changes in the presentation layer and allows more direct testing and error detection of the application layer. By recording differences in the state of the application layer on an event by event basis, in lieu of recording differences in information presented to the user, the novel system allows more effective error detection and error isolation of the application layer.
-
Citations
30 Claims
-
1. In a computer system having a processor and a computer readable memory, a method of performing a regression test comprising the computer implemented steps of:
-
a) recording detected application events into a playback event file, said application events originating from a presentation layer and passed to an application layer of a first version of a software program; b) recording a first response of said first version of said software program to said application events and storing said first response in said computer readable memory; c) replaying said playback file and directly applying said application events stored therein to an application layer of a second version of said software program; d) recording a second response, said second response being a response of said application layer of said second version of said software program to said application events recorded by step a); and e) determining differences between said first and second versions of said software program by comparing said first response and said second response and determining differences therein. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. In a computer system, a method of performing a regression test comprising the computer implemented steps of:
-
a) recording application events into a playback event file, said application events originating from a presentation layer of a first version of a software program and passed to an application layer of said first version of said software program; b) recording a response of said first version of said software program to said application events and storing said response as a reference state log file in a computer readable memory wherein said reference state log file comprises a plurality of state difference records, a respective state difference record recorded for each application event originating from said presentation layer; c) replaying said playback event file and directly applying said application events stored therein to an application layer of a second version of said software program; d) in response to step c), recording a response of said application layer of said second version of said software program to said application events and storing said response as a test state log file in said computer readable memory, wherein said test state log file comprises a plurality of state difference records, a respective state difference record recorded for each application event; and e) determining differences between said first and second version of said software program by comparing said reference state log file and said test state log file and determining differences therein. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computer system comprising:
-
a processor; an address/data bus coupled to said processor; a computer readable memory coupled to communicate with said processor; said processor for performing step a) of recording application events to a playback event file, said application events originating from a presentation layer of a first version of a software program and passed over a communication pathway to an application layer of said first version of said software program; said processor for performing step b) of recording a first response of said first version of said software program to said application events and storing said first response in said computer readable memory; said processor for performing step c) of replaying said playback file and directly applying said application events stored therein to an application layer of a second version of said software program; said processor for performing step d) of recording a second response, said second response being a response of said application layer of said version of said second software program to said application events; and said processor for also performing step e) of determining differences between said first and second versions of said software program by comparing said first response and said second response and determining differences therein. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. In a computer system having a processor coupled to a bus, a computer readable memory for communicating with said processor and containing a sequence of instructions for causing said computer system to perform a regression test, said regression test comprising the steps of:
-
a) recording application events to a playback event file, said application events originating from a presentation layer of a first version of said software program and passed to an application layer of said first version of said software program; b) recording a first response of said first version of said software program to said application events and storing said first response; c) replaying said playback file and directly applying said application events stored therein to an application layer of a second version of said software program; d) in response to step c), recording a response of said application layer of said second version of said software program to said application events as a second response; and e) determining differences between said first and second versions of said software program by comparing said first response and said second response to determine differences therein. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30)
-
Specification