Sign In to Follow Application
View All Documents & Correspondence

Functional Testing Of An Enterprise Data Warehouse

Abstract: The present disclosure relates to system(s) and method(s) for testing a functional change in a data processing platform. The system is configured to maintain a set of test cases correspond to a set of tables of the data processing platform. Further, the system is configured to identify a set of data elements processed by an ETL processing tool of the data processing platform. Further, the system is configured to identify a data lifecycle corresponding to each data element of the data processing platform. The data lifecycle corresponds to a subset of tables and a subset of ETL processing stages associated with data element. Further, the system is configured to determine a functional change associated with a target data element. Further, the system is configured to identify a subset of tables associated with the target data element and test the data processing platform using the subset of test cases.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
20 October 2016
Publication Number
45/2016
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
ip@legasis.in
Parent Application
Patent Number
Legal Status
Grant Date
2023-04-03
Renewal Date

Applicants

HCL Technologies Limited
B-39, Sector 1, Noida 201 301, Uttar Pradesh, India

Inventors

1. MUTHURAJAN, Karthikeyasankar
HCL Technologies Ltd. 602/3, Shollinganallur, Medavakkam High Road Chennai-600119, Tamil Nadu, India

Specification

CROSS-REFERENCE TO RELATED APPLICATIONS AND PRIORITY
[001] The present application does not claim priority from any patent application.

TECHNICAL FIELD
[002] The present disclosure in general relates to the field of testing. More particularly, the present invention relates to a system and method for functional testing of a data processing platform.

BACKGROUND
[003] In a data processing platform, Extract Transform Load (ETL) processing tools are used to capture data from data source, process the data using different ETL processing stages and loading the data to a data warehouse. In the extraction stage of the ETL processing tool, the data is fetched from one or more data sources such as databases, or web services. Further, the data fetched by the extraction stage is integrated and transforms by a transformation stage of the ETL tool. The transformation stage is configured to transform the source data based on business requirements specified by a user of the data processing platform. Finally, in the loading stage of the ELT tool, the data received from the transformation stage is stored in a data warehouse or any other intermediate table. The data stored in the data warehouse may then be processed for generating reports and performing data analysis.
[004] For example, a data source such as a database may be configured to maintain source tables containing data elements, wherein each data element corresponds to information about students of a college. The data elements may be maintained at different columns in the source table. In one example, the data elements may include student name, admission year, roll number, marks obtained, name of the school, and the like. The data elements are processed by the different ETL processing stages and finally stored in the data warehouse.
[005] In one embodiment, after each ETL processing stage, the data element may be temporarily stored in one or more staging tables before loading the data element into the data warehouse. As a result, each data element is processed by different stages of the ETL processing tool and stored at different tables of the data processing platform. The path followed by each data element from a source table to the target table (of the data warehouse) may be different and may depend on the business requirements defined by the user.
[006] In the data processing platform, there are thousands of data warehouse tables/ reports and many thousands of test cases available. A change in a functionality of a data element or inclusion/removal of the data element may impact the entire data processing platform, since the same data element is processed by different ETL processing stages and maintained at different tables of the data processing platform. It is a time consuming process to identify impact of the change in the data element or any of the ETL processing stage, since a tester has to test all the relevant test cases from the data warehouse. Even if the testers group the test cases based on the functionality, it is difficult to identify the test cases that needs to be tested for testing the impact of the functional change. Further, the testers have to rely on developers/ ETL architect’s for identifying the impact of the functional change.
SUMMARY
[007] This summary is provided to introduce aspects related to systems and methods for testing a functional change in a data processing platform and the aspects are further described below in the detailed description. This summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
[008] In one embodiment, a system for testing a functional change in a data processing platform is illustrated. The system comprises a memory and a processor coupled to the memory, wherein the processor is configured to execute programmed instructions stored in the memory. In one embodiment, the processor may execute programmed instructions stored in the memory for maintaining a set of test cases. Each test case may correspond to a table, from a set of tables, of the data processing platform. In one embodiment, each test case may comprise a set of test steps configured for testing a table from the set of tables. Further, the processor may execute programmed instructions stored in the memory for identifying a set of data elements processed by an ETL processing tool of the data processing platform. In one embodiment, each data element may be associated with a subset of tables from the set of tables and a subset of ETL processing stages from a set of ETL processing stages of the ETL processing tool. Further, the processor may execute programmed instructions stored in the memory for identifying a data lifecycle corresponding to each data element of the data processing platform. The data lifecycle corresponds to the subset of tables and subset of ETL processing stages associated with data element of the data processing platform. Further, the processor may execute programmed instructions stored in the memory for determining a functional change associated with a target data element of the data processing platform. Further, the processor may execute programmed instructions stored in the memory for identifying a subset of tables associated with the target data element based on data lifecycle of the target data element. Further, the processor may execute programmed instructions stored in the memory for identifying a subset of test cases corresponding to the subset of tables. Finally, the processor may execute programmed instructions stored in the memory for testing the functional change associated with the target data element based on the subset of test cases.

