System and method for testing the development and updates in a test system using production/live data
Abstract
A software testing system and method is disclosed for a production system and production database. The method includes creating a test system for testing aspects of the production system; initializing a test database; processing program statements in the test system using the test database; not changing the production database when processing statements in the test system; and when the program statement in the test system acts upon a targeted database record, copying the targeted record from the production to the test database only if necessary. When the program statement is a select or update statement, the method can include checking if the test database includes the targeted record, if so processing the statement using the record in the test database; and if not copying the targeted record from the production to the test database, and processing the statement using the record in the test database.
Claims
exact text as granted — not AI-modified1 . A software testing system comprising:
a production system; a test system for testing proposed changes to the production system; a production database containing data for processing by the production system; a test database containing data for processing by the test system; wherein when the test system processes a program statement that acts upon a targeted database record, the test system processes the program statement using the test database updated as needed from the production database, and the test system does not change the production database.
2 . The software testing system of claim 1 , wherein when the program statement is a select statement, the test system checks if the test database includes the targeted database record, if the test database includes the targeted database record then the test system processes the program statement using the targeted database record in the test database, otherwise the test system copies the targeted database record from the production database to the test database and then the test system processes the program statement using the targeted database record in the test database.
3 . The software testing system of claim 2 , wherein when the program statement is an update statement, the test system checks if the test database includes the targeted database record, if the test database includes the targeted database record then the test system executes the update statement on the targeted database record in the test database, otherwise the test system copies the targeted database record from the production database to the test database and then the test system executes the update statement on the targeted database record in the test database.
4 . The software testing system of claim 3 , wherein when the program statement is a commit statement, the test system updates the targeted database record in the test database from internal memory.
5 . The software testing system of claim 4 , wherein when the program statement is a lock statement, the test system locks the targeted database record in the test database.
6 . The software testing system of claim 1 , wherein when the program statement is an update statement, the test system checks if the test database includes the targeted database record, if the test database includes the targeted database record then the test system executes the update statement on the targeted database record in the test database, otherwise the test system copies the targeted database record from the production database to the test database and then the test system executes the update statement on the targeted database record in the test database.
7 . The software testing system of claim 1 , wherein when the program statement is a commit statement, the test system updates the targeted database record in the test database from internal memory.
8 . The software testing system of claim 1 , wherein when the program statement is a lock statement, the test system locks the targeted database record in the test database.
9 . A software testing method for a production system and a production database containing data for processing by the production system, the software testing method comprising:
creating a test system for testing aspects of the production system; initializing a test database containing data for processing by the test system; processing program statements in the test system using the test database; not changing the production database when processing the program statements in the test system; and when the program statement in the test system acts upon a targeted database record, copying the targeted database record from the production database to the test database only if necessary.
10 . The software testing method of claim 9 , wherein when the program statement in the test system is a select statement, the software testing method further comprises:
checking if the test database includes the targeted database record, if the test database includes the targeted database record, processing the program statement using the targeted database record in the test database; if the test database does not include the targeted database record, copying the targeted database record from the production database to the test database, and then processing the program statement using the targeted database record in the test database.
11 . The software testing method of claim 10 , wherein when the program statement in the test system is an update statement, the software testing method further comprises:
checking if the test database includes the targeted database record; if the test database includes the targeted database record, executing the update statement on the targeted database record in the test database; if the test database does not include the targeted database record, copying the targeted database record from the production database to the test database, and then executing the update statement on the targeted database record in the test database.
12 . The software testing method of claim 11 , wherein when the update statement is for less than all the fields in the targeted database record, copying the targeted database record comprises:
copying the full targeted database record from the production database to the test database.
13 . The software testing method of claim 11 , further comprising:
when the program statement is a commit statement, updating the targeted database record in the test database from internal memory.
14 . The software testing method of claim 12 , further comprising:
when the program statement is a lock statement, locking the targeted database record in the test database.
15 . The software testing method of claim 9 , wherein when the program statement in the test system is an update statement, the software testing method further comprises:
checking an identifier indicating whether in test mode or live mode; when the identifier indicates test mode,
not changing the production database;
checking if the test database includes the targeted database record;
if the test database includes the targeted database record, executing the update statement on the targeted database record in the test database;
if the test database does not include the targeted database record, copying the targeted database record from the production database to the test database, and then executing the update statement on the targeted database record in the test database.
16 . The software testing method of claim 9 , wherein when the program statement in the test system is a select statement, the software testing method further comprises:
checking if the test database includes the targeted database record, if the test database includes the targeted database record, checking if the targeted database record is the same in the test database and the production database; if the targeted database record is the same in the test database and the production database, processing the program statement using the targeted database record in the test database; if the targeted database record is not the same in the test database and the production database, copying the targeted database record from the production database to the test database, and then processing the program statement using the targeted database record in the test database; and if the test database does not include the targeted database record, copying the targeted database record from the production database to the test database, and then processing the program statement using the targeted database record in the test database.
17 . The software testing method of claim 9 , wherein when the program statement in the test system is an update statement, the software testing method further comprises:
checking if the test database includes the targeted database record, if the test database includes the targeted database record, checking if the targeted database record is the same in the test database and the production database; if the targeted database record is the same in the test database and the production database, executing the update statement on the targeted database record in the test database; if the targeted database record is not the same in the test database and the production database, copying the targeted database record from the production database to the test database, and then executing the update statement on the targeted database record in the test database; and if the test database does not include the targeted database record, copying the targeted database record from the production database to the test database, and then executing the update statement on the targeted database record in the test database.
18 . The software testing method of claim 9 , further comprising:
when the program statement is a commit statement, updating the targeted database record in the test database from internal memory.
19 . The software testing method of claim 9 , further comprising:
when the program statement is a lock statement, locking the targeted database record in the test database.Join the waitlist — get patent alerts
Track US2012291014A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.