0% found this document useful (0 votes)
50 views

Software Metrics: The Following Can Be Regarded As The Fundamental Metric

The document discusses software metrics, which are quantitative measures used to characterize aspects of software. It provides examples of different types of metrics, including test coverage metrics, software release metrics, software maturity metrics, and reliability metrics. The key metrics discussed are function test coverage, mean time to failure, mean time between failures, and mean time to repair. The document also covers characteristics of effective test metrics like being quantifiable, easy to collect, simple, meaningful, and non-threatening. It provides methods for identifying the appropriate test metrics for a given project.

Uploaded by

Vignesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views

Software Metrics: The Following Can Be Regarded As The Fundamental Metric

The document discusses software metrics, which are quantitative measures used to characterize aspects of software. It provides examples of different types of metrics, including test coverage metrics, software release metrics, software maturity metrics, and reliability metrics. The key metrics discussed are function test coverage, mean time to failure, mean time between failures, and mean time to repair. The document also covers characteristics of effective test metrics like being quantifiable, easy to collect, simple, meaningful, and non-threatening. It provides methods for identifying the appropriate test metrics for a given project.

Uploaded by

Vignesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

SOFTWARE METRICS

A software metric is a measure of some property of a piece of software or its specifications.


A metric is a quantitative measure of the degree to which a system, system component, or
process possesses a given attribute.
A quality metric is a quantitative measurement of the degree to which an item possesses a given
quality attribute.
Generating Test Metrics are the most important responsibility of the Software Test Lead or
Manager.
Metrics allow for deeper understanding of the performance of the application and its behavior.
The fine tuning of the application can be enhanced only with metrics. In a typical QA process,
there are many metrics which provide information.
"Metrics are a system of parameters or ways of quantitative and periodic assessment of a process
that is to be measured, along with the procedures to carry out such measurement and the
procedures for the interpretation of the assessment in the light of previous or comparable
assessments. Metrics are usually specialized by the subject area, in which case they are valid
only within a certain domain and cannot be directly benchmarked or interpreted outside it."
Metrics are measurements. It is as simple as that. We use them all the time in our everyday lives.
Entangling them in wordy definitions is just intended to make them seem more mysterious and
technical than they really are.

The following can be regarded as the fundamental metric:


Functional or Test Coverage Metrics.
Software Release Metrics.
Software Maturity Metrics.
Reliability Metrics.

Mean Time To First Failure (MTTFF).


Mean Time Between Failures (MTBF).
Mean Time To Repair (MTTR).

Function Test Coverage Metric


It can be used to measure test coverage prior to software delivery. It provides a measure
of the percentage of the software tested at any point during testing.

It is calculated as follows:
Function Test Coverage = FE/FT Where,
FE is the number of test requirements that are covered by test cases that were executed against
the software
FT is the total number of test requirements.

Software Release Metrics


The software is ready for release when:
1. It has been tested with a test suite that provides 100% functional coverage, 80% branch
coverage, and 100% procedure coverage.
2. There are no level 1 or 2 severity defects.
3. The defect finding rate is less than 40 new defects per 1000 hours of testing
4. Stress testing, configuration testing, installation testing, Nave user testing, usability testing,
and sanity testing have been completed.

Software Maturity Metrics


Software Maturity Index is that which can be used to determine the readiness for release of a
software system. This index is especially useful for assessing release readiness when changes,
additions, or deletions are made to existing software systems. It is calculated as follows:
SMI = Mt ( Fa + Fc + Fd)/Mt, Where
SMI is the Software Maturity Index value
Mt is the number of software functions/modules in the current release
Fc is the number of functions/modules that contain changes from the previous release
Fa is the number of functions/modules that contain additions to the previous release
Fd is the number of functions/modules that are deleted from the previous release.