[009] In one embodiment, a method for testing a functional change in a data processing platform is illustrated. The method may comprise maintaining, by a processor, a set of test cases. Each test case may correspond to a table, from a set of tables, of the data processing platform. In one embodiment, each test case may comprise a set of test steps configured for testing the table. Further, the method comprises identifying, by the processor, a set of data element processed by an ETL processing tool of the data processing platform. In one embodiment, each data element is associated with a subset of tables from the set of tables and a subset of ETL processing stages from a set of ETL processing stages of the ETL processing tool. Further, the method may comprise identifying, by the processor, a data lifecycle corresponding to each data element of the data processing platform. In one embodiment, the data lifecycle corresponds to the sub set of tables and subset of ETL processing stages associated with data element of the data processing platform. Further, the method may comprise determining, by the processor, a functional change associated with a target data element of the data processing platform. Once the functional change is determined, the method may comprise identifying, by the processor, a subset of tables associated with the target data element based on data lifecycle of the target data element. Further, the method may comprise identifying, by the processor, a subset of test cases corresponding to the subset of tables. Finally, the method may comprise testing, by the processor, the functional change associated with the target data element based on the subset of test cases.
[0010] In one embodiment, a computer program product having embodied computer program for testing a functional change in a data processing platform is disclosed. The program may comprise a program code for maintaining a set of test cases. Each test case corresponds to a table from a set of tables of the data processing platform. In one embodiment, each test case may comprise a set of test steps configured for testing the table. Further, the program may comprise a program code for identifying a set of data elements processed by an ETL processing tool of the data processing tool. In one embodiment, each data element may be associated with a subset of tables from the set of table and a subset of ETL processing stages from a set of ETL processing stages of the ETL processing tool. Further, the program may comprise a program code for identifying a data lifecycle corresponding to each data element of the data processing platform. The data lifecycle corresponds to the subset of tables and a subset of ETL processing stages associated with data element of the data processing platform. Further, the program may comprise a program code for determining a functional change associated with a target data element of the data processing platform. Once the functional change is determined, further the program may comprise a program code for identifying a subset of tables associated with the target data element based on data lifecycle of the target data element. Further, the program may comprise a program code for identifying a subset of test cases corresponding to the subset of tables. Finally, the program may comprise a program code for testing the functional change associated with the target data element based on the subset of test cases.

