TPA – Test Point Analysis – A method of Test Estimation

The function point analysis productivity factor covers the white-box testing, it does not cover system testing or acceptancetesting.

3 important elements – size , strategy and productivity

1) Size :-

size of an information system is determined mainly by the number of function points assigned to it.

Other factors are

Complexity; complexity relates to the number of conditions in a function. More conditions almost always means more test cases and therefore a greater volume of testing work.

Interfacing; the degree of interfacing of a function is determined by the number of data sets maintained by a function and the number of other functions, which make use of those data sets. Interfacing is relevant because these “other” functions will require testing if the maintenance function is modified.

Uniformity; it is important to consider the extent to which the structure of a function allows it to be tested using existing or slightly modified specifications, i.e. the extent to which the information system contains similarly structured functions.

2) Strategy

The importance attached to the various quality characteristics for testing purposes and the importance of the various subsystems and/or functions determine the test strategy.

Any requirement importance is from two perspectives: one is the user importance and the other is the user usage. Depending on these two characteristics a requirement rating can be generated and a strategy can be chalked out accordingly, which also means that estimates vary accordingly.

3) Productivity

Productivity  has  two  important  aspects:   environment  and  productivity figures.  Environmental  factors  define  how  much  the  environment  affects  a project  estimate.  Environmental  factors  include  aspects  such  as  tools,  test environments,  availability  of  testware,  etc.  While  the  productivity  figures depend on knowledge, how many senior people are on the team, etc.


User-importance

The user-significance is an expression of the importance that the user attaches to a given function relative to the other system functions.

Rating:

3 Low: the importance of the function relative to the other functions is low.

6 Normal: the importance of the function relative to the other functions is normal.

12 High: the importance of the function relative to the other functions is high.


Usage-intensity

The usage intensity has been defined as the frequency with which a certain function is

processed by the users and the size of the user group that uses the function. As with user-

importance the usage-intensity is being determined at a user-function level.

Rating:

2 Low: the function is only used a few times per day or per week.

4 Normal: the function is being used a great many times per day

12 High: the function is used continuously throughout the day.

Interfacing

Interfacing is an expression of the extent to which a modification in a given function affects

other parts of the system. The degree of interfacing is determined by ascertaining first the

logical data sets (LDSs) which the function in question can modify, then the other functions

which access these LDSs.

Complexity

The complexity of a function is determined on the basis of its algorithm. The general structure

of the algorithm may be described using pseudo code, Nassi-Shneiderman or ordinary text.

The complexity rating of the function depends on the number of conditions in the function’s

algorithm.

Rating:

3 The function contains no more than five conditions.

6 The function contains between six and eleven conditions.

12 The function contains more than eleven conditions.

Uniformity (U):

This factor defines how reusable a system is. Clones and dummies come under this heading.

A uniformity factor of 0.6 is assigned in cases of the kinds where there are clone functions , dummy functions and virtually unique function reoccurring ; otherwise a uniformity factor of 1 is assigned

Df = ((Ue + Uy + I + C)/16) * U

Df = weighting factor for the function-dependent factors

Ue = user-importance

Uy = usage-intensity

I = interfacing

C = complexity

U = uniformity

Dynamic quality characteristics (Qd)

The third step is to calculate Qd. Qd, i.e, dynamic quality characteristics, have two parts: explicit characteristics (Qde) and implicit characteristics (Qdi).Qde has five important characteristics: Functionality, Security, Suitability,Performance, and Portability.

Qdi defines the implicit characteristic part of the Qd. These are not standard and vary from project to project. For instance, we have identified for this accounting application four characteristics: user friendly, efficiency, performance, and maintainability.

Qd = Qde + Ddi

TPf = FPf * Df * Qd

TPf = number of test points assigned to the function

FPf = number of function points assigned to the function

Df = weighting factor for the function-dependent factors

Qd = weighting factor for the dynamic quality characteristics

Calculate static test points Qs

In this step we take into account the static quality characteristic of the project. This is done by defining a checklist of properties and then assigning a value of 16 to those properties. For this project we have only considered easy-to-use as a criteria and hence assigned 16 to it.

Total number of test points

The total number of test points assigned to the system as a whole is calculated by entering the data so far obtained into the following formula:

TP = ΣTPf + (FP * Qi) / 500

TP = total number of test points assigned to the system as a whole

ΣTPf = sum of the test points assigned to the individual functions (dynamic test points)

FP = total number of function points assigned to the system as a whole (minimum    value 500)

Qi = weighting factor for the indirectly measurable quality characteristics

Calculate Productivity/Skill factors

Productivity/skill factors show the number of test hours needed per test points. It’s a measure of experience, knowledge, and expertise and a team’s ability to perform. Productivity factors vary from project to project and also organization to organization. For instance, if we have a project team with many seniors then productivity increases. But if we have a new testing team productivity decreases. The higher the productivity factor the higher the number of test hours required.

Calculate environmental Factor (E)

The number of test hours for each test point is influenced not only by skills but also by the environment in which those resources work.

Calculate primary test hours (PT)

Primary test hours are the product of test points, skill factors, and environmental factors. The following formula shows the concept in more detail:

Primary test hours =  TP * Skill factor * E

3 Comments

  1. Thank you for some other great article. The place else may anyone get that kind of
    information in such a perfect approach of writing? I have
    a presentation next week, and I am on the search for such information.

Leave a comment