This application claims priority to Indian Patent Application No. 1537/CHE/2012, filed Apr. 18, 2012, which is hereby incorporated by reference in its entirety.
The invention relates generally to the field of estimating cost for system testing request. In particular, the present invention relates to a system and method for estimating cost of system testing request based on table unit in a data warehouse environment.
Testing is performed to find out defects in the system and in other words to prevent a defective product from reaching to the customer. It also ensures that the product confirms the specification and the functionality agreed to with the client. Of late, the significance of software testing rises so much that the importance of an independent entity, i.e. the entity not involved in the development of the software, to test the software is increasingly being recognized. And thus, estimating the test effort becomes very important to charge the client for the testing work. The present unit based estimation models for testing databases or data warehouses are typically request based or test case based.
In case of request based estimation the cost is determined based on the number of requests and in case of test case based estimation the cost is estimated based on the number of test cases against which the testing is performed. There are drawbacks in both the models. For estimation where unit is a request, the estimation would not be very accurate since a request can comprises of tables having different complexities. Hence, estimates have to be derived taking an average complexity of all the tables. Similarly, for test case based unit estimation, there could be an argument on the number of test cases needed to have hundred percent test coverage.
In view of the foregoing discussion, there is a need for a cost estimation method of testing which is not dependent on number of test cases and also very accurate in terms of tables involved in the testing project.
The present invention overcomes the above mentioned drawbacks by taking into account the unit of estimation as a table. Hence, the overall estimate would be the sum of individual table estimates which would be more accurate and also independent of number of test cases.
According to the present embodiment, a method for estimating a cost for one or more system testing request in a data warehouse environment for a client based on a single table unit is disclosed. The method includes collecting past data of one or more requests of the client for testing. From the past data one or more tables of different complexities are identified. Then, an effort required to test the one or more tables of different complexities is estimated. This effort is estimated based on a time required to test the one or more tables of different complexities. After that, the one or more tables are converted into the single table unit based on the effort required to test the one or more tables of different complexities. Subsequently, the cost for testing the single table unit is estimated based on the past data of the client.
In an additional embodiment, a system for estimating a cost for one or more system testing request in a data warehouse environment for a client based on a single table unit is disclosed. As disclosed, the embodiment includes a data collection module, a table complexity identification module, an effort estimation module, a table unit conversion module and a cost estimation module. The data collection module is configured for collecting past data of one or more requests of the client for testing, the table complexity identification module is configured for identifying one or more tables of different complexities from the past data, the effort estimation module is configured for estimating an effort required to test the one or more tables of different complexities, the table unit conversion module is configured to convert the one or more tables into the single table unit based on the effort required to test the one or more tables of different complexities and the cost estimation module is configured for estimating the single table unit based on the past data.
In another embodiment, a computer program product for estimating a cost for one or more system testing request in a data warehouse environment for a client based on a single table unit is disclosed. The computer program product includes a computer usable medium having a computer readable program code embodied therein for estimating a cost for one or more system testing request in a data warehouse environment for a client based on a single table unit. The computer readable program code storing a set of instructions configured for collecting past data of one or more requests of the client for testing, identifying one or more tables of different complexities from the past data, estimating an effort required to test the one or more tables of different complexities, converting the one or more tables into the single table unit based on the effort required to test the one or more tables of different complexities and estimating the cost for testing the single table unit based on the past data.
Various embodiments of the invention will, hereinafter, be described in conjunction with the appended drawings provided to illustrate, and not to limit the invention, wherein like designations denote like elements, and in which:
The foregoing has broadly outlined the features and technical advantages of the present disclosure in order that the detailed description of the disclosure that follows may be better understood. Additional features and advantages of the disclosure will be described hereinafter which form the subject of the claims of the disclosure. It should be appreciated by those skilled in the art that the conception and specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the disclosure as set forth in the appended claims. The novel features which are believed to be characteristic of the disclosure, both as to its organization and method of operation, together with further objects and advantages will be better understood from the following description when considered in connection with the accompanying figures. It is to be expressly understood, however, that each of the figures is provided for the purpose of illustration and description only and is not intended as a definition of the limits of the present disclosure.
Exemplary embodiments of the present disclosure provides a system and method for estimating a cost for one or more system testing request in a data warehouse environment for a client, based on a single table unit, where past data of one or more requests for testing of the client is collected and analyzed. From the past data one or more tables of different complexities are identified and based on the one or more tables an effort required to test the one or more tables is estimated. The one or more tables are converted to a single table unit to estimate the cost of testing.
With reference to
In the above table, if the number of source files/table is equal to 1 and number of modifications are less than equal to 2 or if the number of source files/table is equal to 1 and number of modifications are greater than 2 and less than equal to 4, then the parameter will be X. Again, if the number of source files/table is equal to 3 or greater than 3 and number of modifications are less than equal to 2 or if the number of source files/table is equal to 3 and number of modifications are greater than 2 and less than equal to 4 then the parameter will be Y. Similarly, if the number of source files/table is equal to 1 and number of modifications is greater than 4 and less than equal to 6, then the parameter will be Y. Again, if the number of source files/table is greater than 3 and number of modifications is greater than 2 and less than equal to 4, then the parameter will be Z. Similarly, if the number of source files/table is equal to 3 or greater than 3 and number of modifications are greater than 4 and less than equal to 6 then the parameter will be Z. Thus, the above table is a function of source files/table and the number of modifications to the table.
The complexity of the table can be determined by analyzing the above mentioned parameters in combination with the number of fields in the table. An exemplary table to determine the complexity based on the above mentioned parameters and the number of fields in the table may be as follows:
In the above table the criteria 1 result of Table 1 is combined with the number of fields in the table to determine the complexity of the table in the form of simple (S), medium (M) and complex (C). According to the table 2, if the parameter of the table is X or Y or Z and the number of fields in the table is less than equal to 9, then the complexity of the table will be simple (S). if the parameter of the table is X or Y and number of fields in the table is greater than 9 and less than equal to 15, then the complexity of the table will be medium (M). Again, if the parameter of the table is X and number of fields in the table is greater than 15 and less than equal to 25, then complexity of the table will be medium (M). Further, if the parameter of the table is Y and number of fields in the table is greater than 15 and less than equal to 25, then complexity of the table will be complex (C). Similarly, if the parameter of the table is Z and the number of fields in the table is greater than 9 and less than equal to 15 or greater than 15 and less than equal to 25, then the complexity of the table will be complex (C).
Referring back to
The above table can be used as framework for calculating table based unit pricing. The total number of simple table, total number of medium table, total number of complex table, total hours required in past to complete the testing and total amount of money charged to the client in a particular currency are determined. According to the table 3, total 4722 hours were required in past to complete 86 simple tables, 16 medium tables and 28 complex tables. Thus, 86 simple tables, 16 medium tables and 28 complex tables are equivalent to 4722 hours. This can be expressed by the following mathematical formula:
S(x)+M(y)+C(z)=H
In the above formula, S is the total number of simple table, M is the total number of medium table, C is the total number of complex table, H is the total hours required in past to complete the total number of simple, medium and complex table, x is the simple ratio, y is the medium ratio and z is the complex ratio. Trial and error method is used to determine the x, y and z. The trial and error method can be initiated by estimating effort expanded to requests only consisting of simple table or medium table or complex table. Thus, the above mentioned mathematical formula can be expressed in terms of x, as follows:
H=S(x)+M(f(x))+C(f(x))
In this way, the value of x, y and z is determined. After determining the value of x, y and z, these data is used in any two or more sets of table 3 to get the accuracy of the value. Further, a correlation check is carried out to determine the accuracy of the values. If the value of the correlation check is within a preferred range, then the value of x, y and z can be considered for the rest of the steps of this disclosure. An example of the preferred range for the Table 3 may include but not limited to, is 4722±5.
The one or more tables are converted into the single table unit based on the effort required to test the one or more tables of different complexities, as in block 208. The derived value of x, y and z can be considered as units for simple table, medium table and complex table respectively. Thus, an exemplary single table unit for simple, medium and complex table may be as follows, if the value of x is 1, value of y is 1.9 and value of z is 3.5:
Now, the Table 1 and table 2 data can be merged based on the Table 4 data as follows:
In the Table 5, the simple table, medium table and complex table are converted into table units. Now, the cost for testing the single table unit is estimated based on the past data, as in block 210. For estimating cost, the total units to be tested are estimated based on the single table unit already derived in the earlier step. For an example, which doesn't limit the scope of the invention, the cost estimation can be done by combining the result of table 3 and 4, where the total unit tested is: (total number of simple table*1)+(total number of medium table*1.9)+(total number of complex table*3.5) which can be expressed as (86*1)+(16*1.9)+(28*3.5)≈215. Now, the total time required to complete the testing of 215 units is divided by the total number of unit tested to estimate the cost for testing the single table unit i.e. 4722/215=21.96. Thus, the amount to be charged from the client will be in terms of single table unit.
S(x)+M(y)+C(z)=H
In the above formula, S is the total number of simple table, M is the total number of medium table, C is the total number of complex table, H is the total hours required in past to complete the total number of simple, medium and complex table, x is the simple ratio, y is the medium ratio and z is the complex ratio. Trial and error method is used to determine the x, y and z. The trial and error method can be initiated by estimating effort expanded to requests only consisting of simple table or medium table or complex table. Thus, the above mentioned mathematical formula can be expressed in terms of x, as follows:
H=S(x)+M(f(x))+C(f(x))
In this way, the value of x, y and z is determined. Further, a correlation check is carried out to determine the accuracy of the values. If the value of the correlation check is within a preferred range, then the value of x, y and z can be considered for the rest of the steps of this disclosure.
Referring back to, the table unit conversion module 308 is configured for converting the one or more tables into the single table unit based on the effort required to test the one or more tables of different complexities. The derived value of x, y and z can be considered as units for simple table, medium table and complex table respectively. The cost estimation module 310 is configured for estimating the cost for testing the single table unit based on the past data. For estimating cost, the total units to be tested are estimated based on the single table unit already derived in the earlier step. To estimate the cost for testing, the total time required to complete the total unit tested in past is divided by the total unit tested in past.
The above mentioned description is presented to enable a person of ordinary skill in the art to make and use the invention and is provided in the context of the requirement for obtaining a patent. Various modifications to the preferred embodiment will be readily apparent to those skilled in the art and the generic principles of the present invention may be applied to other embodiments, and some features of the present invention may be used without the corresponding use of other features. Accordingly, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.
| Number | Date | Country | Kind |
|---|---|---|---|
| 1537/CHE/2012 | Apr 2012 | IN | national |