BRIEF DESCRIPTION OF DRAWINGS
[0011] The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to refer like features and components.
[0012] Figure 1 illustrates a network implementation of a system for functional testing of a data processing platform, in accordance with an embodiment of the present subject matter.
[0013] Figure 2 illustrates the system for functional testing of a data processing platform, in accordance with an embodiment of the present subject matter.
[0014] Figure 3 illustrates a flowchart to enable the system for functional testing of a data processing platform, in accordance with an embodiment of the present subject matter.
DETAILED DESCRIPTION
[0015] The present subject matter relates to a system for testing a functional change in a data processing platform such as an Enterprise Data Warehouse (EDW). In one embodiment, the system is configured to communicate with the data processing platform. The data processing platform may comprise a set of tables. The set of tables may include one or more source tables, staging tables, target tables, data mart tables and a Report Name table. In one embodiment, the system is configured to maintain a set of test cases, wherein each test case corresponds to a table, from a set of tables of the data processing platform. Further, each table from the set of tables is configured to maintain one or more data elements, from a set of data elements, of the data processing platform. In one embodiment, each data element may be associated with a subset of ETL processing stages, from a set of ETL processing stages, of an ETL processing tool associated with the data processing platform.
[0016] In one embodiment, the system is configured to identify a data lifecycle of each data element in the data processing platform. The data lifecycle may be a path followed by the data element in the data processing platform right from the source table to the target table. In one embodiment the path corresponds to one or more table that are configured for storing the data element in the data processing platform and one or more ETL processing stages that are configured for processing the data element. Further, the system is configured to identify a functional change associated with a target data element of the data processing platform. The functional change may correspond to a change in an ETL processing stage associated with the data element or inclusion/ removal of the data element from the subset of tables associated with the target data element. Once the functional change is detected, in the next step, the system is configured to identify a subset of test cases, from the set of test cases, associated with the subset of table. Finally, system is further configured to perform testing of the functional change in the target data element of data processing platform based on the subset of test cases.
[0017] While aspects of described system and method for functional testing of a data processing platform may be implemented in any number of different computing systems, environments, and/or configurations, the embodiments are described in the context of the following exemplary system.
[0018] Referring now to Figure 1, a network implementation 100 of a system 102 for the functional testing of a data processing platform 120 such as an Enterprise Data Warehouse (EDW) is disclosed. Although the present subject matter is explained considering that the system 102 is implemented on a server, it may be understood that the system 102 may also be implemented in a variety of computing systems, such as a laptop computer, a desktop computer, a notebook, a workstation, a mainframe computer, a server, a network server, and the like. In one implementation, the system 102 may be implemented in a cloud-based environment. It will be understood that the system 102 may be accessed by multiple users through one or more user devices 104-1, 104-2…104-N, collectively referred to as user devices 104 hereinafter, or applications residing on the user devices 104. Examples of the user devices 104 may include, but are not limited to, a portable computer, a personal digital assistant, a handheld device, and a workstation. The user devices 104 are communicatively coupled to the system 102 through a network 106.
[0019] In one implementation, the network 106 may be a wireless network, a wired network or a combination thereof. The network 106 can be implemented as one of the different types of networks, such as intranet, local area network (LAN), wide area network (WAN), the internet, and the like. The network 106 may either be a dedicated network or a shared network. The shared network represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), and the like, to communicate with one another. Further the network 106 may include a variety of network devices, including routers, bridges, servers, computing devices, storage devices, and the like.
[0020] In one embodiment, the system 102 is connected to a Data Processing Platform 120 by a wired or wireless communication channel. The data processing platform 120 may comprise data source 110, staging area 112, data warehouses 114, and reports 116. Data processing platform may be configured to capture data from the data source 110, process the data using different ETL processing stages of an ETL processing tool, maintain the data in the staging area 112, and finally load the data into a data warehouse 114. Once the data is maintained in the data warehouse, in the next step the report 116 may be generated by online analytical processing (OLAP) tools. The system 102 for functional testing of a data processing platform is further elaborated with respect to the figure 2.
[0021] Referring now to Figure 2, the system 102 for the functional testing of a data processing platform 120 such as an Enterprise Data Warehouse (EDW) is illustrated in accordance with an embodiment of the present subject matter. In one embodiment, the system 102 may include at least one processor 202, an input/output (I/O) interface 204, and a memory 206. The at least one processor 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, at least one processor 202 is configured to fetch and execute computer-readable instructions stored in the memory 206.
[0022] The I/O interface 204 may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like. The I/O interface 204 may allow the system 102 to interact with a user directly or through the client devices 104. Further, the I/O interface 204 may enable the system 102 to communicate with other computing devices, such as web servers and external data servers (not shown). The I/O interface 204 can facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. The I/O interface 204 may include one or more ports for connecting a number of devices to one another or to another server.
[0023] The memory 206 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. The memory 206 may include modules 208 and data 210.
[0024] The modules 208 include routines, programs, objects, components, data structures, etc., which perform particular tasks, functions or implement particular abstract data types. In one implementation, the modules 208 may include a test case maintaining module 212, a data element identification module 214, a data lifecycle identification module 216, a functional change determination module 218, a testing module 220, and other modules 222. The other modules 222 may include programs or coded instructions that supplement applications and functions of the system 102.
[0025] The data 210, amongst other things, serves as a repository for storing data processed, received, and generated by one or more of the modules 208. The data 210 may also include a repository 224, and other data 228. In one embodiment, the other data 228 may include data generated as a result of the execution of one or more modules in the other module 222.
[0026] In one embodiment, the test case maintenance module 212 is configured to maintain a set of test cases in the repository 224. In one embodiment, each test case may correspond to a table, from a set of tables of a data processing platform. In one embodiment, the test case maintenance module 212 may enable a user to use the client device 104 for accessing the system 102 via the I/O interface 204. The user may register using the I/O interface 204 in order to use the system 102. In one embodiment, once the user registers to the system 102, the user may generate a set of test case for testing the functional change in a set of tables associated with the data processing platform.
[0027] In one embodiment, the set of tables may comprise one or more source table, staging table, target table and Report Name table. In one embodiment, a separate test case may be assigned to each table from the set of tables. The Test case name may be same as the name of the respective table. In one embodiment, each test case comprises a set of test steps for testing the table. The test steps are configured for table structure validation, count checking, content checking, log checking, and rejection records checking.
[0028] Once the set of test cases is generated and stored in the repository 224, in the next step, the data element identification module 214 is configured to identify a set of data elements processed by an ETL processing tool of the data processing platform. In one embodiment, each data element is associated with a subset of tables from the set of tables of the data processing platform. Further, each data element is also associated with a subset of ETL processing stages from a set of ETL processing stages of the ETL processing tool.
[0029] In one embodiment, data elements may traverse from one table to another table of the data processing platform 120. Thus, each data element may be stored at a subset of tables from the set of tables. In one embodiment, the data element may get processed by one or more stages of the ETL processing tool. Thus, the data elements may be associated with a subset of ETL processing stage from the set of processing stages.
[0030] Once the data elements are identified, the data lifecycle identification module 216 may be configured to identify a data lifecycle of each data element. The data lifecycle may correspond to a path followed by the data element in the data processing platform 120. The data element may follow the path comprising the subset of tables and the subset of ETL processing stages. The data lifecycle may be represented over a spread sheet (i.e. rows and columns).
[0031] Once the data lifecycle is identified, system 102 is configured to determine a functional change associated with a target element using functional change determination module 218. The functional change may be a change in an ETL processing stage of the subset of ETL processing stages associated with the target data element. In one embodiment, the functional change may also correspond to inclusion or removal of a data element from a table of the subset of tables, associated with the target data element.
[0032] In the next step, the testing module 220 may be configured to identify a subset of table associated with the target data element.
[0033] Further, the testing module 220 may be configured to identify a subset of test cases associated with the subset of tables corresponding to the target data element. In one embodiment, each test case from the subset of test cases is configured for testing a table from the subset of tables.
[0034] Finally, testing module 220 may be configured to perform testing of a functional change associated with the target data element using the subset of test cases associated with the target data element. The process for functional testing of the data processing platform 120 by the system 102 is further elaborated with respect to the block diagram of figure 3.
[0035] Referring now to figure 3, a method 300 for testing a functional change in the data processing platform 120 such as an Enterprise Data Warehouse (EDW), is disclosed in accordance with an embodiment of the present subject matter. The method 300 may be described in the general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, and the like, that perform particular functions or implement particular abstract data types. The method 300 may also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
[0036] The order in which the method 300 is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method 300 or alternate methods. Additionally, individual blocks may be deleted from the method 300 without departing from the spirit and scope of the subject matter described herein. Furthermore, the method can be implemented in any suitable hardware, software, firmware, or combination thereof. However, for ease of explanation, in the embodiments described below, the method 300 may be considered to be implemented in the above described system 102.
[0037] At block 302, the test case maintenance module 212 is configured to maintain a set of test cases in the repository 224. In one embodiment, each test case may correspond to a table, from a set of tables of a data processing platform. In one embodiment, the test case maintenance module 212 may enable a user to use the client device 104 for accessing the system 102 via the I/O interface 204. The user may register using the I/O interface 204 in order to use the system 102. In one embodiment, once the user registers to the system 102, the user may generate a set of test case for testing the functional change in a set of tables associated with the data processing platform.
[0038] In one embodiment, the set of tables may comprise one or more source table, staging table, target table and Report Name table. In one embodiment, a separate test case may be assigned to each table from the set of tables. The Test case name may be same as the name of the respective table. In one embodiment, each test case comprises a set of test steps for testing the table. The test steps are configured for table structure validation, count checking, content checking, log checking, and rejection records checking.
[0039] At block 304, once the set of test cases is generated and stored in the repository 224, in the next step, the data element identification module 214 is configured to identify a set of data elements processed by an ETL processing tool of the data processing platform. In one embodiment, each data element is associated with a subset of tables from the set of tables of the data processing platform. Further, each data element is also associated with a subset of ETL processing stages from a set of ETL processing stages of the ETL processing tool.
[0040] In one embodiment, data elements may traverse from one table to another table of the data processing platform 120. Thus, each data element may be stored at a subset of tables from the set of tables. In one embodiment, the data element may get processed by one or more stages of the ETL processing tool. Thus, the data elements may be associates to a subset of ETL processing stage from the set of processing stages.
[0041] At block 306, once the data elements are identified, the data lifecycle identification module 216 may be configured to identify a data lifecycle of each data element. The data lifecycle may correspond to a path followed by the data element in the data processing platform 120. The data element may follow the path comprising the subset of tables and the subset of ETL processing stages. The data lifecycle may be represented over a spread sheet (i.e. rows and columns).
[0042] At block 308, once the data lifecycle is identified, system 102 is configured to determine a functional change associated with a target element using functional change determination module 218. The functional change may be a change in an ETL processing stage of the subset of ETL processing stages associated with the target data element. In one embodiment, the functional change may also correspond to inclusion or removal of a data element from a table of the subset of tables, associated with the target data element.
[0043] At block 310, the testing module 220 may be configured to identify a subset of table associated with the target data element.
[0044] At block 312, the testing module 220 may be configured to identify a subset of test cases associated with the subset of tables corresponding to the target data element. In one embodiment, each test case from the subset of test cases is configured for testing a table from the subset of tables.
[0045] At block 314, testing module 220 may be configured to perform testing of a functional change associated with the target data element using the subset of test cases associated with the target data element.
[0046] In one exemplary embodiment, the system 102 is configured to generate a spreadsheet as represented in table 1. The spreadsheet stores information corresponding to a path followed by each data element in the data processing platform 120. The path followed by each data element corresponds to a subset of tables of a data processing platform, hereafter referred to as the data lifecycle. Each data element may traverse through different source tables, staging tables, target tables (i.e. data warehouse table), and report name table. The information corresponding to each table of a subset of tables associated with each data element is maintained in different columns of the spreadsheet. Further, a separate test case may be mapped to each distinct source table, staging table, target table and report table by the system 102.
Table 1: Data Lifecycle of each data element
Source system Table Name Source system column Staging Table Name Staging Table Column Name Target Table Name Target Table Column Name Report Name Report Data Field
Source Table 1 Source Table 1 Col 1 Stg 1 Stg 1 Col 1 Target 1 Target 1 Col 3 Report Name ABC Report item 1
Source Table 1 Source Table 1 Col 2 Stg 1 Stg 1 Col 2 Target 2 Target 2 Col 5 Report Name ABC Report item 2
Source Table 1 Source Table 1 Col 3 Stg 2 Stg 2 Col 1 Target 3 Target 3 Col 3 Report Name ABC Report item 3
Source Table 1 Source Table 1 Col 4 Stg 2 Stg 2 Col 2 Target 3 Target 3 Col 4 Report Name ABC Report item 4

