FORM 2
THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See Section 10 and Rule 13)
Title of invention: TEST DATA GENERATOR
Applicant
TATA Consultancy Services Limited A company Incorporated in India under The Companies Act, 1956
Having address:
Nirmal Building, 9th Floor,
Nariman Point, Mumbai 400021,
Maharashtra, India
The following specification particularly describes the invention and the manner in which it is to be performed.
FIELD OF THE INVENTION:
The present invention generally relates to a field of software testing environment. More particularly, the present invention relates to a system and method for auto-generation of test data and test plans for testing mainframe applications.
BACKGROUND OF THE INVENTION:
Nowadays, mainframe applications are playing major role in different sectors of business operations such as banking, finance, insurance and many more around the globe. Its demand has been significantly increased and observed in past few years. Developing high quality mainframe applications and its deliverable to the end user is a critical job. It requires comprehensive software testing, which is an essential phase of a Software Development Life Cycle (SDLC). Lots of manual testing effort as well as resources are consumed during mainframe application testing process.
Different activities are involved in testing mainframe applications such as test data generation, test cases and test plans preparation, test execution, test results verification etc which can be manually and automatically performed. There are number of concerns and challenges faced during the mainframe application testing. One of the concern which can be considered as a major challenge for the software testing team is to provide high-quality, bug-free and reliable mainframe applications keeping fewer resources and reducing overall operational cost as well as overcoming the risk whenever the changes occur in the mainframe applications.
Various methods are available for testing mainframe applications for addressing the above discussed concerns and challenges to an extent. One of the known methods that can be considered for providing mainframe testing is to automate the process of testing activities to a certain limit. Upto some limit, automation in mainframe testing solves the issues of generating the test data, test cases and test plans, but the generation of potential or production-like test data which can be instantly used in a
specific mainframe testing is still remaining in the art. Large volume of extraneous test data and test cases gets generated, resulting in creating critical and laborious job for the testing team to recognize and use the useful test data from the generated ones. Numbers of iterations for generating the test data and test cases gets increased as it requires extra tester's input. Moreover, huge amount of tester's time and effort is also wasted in doing this.
Thus, the concerns regarding generating instantly useful potential or production-like test data and test cases as well as test plans using minimal user/ tester inputs are still remain. So, there is a long felt need of a system and a method that avoids extra burden from the testers by generating useful test data which are specific to the tester's requirement and can be used for testing the mainframe applications.
OBJECTS OF THE INVENTION
The primary objective of a present invention is to provide a system and a method that enables automation is generating instantly useful test data which is specific to tester's requirements for testing mainframe applications.
Another object of the present inventions is to provide a system and a method that enables automatic generation of said instantly useful test data with minimal tester's input.
Yet another object of the present invention is to provide a system and a method that enables automatic test plan generation in a flat file format for the generated instantly useful test data.
Yet another object of the present invention is to provide a system and a method that enables test data generation from the existing test files, test models or from blank files.
Yet another object of the present invention is to provide a system and a method that enables the tester for inputting test data layout and corresponding impacted test fields along with their degree of impact which are specific to testing requirements for testing the mainframe application.
Yet another object of the present invention is to provide a system and a method that snables the tester for inputting one or more linking parameters in order to establish a logical relationship among the impacted test fields
Yet another object of the present invention is to provide a system and a method that enables the tester to manually enter possible test data into the impacted test fields.
Yet another object of the present invention is to provide a system and method that enables to fetch possible test data from a pre-stored application specific test field based on the pre-established logical relationship.
Yet another object of the present invention is to provide a system and a method that enables populating the linked fields i.e., the impacted fields which get linked with said application specific test fields with the possible test data derived and fetched from the corresponding application specific test fields.
Yet another object of the present invention is to provide a system and a method that enables to generate a first test data for the selected degree of impact for each impacted test field.
Yet another object of the present invention is to provide a system and a method that enables to generate a logically compliant instantly useful test data alongwith a corresponding test plan by applying at least one business rule to said first test data.
Yet another object of the present invention is to provide a system and a method that enables for prompting tester for selecting a desired file format for generated said logically compliant instantly useful test data.
Still another object of the present invention is to provide a computer-implemented system having one or more processor executable modules for achieving the aforesaid objects of the present invention.
SUMMARY OF THE INVENTION
Before the present system and method, enablement are described, it is to be understood that this application is not limited to the particular system, and methodologies described, as there can be multiple possible embodiments which are not expressly illustrated in the present disclosure. It is also to be understood that the terminology used in the description is for the purpose of describing the particular versions or embodiments only, and is not intended to limit the scope of the present invention.
The present invention introduces a computer-implemented system and a computer-implemented method for enabling automation in generating instantly useful test data which are specific to tester's requirements by accepting minimal input from tester. The present invention further facilitates the generation of test plans for all the generated instantly useful test data in a flat file format. The system accepts test data layout and corresponding impacted test fields along with degree of impact for each impacted test field which is inputted by the tester. The degree of impact for each impacted test field comprises a critical degree, supportive degree or key field degree. The inputted test data layout and impacted test fields are based on the testing requirements which are specific for a mainframe application which is to be tested. The said system also accepts plurality of linking parameter to establish a logical relationship between the impacted test fields of said test data layout. Further, the system accepts the possible test data inputted by the tester manually. Based upon the inputted possible test data and established logical relationship created among the impacted test fields, possible test data is fetched from the application specific test fields. Upon creating the links, the computer-implemented system and the computer-
implemented method is configured for populating such fetched possible test data from the application specific test fields into the linked impacted test fields. The system is configured to generate a first test data for the selected degree of each impacted test fields. Further, the system generates the logically compliant instantly useful test data alongwith a corresponding test plan thereof by applying at least one business rule to said first test data. The system also allows the tester to select a desired file format for the generated logically compliant instantly useful test data.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing summary, as well as the following detailed description of preferred embodiments, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, there is shown in the drawings various stages of the invention; however, the invention is not limited to the specific apparatus and method disclosed in the drawings.
Figure 1 is the block diagram of the system (100) illustrating the multiple embodiments of the present invention.
Figure 2 is the flow diagram (200) illustrating the test data and test plan generation according to one aspect of the present invention
Figure 3 is the illustration of a linking and populating process (300) of test data between impacted test fields and application specific test fields.
DETAILED DESCRIPTION OF THE INVENTION
The invention will now be described with respect to various embodiments. The following description provides specific details for understanding of, and enabling description for, these embodiments of the invention. The words "comprising," "having," "containing," and "including," and other forms thereof, are intended to be equivalent in meaning and be open ended in that an item or items following any one
of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items.
The present invention generally provides a computer-implemented system and a computer-implemented method for automatically generating instantly useful test data by accepting minimal tester's input. The generated instantly useful test data are specific to the tester's requirement for testing a mainframe application. Upon the generation of the said instantly useful test data, said computer-implemented system and the computer-implemented method is configured for generating test plans for all the generated instantly useful test data.
In an embodiment of the invention said computer-implemented system provides a test data generator, which is a tool, wherein the test data generator comprises of various processor-executable program modules, each module performs a particular set of task upon execution of the processor. One of the modules of the test data generator is an input module which is configured to allow a tester to input test data layout and impacted test fields along with the degree of impact for each impacted test fields of the layout through an Interactive System Productivity Facility (ISPF) interface. The inputted test data layout and its corresponding impacted test fields are based on the testing requirements of the mainframe application which is to be tested. The said degree of impact comprises a critical degree, supportive degree or key field degree. The input module also allows the tester to input plurality of linking parameter to establish a logical relationship among the impacted test fields. The input module further allows the tester to input possible test data into each of the impacted test fields of said test data layout, wherein the tester's inputted possible test data are based upon the requirements of the tester for testing the mainframe application. Optionally, the input module also allows the tester to trigger a predefined application specific test field's data file to input the possible test data values into each of the impacted test fields. Upon accepting the tester's inputted possible test data into the impacted test fields of the test data layout, a linking module upon execution of the processor is
configured to create a link between the impacted test fields and application specific test fields, wherein the application specific test fields are already stored in memory of said computer-implemented system.
When the critical degree of impact for the impacted test field is inputted by the tester, a plurality of possible combinations of possible test data for all the critical impacted test fields are generated. The number of such combinations can be the total number of test cases to be generated in output test data file.
Similarly, when the supportive degree of impact for the impacted test field is inputted by the tester, then the possible test data is populated into the supportive impacted test fields based on the user specified and established linking relationship and the system is configured to repeatedly populates the same set of possible values up to the total number of test cases derived.
Also, when the key type degree of impact for the impacted test field is inputted by the tester, then the unique values for each of the test cases is populated in to the key type impacted test field, wherein such unique values are generated by applying a predetermined increment counter to the user given key patterns.
Thus, based upon such established link, the possible test data is derived and fetched from the application specific test fields into each impacted test fields. After the creation of the link and deriving and fetching possible test data, a populating module upon execution of the processor is configured to populate the derived and fetched possible test data into the linked fields from said application specific test fields. The linked fields are impacted test fields which are linked with the application specific test fields. An output module, a processor executable module of said computer-implemented system is configured to generate a first test data for selected degree of impact of each impacted test field. Further, the output module is also configured to generate a logically compliant instantly useful test data alongwith corresponding test
plan therefor in at least one file format by applying at least one business rule to the generated first test data.
In an another embodiment of the present invention the. computer-implemented method is considered for automatically generating instantly useful test data, characterized in having an intuitive interface i.e. ISPF interface which is configured to accept the minimal input from the tester for generating said instantly useful test data which is specific for testing the mainframe application. For enabling the test data generation process, set of processor-enabled steps are performed by the processor-executable programmed modules, wherein the said steps includes; inputting test data layout and impacted test fields along with their degree of impact which is specific to the testing requirements of the mainframe applications which is to be tested. The said degree of impact comprises a critical degree, supportive degree or key field degree. Also, the tester can input a plurality of linking parameters to establish a logical relationship among the impacted test fields. Further, the tester inputs the possible test data into the impacted test fields of the layout or optionally triggers a predefined application specific test field data file to input said possible test data, where the possible test data inputted by the tester is based on the testing requirements. Upon accepting the test data layout and tester's inputted possible test data which is inputted by the tester into the impacted test fields of the said layout, the step of linking the impacted test fields with the application specific test fields are performed by the linking module, one of the processor-executable program module. The application specific test fields contains the possible test data and is stored in memory of said computer-implemented system. The link is created between the impacted test fields with the application specific test fields using pre-established linking relationship. Based upon the created link, the possible test data is derived and fetched from the application specific test fields into each of said impacted test field. After the deriving and fetching possible test data, step of populating the linked fields with the possible test data are performed by a populating module, an another processor-executable
program module. The linked fields are those impacted test fields which gets linked with the application specific test fields.
Thus, after performing the steps of inputting, linking, deriving, fetching and populating, the step of generating the first test data according to the selected degree of impact for each impacted test field is performed by an another processor-executable programmed module i.e., the output module. After generating the first test data, a logically compliant instantly useful test data alongwith corresponding test plan therefor in at least one file format is generated. The logically compliant instantly useful test data is generated is based on the least one business rule applied to said first test data. Further, the computer-implemented method also allows the tester to generate test plans in tester's desirable file format which also complies with the prescribed testing requirements.
Next, the preferred embodiments of the present invention will be described below based on drawings.
Figure 1 is the block diagram of the system (100) illustrating the multiple embodiments of the present invention. The system (100) comprises a processor, a memory, a test data generator (102), which is a tool accessible by a user, a tester or a group of tester, hereinafter referred as "tester" (104) through an 1SPF interface (106). The said tool (102) further comprises of a set of processor-executable programmed modules such as an input module (108), a linking module (110), a populating module (112) and an output module (114). According to the various embodiments of the present invention, the methods described herein are intended for operation as computer programs modules running on a computer processor.
The input module (108) is configured to allow and accept the user's/tester's input (202 of figure 2) i.e., the test data layout and impacted test fields along with the degree of impact for each impacted test fields of the said layout through the ISPF interface (106). The inputted test data layout and impacted test fields along with their
degree of impact are based on the testing requirements for the mainframe application which is to be tested. The said degree of impact comprises a critical degree, supportive degree or key field degree. The input module (108) also allows the tester to input plurality of linking parameter to establish a logical relationship among the impacted test fields. Also, the input module (108) further allows the tester's to input possible test data which are specific with the testing requirements into the impacted test fields of test data layout for testing the mainframe applications. Upon inputting and accepting the user's/tester's input (202 of figure 2), the linking module (110) creates a link between the impacted test fields (302 of figure 3) with the application specific test fields (304 of figure 3), wherein said application specific test fields (304 of figure 3) is already stored in the memory of said tool (102). The application specific test fields (304 of figure 3) contain the possible test data.
The link created between the impacted test fields with the pre-stored application specific test fields is based on pre-established linking parameters. Based upon the link, the possible test data is derived and fetched from the application specific test fields into each of said impacted test field. After creating the link, the populating module (112) is configured to populate the derived and fetched possible test data from said application specific test fields (304 of figure 3) into the linked fields. The linked fields are those impacted test fields which get linked with the application specific test fields on the basis of the inputted possible test data into the impacted test fields of said test data layout i.e., a part of the user's/ tester's requirement (202 of figure 2). The output module (114) is then configured to generate a first test data for selected degree of impact of each impacted test field. Further, the output module (114) is further configured to generate the logically compliant instantly useful test data alongwith a corresponding test plan thereof by applying at least one business rule to the generated first test data. The tool (102) also allows the tester to select a desired file format for the generated logically compliant instantly useful test data.
Figure 2 is the flow diagram (200) illustrating the test data and test plan generation according to one aspect of the present invention. For enabling the automatic test data generation various processor-executable steps are performed, wherein the steps includes; accepting the tester inputted test data layout & impacted test fields (204) along with the corresponding degree of impact for each impacted test field i.e., the user's/ tester's requirement (202). Further, the step of accepting tester inputted data/ requirements (206) is performed to allow the tester to input possible test data into the impacted test fields of the test data layout. The tester inputted data of step 206 is based on the tester's requirement which is specific to the mainframe application which is to be tested. Also, the tester inputs the linking parameter to establish a logical relationship among impacted test fields. After accepting the user'/ tester's requirement (202) and linking parameters, step of linking impacted test fields with the application test fields (208) is performed to link the impacted test fields (302 of figure 3) with the application specific test fields (304 of figure 3) which are already stored in the memory the tool (102 of figure 1). Based on the pre-established linked relationship, possible test data is derived and fetched from the application specific test fields (304 of figure 3) into the impacted test fields (302 of figure 3).
Upon creating the link, step of populating possible test data into linked fields (210) is performed, wherein the linked fields are those impacted test fields of the test data layout which get linked with the test fields (304 of figure 3) already stored in said memory of the tool (102). The test fields (304 of figure 3) contain the possible test data which gets populated into the linked fields. Thus, upon populating the linked fields with the possible test data, step of generating test data & test plan (212) is performed. The first test data is generated for the selected degree of each impacted test fields. Further, the tool (102 of figure 1) generates the logically compliant instantly useful test data alongwith a corresponding test plan thereof by applying at least one business rule to said first test data. The computer-implemented method also
allows the tester to generate test plans in tester's desirable file format which also complies with the prescribed testing requirements.
Figure 3 is the illustration of a linking and populating process (300) of test data between impacted test fields and application specific test fields. The step of linking and populating process is performed by the linking module (110 of figure 1) and the populating module (112 of figure 1) respectively. When the user's/tester's input (202 of figure 2) which comprises of test data layout and impacted test fields along with the corresponding degree of impact for each impacted test fields of said layout is inputted into the input module (108 of figure 1) through the ISPF interface (106 of figure 1). Also, the tester inputs, the linking parameter to establish a logical relationship among the impacted test fields (302). Based upon the established logical relationship, the linking module (110 of figure 1) creates a link (308) between the set of impacted test fields (302) i.e., Impacted test field 1, Impacted test field 2, Impacted test field 3, Impacted test field 4 and Impacted test field n with the set of randomly stored application specific test fields (304) i.e. Test field 2, Test field 4, Test field 1, Test field 3 and Test field n, where n is natural number. In the shown figure 3, it should be understood that the set of test fields (304) are the application specific test fields.
The link created (308) is based upon the tester inputted possible test data that is the part of the user's/ tester's input (202 of figure 2) into the set of impacted test fields (302) and pre-established logical relationship. The linking module (110 of figure 1) accepts and understands said tester inputted possible test data which is based on the testing requirements. As can be seen from the figure 3, the link is created between the Impacted test field 1 with the Test field 1, Impacted test field 2 with the Test field 2, Impacted test field 3 with the Test field 3, Impacted test field 4 with the Test field 4 and Impacted test field n with the Test field n. Based upon the created link created (308), the possible test data is derived and fetched from the application specific test fields (304) into the impacted test fields (302).
After creation of the link (308), the populating module (112 of figure 1) is configured to populate the derived and fetched the possible test data from the set of pre-stored application specific test fields (304) having the possible test data stored therein into the linked fields. The linked fields are those impacted fields with get linked with the application specific test fields on the basis inputted possible test data. Based upon the link, the set of populated test data (306) i.e., the derived and fetched possible test data is populated within the linked fields. Thus, after populating, the output module (114 of figure 1) is configured to generate a first test data for the selected degree of each impacted test fields. Further, the system generates the logically compliant instantly useful test data alongwith a corresponding test plan thereof by applying at least one business rule to said first test data.
The methodology and techniques described with respect to the exemplary embodiments can be performed using a computer-implemented system or other computing device within which a set of instructions, when executed, may cause the said computer-implemented system to perform any one or more of the methodologies discussed above. The said computer-implemented system may include a processor embedded within the said computer-implemented system which is configured for executing the said programmed instructions or the said set of instructions. The said computer-implemented system is configured from different modules; each module is configured for executing programmed instructions or set of instruction to perform a particular task. According to the embodiments of the present invention, the computer-implemented system may also operate as a standalone device.
In accordance with various embodiments of the present disclosure, the methods described herein are intended for operation as software programs running on a computer processor - [processor embedded within the said computer-implemented
system],
Although the invention has been described in terms of specific embodiments and applications, persons skilled in the art can, in light of this teaching, generate additional embodiments without exceeding the scope or departing from the spirit of the invention described herein.
We Claim:
1. A method for automated mainframe testing characterized in having an intuitive interface configured to accept minimal user input and extrapolate thereto a plurality of data field to generate an instantly useful test data with substantial degree of precision, the method comprising processor implemented steps of:
a. inputting test data layout, impacted test fields along with degree of
impact thereof each impacted test field for a specific testing
requirement, wherein said degree of impact comprises a critical
degree, supportive degree or key field degree;
b. inputting a plurality of linking parameter to establish a logical
relationship there between the plurality of impacted test fields;
c. allowing tester to manually enter possible test data or optionally, based
on the pre-established linked relationship therebetween the impacted
test fields, fetch possible test data from a predefined application
specific test field's data file to populate such linked impacted test
fields therewith such fetched data;
d. generating a first test data for the selected degree of impact and a
logically compliant instantly useful test data alongwith a
corresponding test plan thereof by applying at least one business rule
to said first test data; and
e. prompting tester for selecting a desired file format for generated said
logically compliant instantly useful test data.
2. A method for automated mainframe testing of claim 1, wherein for the critical degree of impact, a plurality of possible combinations of possible test data for all the critical impacted test fields are generated, wherein the number of such
combinations would be the total number of test cases to be generated in output test data file.
3. A method for automated mainframe testing of claim 1, wherein for the supportive degree of impact, populating fetched possible test data into the supportive impacted test fields based on the user specified and established linking relationship, wherein said test data generation is adapted to repeatedly populate the same set of possible values up to the total number of test cases derived.
4. A method for automated mainframe testing of claim 1, wherein for the key type degree of impact, populating the key impacted test fields with unique values for each of the test cases, wherein such unique values are generated by applying a predetermined increment counter to the user given key patterns.
5. A method for automated mainframe testing of claim 1 wherein said instantly useful test data is generated from existing test files, test models or from blank file.
6. A method for automated mainframe testing of claim 1, wherein the test plan is generated by consolidating all generated test data in a file format selected from: a flat file format, CSV compatible flat file.
7. A test data generator for automatically generating an instantly useful test data and corresponding test plans thereof for testing a mainframe application, characterized in having an intuitive interface configured to accept minimal user inputs and extrapolate thereto a plurality of data field, said test data generator comprises of:
a. an input module configured to allow tester to:
i. input test data layout, impacted test fields along with degree of impact thereof for a specific testing requirement, wherein said degree of impact comprises a critical degree, supportive degree or a key field degree; ii. input a plurality of linking parameter to establish a logical relationship therebetween the impacted test fields;
b. a linking module configured to:
i. link the application specific test fields with at least one
corresponding impacted test field; and ii. based upon such established linking, derive and fetch possible test data from the application specific test fields into each of said impacted test field;
c. a populating module configured to populate linked fields with derived and
fetched possible test data from said application specific test fields,
wherein the linked fields are those impacted test fields which gets linked
with the application specific test fields;
d. an output module configured to generate a first test data according to the
selected degree of impact and a logically compliant instantly useful test
data in at least one file format such as flat file format, key file format
(VSAM), or DB2 table formats alongwith corresponding test plan thereof
in a flat file format;
8. The test data generator of claim 7, wherein the input module is further configured to manually enter possible test data or optionally, based on the pre-established linked relationship therebetween the impacted test fields, fetch possible test data from a predefined application specific test field's data file.
9. The test data generator of claim 7, wherein for the critical degree of impact, a plurality of possible combinations of possible values for all the critical
impacted fields are generated, wherein the number of such combinations would be the total number of test cases to be generated in output test data file.
10. The test data generator of claim 7, wherein for the supportive degree of impact, populating fetched test data values based on the provided Linking parameters into the supportive impacted test fields, wherein the said test data generation is adapted to repeatedly populates the same set of possible values up to the total number of test cases derived.
11. The test data generator of claim 7, wherein for the Key field degree of impacted fields, populating unique values for each of the test cases by incrementing by 1 to the user given key patterns.
12. The test data generator of claim 7, wherein the output module is further configured to apply at least one business rule to the generated first test data to achieve logical compliance thereof and to generate the instantly useful test data.