US 11,989,118 B1
Test case generation using fingerprinting
Michael Sutton, Seattle, WA (US); Zhongwei Yao, Vancouver (CA); Kevin Kwon, Vancouver (CA); Andrew Evenson, Seattle, WA (US); and Ruoshi Li, Richmond (CA)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Dec. 3, 2021, as Appl. No. 17/541,967.
Int. Cl. G06F 9/44 (2018.01); G06F 11/36 (2006.01)
CPC G06F 11/3672 (2013.01) 18 Claims
OG exemplary drawing
 
1. A computer-implemented method, comprising:
obtaining a plurality of transaction records from a production environment;
parsing transaction input data of a first transaction record of the plurality of transaction records, to identify a first set of fields for fingerprinting the first transaction record;
determining a first set of parameter values for the first set of fields in the transaction input data;
determining, based on the transaction input data, intermediate transaction data;
parsing the intermediate transaction data to identify a second set of fields for the fingerprinting of the first transaction record;
determining a second set of parameter values for the second set of fields in the intermediate transaction data;
parsing transaction output data of the first transaction record to identify a third set of fields for the fingerprinting of the first transaction record;
determining a third set of parameter values for the third set of fields in the transaction output data;
determining a first representation of the first transaction record comprising:
the first set of parameter values;
the second set of parameter values; and
the third set of parameter values;
computing, using a hash function and based on the first representation of the first transaction record, a first fingerprint of the first transaction record;
querying a first database to determine whether the first fingerprint was previously generated by another transaction record;
based on determining that the first fingerprint was not previously generated by another transaction record;
storing, in a second database, the first fingerprint and the first representation of the first transaction record; and
storing, in the second database, the first fingerprint and the first transaction record;
receiving a request to perform a regression test.