[0047] Referring to the spread sheet of table 1, a data lifecycle of the data elements is represented by rows of the table 1. For example, a data lifecycle of a data element corresponding to row 1 may begin with source table 1 (column 1) and then the data element is processed by an ETL processing stage and stored into staging table 1(column 1). Further, the data element stored in staging table 1 may be processed by an ETL processing stage and stored in target table 1 (column 3). Further, the ETL processing tool may process the data element stored in target table 1 (column 3) and loaded into report ABC (Report item 1). The spreadsheet of table 1 may be enabled with different filters for selecting data lifecycle of different data elements. Further, the system is configured to maintain a set of test cases, each corresponding to a table from the set of tables.
[0048] In one embodiment, each test case comprises a set of test steps configured for testing table structure validation, count checking, content checking, logs checking, and rejection records checking as represented in table 2.
Table 2: Represents test steps of a test case
Test Case Name StgTbl 1
Test Step 1 Validate Table Structure
Test Step 2 Count Check
Test Step 3 Content Check
Test Step 4 Validate Logs
Test Step 5 Validate Rejection Records
. .
. .
. .
Test Step N Validation N
[0049] Referring now to table 3, a data lifecycle of a particular data element is identified by applying a spread sheet filter, to the spread sheet of table 1, at Report item 3. The row 1 of table 3 indicates a data lifecycle of data element stored in report item 3.
Table 3: Data lifecycle of Report Item 3
Source system Table Name
Source system column
Staging Table Name
Staging Table Column Name
Target Table Name
Target Table Column Name
Report Name
Report Data Field

