What are function points ?
-----------------------------
Function points are a unit measure for software much like an hour is to measuring time, miles are to measuring distance or Celsius is to measuring temperature. It is a measure of software size. A product of five defined data components (inputs, outputs, inquiries, files, external interfaces) and 14 weighted environment characteristics (data comm, performance, reusability, etc.). Examples are
A 1,000 line Cobol program would typically have about 10 function points
A 1,000-line C program would have about eight.
Many attempts have been made to establish a relationship between function points and the effort associated with software development. Much of the difficulty in establishing this relationship is due to the fact that only the relationship between function points and the entire software lifecycle is examined. This blog examines the relationship between function points and testing -- in particular the relationship between test cases and function points.
The relationship between function points and the number of test cases is very strong. Capers Jones estimates that the number of total number of test cases will approximately equal the number of Function Points raised to the 1.2 power (FP 1.2). Data gathering and laboratory research indicates that Function Points times 1.2 estimates the number of acceptance test cases. Again the difference between the two is that FP raised to the 1.2 power estimates all test cases and FP times 1.2 estimates only acceptance test cases. That is, test cases grow at a faster rate than function points. This is intuitive because as an application grows the number of interrelationships within the applications becomes more complex. The test cases Capers estimates includes all test cases not just acceptance test cases.
For example, if a development application has 1,000 function points there should be approximately 4,000 total test cases and 1,200 acceptance test cases. Obviously, the development team should begin creating test cases as soon as possible. If the development team waits until coding has been completed, they will more than likely create far fewer than 4,000 test cases or 1,200 acceptance test cases.
-- Sanat Sharma
1 comment:
I have found a striking similarity in the text posted by David Longstreet in his article (word to word) Expecting originality in your blog as you have mentioned that these are "your" experiences. At least, credits should be given explicitly.
Post a Comment