US 9,811,444 B2
Testing software enhancements in database applications
Jeffrey Lallana Freschl, San Francisco, CA (US); and Kiran Hariharan Nair, Dubin, CA (US)
Assigned to SALESFORCE.COM, INC., San Francisco, CA (US)
Filed by salesforce.com, inc., San Francisco, CA (US)
Filed on Aug. 4, 2015, as Appl. No. 14/817,550.
Prior Publication US 2017/0039128 A1, Feb. 9, 2017
Int. Cl. G06F 11/36 (2006.01); G06F 17/30 (2006.01)
CPC G06F 11/3668 (2013.01) [G06F 17/30557 (2013.01); G06F 11/3664 (2013.01); G06F 17/30306 (2013.01)] 21 Claims
OG exemplary drawing
 
1. A method of testing enhancements for application code operating in a database system, the method comprising the steps of:
receiving, by the database system, from a replay and capture system, a series of tests referencing the enhancements, each of the tests referencing a feature and a distinct value;
receiving, by the database system, two or more log lines from the replay and capture system, each of the log lines describing a user request captured during a prior network session between a user system and the database system;
running, by the database system, a first log line through the application code without the enhancements to produce baseline structured query language (SQL); and
incrementally testing the application code by, for each of the series of tests:
running, by the database system, the first log line with the enhancement enabled in the application code with the feature and value referenced by the test to produce test SQL;
comparing, by the database system, the test SQL with the baseline SQL;
when the comparison indicates a no change between the baseline SQL and the test SQL, not executing the test SQL; and
when the comparison indicates a change between the baseline SQL and the test SQL, executing, by the database system, the test SQL and capturing performance metrics for the executed test SQL; and
running a next one of the series of tests with the enhancement enabled with a corresponding feature and value of the next test; and
repeating the foregoing testing steps until the series of tests is completed.