Source Table 1 Source Table 1 Col 3 Stg 2 Stg 2 Col 1 Target 3 Target 3 Col 3 Report Name ABC Report item 3

[0050] As represented in table 3, the data lifecycle of data element stored in report item 3 comprises source table 1 (column 3), stage table 2 (column 1), and target table 3 (column 3). Once the data lifecycle is identified, in the next step, the system is configured to identify a subset of test cases applicable to source table 1, staging table 2, target table 3, and report ABC for conducting the functional change testing of the data element.
[0051] Although implementations for methods and systems for testing a functional change in a data processing platform have been described, it is to be understood that the appended claims are not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as examples of implementations for determining optimized test suite for testing a functional change in the data processing platform.

Claims:
1. A method for testing a functional change in a data processing platform, the method comprising:
maintaining, by a processor, a set of test cases, wherein each test case corresponds to a table, from a set of tables of a data processing platform, and wherein each test case comprises a set of test steps configured for testing the table;
identifying, by the processor, a set of data elements processed by an ETL processing tool of the data processing platform, wherein each data element is associated with a subset of tables from the set of tables and a subset of ETL processing stages from a set of ETL processing stages of the ETL processing tool;
identifying, by the processor, a data lifecycle corresponding to each data element of the data processing platform, wherein the data lifecycle corresponds to the sub set of tables and subset of ETL processing stages associated with data element of the data processing platform;
determining, by the processor, a functional change associated with a target data element of the data processing platform;
identifying, by the processor, a subset of tables associated with the target data element based on data lifecycle of the target data element;
identifying, by the processor, a subset of test cases corresponding to the subset of tables; and
testing, by the processor, the functional change associated with the target data element based on the subset of test cases.

