Software engineering world consists of many tasks and activities to design, develop and deliver quality product to their targeted users. Some of them are easy to perform while some are difficult or complex to execute. A task could be made be easy, if the efforts required in its execution are known, so as to organize and manage the whole task, accordingly.
Similarly, testing process also needs the estimation of efforts, required in the terms of budget, resources and time. It helps a QA team to plan the whole testing phase with respect to the estimated efforts and to execute the testing process effectively and efficiently within the stipulated time period. There are multiple number of methods available to estimate the testing efforts. Test Point Analysis is one of them.
As stated above, Test Point Analysis (TPA) is a software testing estimate approach, which is specifically designed to estimate the black box testing efforts. Unlike, the functional point analysis (FPA), which is used to project the white box testing efforts, TPA is used to estimate the black box testing efforts, especially in performing the system and the acceptance test of the software application.
To understand the working of the TPA approach, first try to understand the below given diagram.
In the above given diagram, it may be seen that the test point analysis makes use of the functional points derived from the functional point analysis and is used to calculate the functional points for the black box testing estimation.Now, coming to the TPA method. It usually, consists of three entities to estimate the black box testing efforts. These are
First element is size, which may be defined in the terms of functional points for a particular project. However, the size of the project does not focus on the following parameters.
|Logical Data Sets||Functions|
Test Impact defines the weighting factor for the function-dependent factors based on the above stated attributes i.e., complexity, interfacing, uniformity. It's mathematical formula isT(f)= ((Ue + Uy + I + C)/16)*U, where
* User Importance: It defines the how important is the function for the user in comparison to other existing function. Below given is the rating for the user importance.
# Usage Intensity: It defines the frequency of a particular function being used and processed by a user or the group of the user. Below given is the rating for the usage intensity.
To proceed further, we need to calculate static and dynamic test points. But before that, let's see the meaning of both static and dynamic testing.
Dynamic Quality Attributes (QD) reflects the dynamically assessed qualities of the application. It broadly consists of two quality characteristics- Implicit quality characteristics (Qi) and explicit quality characteristics(Qe) with respect to the coverage of the requirements.QD = Qi + Qe
It measures the depth coverage of the explicit test cases and consists of following quality characteristics.
Below given is the rating of the quality attribute with respect to the importance of the requirement.0- Requirement is not so important, therefore is not considered for the test.
Similar to dynamic test points, static test points can be calculated from the static quality attributes as stated below.
The factors influencing the environment of a software application may comprise of following elements:
Testing performed at an early stage of development.2- A development test plan, along with the QA team familiarity with the test cases and the results.
Productivity factor depends upon the following factor:
Below given is the general mathematical formula for estimating the primary test hours.
Primary Test Hours= Total Test points* Environment factor* Productivity factor
Primary test hours along with the allowance spent on the planning and controlling activities produces out the total number of test hours. The allowance may depend upon the following factors:
Total No. of Test Hours= %age of allowance*Primary Test Hours + Primary Test HoursHere, the percentage of allowance is calculated using the team size and the management tools factors.