Data records selection
AssigneeAb Initio Technology LLC
InventorsMarshall A. Isman, Richard A. Epstein, Ralf Haug, Andrew F. Roberts, John Ralston, John L. Richardson, Justin Pniower
Life of this patent
Estimating the term…
Loading patent…
AssigneeAb Initio Technology LLC
InventorsMarshall A. Isman, Richard A. Epstein, Ralf Haug, Andrew F. Roberts, John Ralston, John L. Richardson, Justin Pniower
Estimating the term…
A computer-implemented method includes accessing a plurality of data records, each data record having a plurality of data fields. The method further includes analyzing values for one or more of the data fields for at least some of the plurality of data records and generating a profile of the plurality of data records based on the analyzing. The method further includes formulating at least one subsetting rule based on the profile; and selecting a subset of data records from the plurality of data records based on the at least one subsetting rule.
A computer-implemented method for selecting data records to cause execution of a processing rule during testing of a data processing application, the method including:
A system for selecting data records to cause execution of a processing rule during testing of a data processing application, the system including:
A non-transitory computer readable medium storing instructions for causing a computer system to select data records to cause execution of a processing rule during testing of a data processing application, the instructions causing the computer system to:
A system for selecting data records to cause execution of a processing rule during testing of a data processing application, the system including:
Dependencies are inferred from the claim text.
From the US filing history. Foreign family members aren’t listed.
Test management: for test design, e.g. generating new test cases
Design, administration or maintenance of databases: database tuning
Querying, e.g. by the use of web search engines: search customisation based on user profiles and personalisation
Computing and data processing
About 6 years 5 months of term left · ends 14 Mar 2033 (estimated)
Drawings are temporarily unavailable. Open the PDF at USPTO
Stored data sets often include data for which various characteristics are not known beforehand. For example, ranges of values of typical values for a data set, relationships between different fields within the data set, or functional dependencies among values in different fields, may be unknown. Data profiling can involve examining a source of a data set in order to determine such characteristics.
During development of data processing applications, developers may work outside a production environment and may not have access to production data. To ensure that a data processing application (referred to herein as an “application”) will execute appropriately in production with actual data, realistic data may be used during execution and testing of the application. Applications often include rules whose execution depends on the value of one or more variables. These variables may be input variables corresponding to input data, may be derived variables that depend on one or more input variables, etc. A subset of data records can be selected from actual production data to be used for development and testing of the application. These data records are generally selected such that the input data is sufficient for every rule in the application to be executed (e.g., such that complete code coverage in the application is achieved).
In a general aspect, a computer-implemented method includes accessing a plurality of data records, each data record having a plurality of data fields. The method further includes analyzing values for one or more of the data fields for at least some of the plurality of data records and generating a profile of the plurality of data records based on the analyzing. The method further includes formulating at least one subsetting rule based on the profile; and selecting a subset of data records from the plurality of data records based on the at least one subsetting rule.
FIG. 1 is a block diagram of a data processing system.
FIG. 2A is a small portion of an example set of customer transaction records.
FIG. 2B is a small portion of an example set of demographic records.
During development of data processing applications, developers may work outside of a production environment and may not have access to actual production data. To ensure that a data processing application will execute appropriately in production with actual data, realistic data may be used during development and testing of the application. Applications often implement rules whose execution depends on (e.g., is triggered by) the value of one or more variables. These variables may be input variables corresponding to input data, may be derived variables that depend on one or more input variables, etc. For effective testing of the application, input data can be provided that is sufficient to cause every logic rule in the application to be executed (e.g., such that complete code coverage in the application is achieved), such that every logic rule is executed at least a corresponding minimum number of times, and/or such that every logic rule is executed no more than a corresponding maximum number of times.
A subset of data records to be provided to the application is typically selected from one or more larger sets of data records (e.g., from sets of actual production data). The subset may be selected based on subsetting rules, which may be specified by a user, formulated based on a profiling analysis of the data records, formulated based on feedback from execution of an application, etc. For instance, data records that include data that may cause some or all of the rules of the application under test to be executed may be selected for the subset.
The selected data records are provided to an application, which executes using the selected data records as input data. The application implements one or more rules, i.e., each rule implemented by the application can be executed by the application when a corresponding condition expression for the rule is satisfied and is not executed by the application if the corresponding condition expression is not satisfied. A rule is specified by a specification that includes at least a condition expression and an execution expression. When the condition expression is satisfied (e.g., the condition expression is evaluated with a true result), the execution expression is evaluated. The condition expression may depend on (e.g., is triggered by) the value of one or more variables, which may be input variables corresponding to input data, may be derived variables that depend on one or more input variables, etc. In some examples, the application executes all of the rules that are triggered. In some examples, the application executes fewer than all of the rules that are triggered, such as some of the rules or only one of the rules (e.g., a first rule that is triggered). Rules are described in more detail at least at col. 5, line 61-col. 6, line 11 of U.S. Pat. No. 8,069,129, filed Apr. 10, 2007, the contents of which are incorporated herein by reference in their entirety.