Reliability Metrics
Reliability is calculated as follows:
Reliability = 1 Number of errors (actual or predicted)/Total number of lines of executable code
This reliability value is calculated for the number of errors during a specified time interval. Three
other metrics can be calculated during extended testing or after the system is in production. They
are:
MTTFF (Mean Time to First Failure)
MTTFF = The number of time intervals the system is operable until its first failure (functional
failure only).
MTBF (Mean Time Between Failures)
MTBF = Sum of the time intervals the system is operable
MTTR (Mean Time To Repair)

MTTR = sum of the time intervals required to repair the system The number of repairs during
the time period.

Types

Process Metrics

Product Metrics

Process Metrics
Many organizations take measurements or metrics because they have the capability to measure,
rather than determining why they need the information. Unfortunately, measurement for the sake
of a number or statistic rarely makes a process better, faster, or cheaper. A poor measurement can
hurt a process if incorrect decisions are based on the result of that measurement. People at all
levels of organizations continue to take measurements hoping that they will shed light on the best
way to provide a product or service. Though fraught with good intentions, these poorly contrived
measurements add to the confusion of what should and should not be measured.

Product Metrics
Product metrics are for describing characteristics of product such as its size, complexity,
features, and performance. Several common product metrics are mean time to failure, defect
density, customer problem, and customer satisfaction metrics.
1. Mean time to failure metric is, to put it plainly, the average time the product runs before
experiencing a crash, which is important for systems like air traffic control that are required to
have no more than a few seconds of down time in a full year.
2. Defect density metric refers to number of imperfections per:

Lines of code
Function definitions

Lines on input screens

3. Customer problem metric is a measure of problems customers have encountered with the
product over the total usage of the product. This metric takes into account that multiple instances
of the product can be used at the same time, which effectively multiplies the length of time the
product has been in operation by the number of product licenses.
4. Customer satisfaction metric is generally a survey asking customers to rate their satisfaction
with the product and/or its features on a five-point scale.

Characteristics of Effective Test Metrics


Ideally, identifying test metrics takes place at the beginning of the project, so incorporation into
the appropriate activities is easy. The test metrics you wish to collect need to be:

quantifiable,
easy to collect,
simple,
meaningful,
non-threatening.

Quantifiable Measurements
To ensure consistent comparison of findings, the method of measurement needs to be standard,
concise, and quantifiable. For example, to determine the density of defects, you need to identify
what metrics provide this information and a standard of measurement. For example, the test
metric to gather is the number of defects and the method of measurement is lines of code (loc),
(i.e., x number of defects per y loc).
Definitions must be clear and concise. For example, the definition of defect must state what
constitutes a defect and the definition of lines of code must state the number of lines of code to
be used as the standard of measure, (e.g., 1000). The definitions must also provide any other
information necessary to ensure consistency, (e.g., if the lines of code are commented or not
commented).

Easy to Collect
The information collection process must not take too much of the collectors time, or the
information will not be collected. The amount of test metrics gathered from any one group needs
to be kept at a minimum, collecting only that which is most useful. Whenever possible, automate
the data collection process.
Simple Information
The information collected should be simple to gather. If it is hard for the collector to determine
what to measure or report, the information is likely to be inaccurate.
Meaningful Purpose
The information gathered must have a specific purpose, (or purposes). For example, the
information will be used to determine the number of defects and time used for each testing
phase, in order to determine the most cost effective ways to minimize errors.
The information to collect must be understandable and viewed as relevant to the collector, or the
information will not be collected. For example, to make the information in the previous example
relevant, explain that the findings will highlight the testing methods that work and methods that
dont work, so that employee effort is focused on productive activities.
Non-Threatening Use
Avoid using test metrics for employee evaluation purposes. Collection of information that is
perceived as a threat to the employees job status is frequently reported inaccurately or
incompletely.

Methods for Identifying Test Metrics


Start the process of identifying test metrics by listing the problems to be solved and objectives
first. Then determine the items to measure and the standards of measurement to use, to achieve
the objectives.
Various methods can be used to complete the test metrics identification process, (e.g.,
brainstorming, use of a committee composed of representatives from management and the
groups that will help with the collection process).

You might also like