2. The method of claim 1, wherein the set of tables comprises one or more source tables, staging tables, target tables and a Report Name table.

3. The method of claim 1, wherein the set of test steps are configured for table structure validation, count checking, content checking, logs checking, and rejection records checking.
4. The method of claim 1, wherein the functional change corresponds to a change in an ETL processing stage associated with the data element or inclusion/ removal of the data element from the subset of tables associated with the target data element.

5. The method of claim 1, wherein the data lifecycle of a data element corresponds to a path followed by the data element of the data processing platform, wherein the path comprises a set of nodes connected by set of edges, wherein each node corresponds to a table, of a subset of tables, associate with the data elements, and wherein each edge corresponds to an ETL processing stage, of the subset of ETL processing stages, associated with the data element.

6. A system for testing a functional change in a data processing platform, the system comprising:
a memory; and
a processor coupled to the memory, wherein the processor is configured to perform the steps of:
maintaining a set of test cases, wherein each test case corresponds to a table, from a set of tables of a data processing platform, and wherein each test case comprises a set of test steps configured for testing the table;
identifying a set of data elements processed by an ETL processing tool of the data processing platform, wherein each data element is associated with a subset of tables from the set of tables and a subset of ETL processing stages from a set of ETL processing stages of the ETL processing tool;
identifying a data lifecycle corresponding to each data element of the data processing platform, wherein the data lifecycle corresponds to the sub set of tables and subset of ETL processing stages associated with data element of the data processing platform;
determining a functional change associated with a target data element of the data processing platform;
identifying a subset of tables associated with the target data element based on data lifecycle of the target data element;
identifying a subset of test cases corresponding to the subset of tables; and
testing the functional change associated with the target data element based on the subset of test cases.

