Eastimating Test Cases

There is a strong relationship between the number of test cases and the number of function points. 

As expected there is a strong relationship between the number of defects and the number of test cases and number of function points.

The number of acceptance test cases can be estimated by multiplying the number of function points by 1.2.  Like function points, acceptance test cases should be independent of technology and implementation techniques.

For example, if a software project was 100 function points the estimated number of test cases would be 120.  To estimate the number of potential defects is more involved.  

Estimating Defects

Intuitively the number of maximum potential defects is equal to the number of acceptance test cases which is 1.2 x Function Points.

Preventing, Discovering and Removing Defects

To reduce the number of defects delivered with a software project an organization can engage in a variety of activities.  While defect prevention is much more effective and efficient in reducing the number of defects, most organization conduct defect discovery and removal.  Discovering and removing defects is an expensive and inefficient process.  It is much more efficient for an organization to conduct activities that prevent defects.

Defect Removal Efficiency

If an organization has no defect prevention methods in place then they are totally reliant on defect removal efficiency.

1. Requirements Reviews up to 15% removal of potential defects
2. Design Reviews up to 30% removal of potential defects
3. Code Reviews up to 20% removal of potential defects
4. Formal Testing up to 25% removal of potential defects 

In other words, if your organization is great at defect removal the maximum percentage of defects your organization can expect to remove is 90%.

  If a software project is 100 function points, the total number of maximum (or potential) defects could be 120.  If you were perfect at defect removal your project would still have up to 12 defects after all your defect discovery and removal efforts.  The far majority of organization would receive a B (medium) or even a D (poor) at defect removal efficiency. 

Activity

Perfect

Medium

Poor

Requirements Reviews

15%

5%

0%

Design Reviews

30%

15%

0%

Code Reviews

20%

10%

0%

Formal Testing

25%

15%

15%

Total Percentage Removed

90%

45%

15%

Defect Discovery and Removal

Size in Function Points

 

Totals Defects Remaining

Max Defects

Perfect

Medium

Poor

100

120

12

66

102

200

240

24

132

204

500

600

60

330

510

1,000

1,200

120

660

1,020

2,500

3,000

300

1,650

2,550

5,000

6,000

600

3,300

5,100

10,000

12,000

1,200

6,600

10,200

20,000

24,000

2,000

13,200

20,400

An organization with a project of 2,500 function points and was about medium at defect discovery and removal would have 1,650 defects remaining after all defect removal and discovery activities.  The calculation is 2,500 x 1.2 = 3,000 potential defects.  The organization would be able to remove about 45% of the defects or 1,350 defects.  The total potential defects (3,000) less the removed defects (1,350) equals the remaining defects of 1,650.

Defect Prevention

If an organization concentrates on defect prevention (instead of defect detection) then the number of defects inserted or created is much less.  The amount of time and effort required to discover and remove this defects is much less also.

1. Roles and Responsibilities Clearly Defined up to 15% reduction in number of defects created
2. Formalized Procedures up to 25% reduction in number of defects created
3. Repeatable Processes up to 35% reduction in number of defects created
4. Controls and Measures in place up to 30% reduction in number of defects created

Imagine an organization with items 1 and 2 in place.  A project with 100 function points would have a potential of 120 defects, but since they have preventative measures in place, they can reduce the number of potential defects by 48 (40% = 25% + 15%).  That makes the potential number of defects 72 compared to 120 with no preventative efforts.  Assuming that an organization was medium at defect discovery and removal they could remove 45% of the remaining defects or have 40 remaining when the project rolled to production.

Defect Removal

Max Defects

Prevention

Medium

100

120

72

40

200

240

144

79

500

600

360

198

1,000

1,200

720

396

2,500

3,000

1,800

990

5,000

6,000

3,600

1,980

10,000

12,000

7,200

3,960

20,000

24,000

14,400

7,920

The above table represents the number of defects that an organization that does items 1 and 2 above and is medium at discovery and removal.

The problem for estimating defects is multidimensional.  First the total number of defects must be estimated.  Second the impact of defect prevention needs to be understood and the estimated number of defects adjusted.  Third an assessment needs to be done to understand how many defects can be discovered and removed by an organization.

Clearly, the fewer number of defects that an organization must discover and remove the better.  The way this is accomplished is by better process, a more stable organization and repeatable processes.  The focus of software organizations needs to be on defect prevention instead of defect detection.