7. The system of claim 6, wherein the set of tables comprises one or more source tables, staging tables, target tables and a Report Name table.

8. The system of claim 6, wherein the set of test steps are configured for table structure validation, count checking, content checking, logs checking, and rejection records checking.

9. The system of claim 6, wherein the functional change corresponds to a change in an ETL processing stage associated with the data element or inclusion/ removal of the data element from those tables.

10. The system of claim 6, wherein the data lifecycle of a data element corresponds to a path followed by the data element of the data processing platform, wherein the path comprises a set of nodes connected by set of edges, wherein each node corresponds to a table, of a subset of tables, associate with the data elements, and wherein each edge corresponds to an ETL processing stage, of the subset of ETL processing stages, associated with the data element.

11. A computer program product having embodied thereon a computer program for testing a functional change in a data processing platform, the computer program product comprising:
a program code for maintaining a set of test cases, wherein each test case corresponds to a table, from a set of tables of a data processing platform, and wherein each test case comprises a set of test steps configured for testing the table;
a program code for identifying a set of data elements processed by an ETL processing tool of the data processing platform, wherein each data element is associated with a subset of tables from the set of tables and a subset of ETL processing stages from a set of ETL processing stages of the ETL processing tool;
a program code for identifying a data lifecycle corresponding to each data element of the data processing platform, wherein the data lifecycle corresponds to the sub set of tables and subset of ETL processing stages associated with data element of the data processing platform;
a program code for determining a functional change associated with a target data element of the data processing platform;
a program code for identifying a subset of tables associated with the target data element based on data lifecycle of the target data element;
a program code for identifying a subset of test cases corresponding to the subset of tables; and
a program code for testing the functional change associated with the target data element based on the subset of test cases.

Documents

Orders

Section Controller Decision Date

Application Documents

# Name Date
1 201611035959-IntimationOfGrant03-04-2023.pdf 2023-04-03
1 Form 9 [20-10-2016(online)].pdf_68.pdf 2016-10-20
2 201611035959-PatentCertificate03-04-2023.pdf 2023-04-03
2 Form 9 [20-10-2016(online)].pdf 2016-10-20
3 Form 3 [20-10-2016(online)].pdf 2016-10-20
3 201611035959-Written submissions and relevant documents [02-03-2023(online)].pdf 2023-03-02
4 Form 20 [20-10-2016(online)].jpg 2016-10-20
4 201611035959-Correspondence to notify the Controller [13-02-2023(online)].pdf 2023-02-13
5 Form 18 [20-10-2016(online)].pdf_69.pdf 2016-10-20
5 201611035959-US(14)-HearingNotice-(HearingDate-16-02-2023).pdf 2023-01-25
6 Form 18 [20-10-2016(online)].pdf 2016-10-20
6 201611035959-FER.pdf 2021-10-17
7 Drawing [20-10-2016(online)].pdf 2016-10-20
7 201611035959-Proof of Right [13-10-2021(online)].pdf 2021-10-13
8 Description(Complete) [20-10-2016(online)].pdf 2016-10-20
8 201611035959-FORM 13 [09-07-2021(online)].pdf 2021-07-09
9 201611035959-POA [09-07-2021(online)].pdf 2021-07-09
9 Form 26 [03-12-2016(online)].pdf 2016-12-03
10 201611035959-ABSTRACT [04-09-2020(online)].pdf 2020-09-04
10 201611035959-Power of Attorney-061216.pdf 2016-12-07
11 201611035959-CLAIMS [04-09-2020(online)].pdf 2020-09-04
11 201611035959-Correspondence-061216.pdf 2016-12-07
12 201611035959-COMPLETE SPECIFICATION [04-09-2020(online)].pdf 2020-09-04
12 abstract.jpg 2017-01-08
13 201611035959-FER_SER_REPLY [04-09-2020(online)].pdf 2020-09-04
13 Other Patent Document [01-03-2017(online)].pdf 2017-03-01
14 201611035959-OTHERS [04-09-2020(online)].pdf 2020-09-04
14 201611035959-OTHERS-060317-.pdf 2017-03-07
15 201611035959-Correspondence-060317-.pdf 2017-03-07
16 201611035959-OTHERS [04-09-2020(online)].pdf 2020-09-04
16 201611035959-OTHERS-060317-.pdf 2017-03-07
17 Other Patent Document [01-03-2017(online)].pdf 2017-03-01
17 201611035959-FER_SER_REPLY [04-09-2020(online)].pdf 2020-09-04
18 abstract.jpg 2017-01-08
18 201611035959-COMPLETE SPECIFICATION [04-09-2020(online)].pdf 2020-09-04
19 201611035959-CLAIMS [04-09-2020(online)].pdf 2020-09-04
19 201611035959-Correspondence-061216.pdf 2016-12-07
20 201611035959-ABSTRACT [04-09-2020(online)].pdf 2020-09-04
20 201611035959-Power of Attorney-061216.pdf 2016-12-07
21 201611035959-POA [09-07-2021(online)].pdf 2021-07-09
21 Form 26 [03-12-2016(online)].pdf 2016-12-03
22 201611035959-FORM 13 [09-07-2021(online)].pdf 2021-07-09
22 Description(Complete) [20-10-2016(online)].pdf 2016-10-20
23 201611035959-Proof of Right [13-10-2021(online)].pdf 2021-10-13
23 Drawing [20-10-2016(online)].pdf 2016-10-20
24 201611035959-FER.pdf 2021-10-17
24 Form 18 [20-10-2016(online)].pdf 2016-10-20
25 Form 18 [20-10-2016(online)].pdf_69.pdf 2016-10-20
25 201611035959-US(14)-HearingNotice-(HearingDate-16-02-2023).pdf 2023-01-25
26 Form 20 [20-10-2016(online)].jpg 2016-10-20
26 201611035959-Correspondence to notify the Controller [13-02-2023(online)].pdf 2023-02-13
27 Form 3 [20-10-2016(online)].pdf 2016-10-20
27 201611035959-Written submissions and relevant documents [02-03-2023(online)].pdf 2023-03-02
28 Form 9 [20-10-2016(online)].pdf 2016-10-20
28 201611035959-PatentCertificate03-04-2023.pdf 2023-04-03
29 Form 9 [20-10-2016(online)].pdf_68.pdf 2016-10-20
29 201611035959-IntimationOfGrant03-04-2023.pdf 2023-04-03

Search Strategy

1 searchE_18-03-2020.pdf

ERegister / Renewals

3rd: 06 Apr 2023

From 20/10/2018 - To 20/10/2019

4th: 06 Apr 2023

From 20/10/2019 - To 20/10/2020

5th: 06 Apr 2023

From 20/10/2020 - To 20/10/2021

6th: 06 Apr 2023

From 20/10/2021 - To 20/10/2022

7th: 06 Apr 2023

From 20/10/2022 - To 20/10/2023

8th: 06 Apr 2023

From 20/10/2023 - To 20/10/2024

9th: 08 Sep 2024

From 20/10/2024 - To 20/10/2025

10th: 10 Oct 2025

From 20/10/2025 - To 20/10/2026