Download Process Metrics

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Planned obsolescence wikipedia , lookup

Pricing strategies wikipedia , lookup

Marketing strategy wikipedia , lookup

Product placement wikipedia , lookup

Customer engagement wikipedia , lookup

Customer satisfaction wikipedia , lookup

Service blueprint wikipedia , lookup

Product lifecycle wikipedia , lookup

Product planning wikipedia , lookup

Predictive engineering analytics wikipedia , lookup

Transcript
Software Quality Engineering
Software Metrics-II
Software Metrics
• Metrics are measures to provide feedback
to the project mangers, developers, and
programmers about quality of their work,
project and products.
QA Questions
• During the development process we ask:
– Will we produce a product that meets or
exceed the quality attributes set requirements
and expectations of the customer?
• At the end of a process we ask:
– Have we produced a product that meets or
exceeds the quality attribute set requirement
Role of QA Engineer
• For each element of the customer quality
attribute set,
– you must select and possibly create specific
measurements that can be applied repeatedly
during the development process and
– then again at its conclusion.
• The results of such measurement can be
used to determine progress towards a
finally attainment of quality goals
Metrics
• Measurements combined with desired
results are referred as metrics
• We have checklist and appraisal
methods/activities to ensure the health of
the process
Types of Software Metrics
• Process Metrics: can be used to improve the software development
and maintenance process, e.g. patterns of defect removal, response
time of a fix process, effectiveness of the defect removal process
during development.
• Product Metrics: describe the characteristics of the product, such as
its size, complexity, performance.
• Project Metrics: describe the characteristics of the project and its
execution, such as, number of software developers, staffing pattern
over the lifecycle of the project, cost and schedule.
• Software Quality Metrics: are the metrics that deal with quality
aspect of the software process, product and project.
• In-Process and End Product quality Metrics
Software Quality Engineering
• The essence of software quality engineering is
to investigate the relationship among in-process
metrics, project characteristics, and end product
quality; and, based on the findings, to engineer
improvements in both process and product
quality.
• In Customer-oriented SQA, the quality attribute
set drives the metrics selection and development
process.
Process Metrics
Defect Arrival Rate (DAR)
– It is the number of defects found during
testing measured at regular intervals over
some period of time
– Rather than a single value at set of values is
associated with this metrics
– When plotted on a graph,
• the data may rise, indicating a positive defect
arrival rate;
• It may stay flat, indicating a constant defect arrival
rate;
• Or decrease, indicating a negative defect arrival
rate.
Defect Arrival Rate (DAR)
– Interpretation of DAR can be difficult: a
Negative DAR
• may be indicating an improvement in product
– To validate this interpretation, one must remove other
possibilities, such as, decline in test effectiveness
– New test may need to be designed to improve the test
effectiveness
• May indicate under staffing of the test organization
– A plot of DAR over time span could be useful
indicator
Test Effectiveness
• Tests that always pass are considered ineffective
• Such test form ‘regression testing’, if any of them fails a
regression in quality of product has occurred.
• Test effectiveness (TE) is measured as
TE = Dn / Tn
– Dn is the number of defects found by formal tests
– Tn is the total number of formal tests
• When calculated at regular intervals and plotted:
– If the graph rises over time, TE may be improving
– If the graph is falling over time, TE may be waning
– The interpretation should made in the context of other metrics being
used in the process
Defects by Phase
• Fixing a defect is early in the process is cheaper and easy.
• At conclusion of each discrete phase of development
process, a count of new defects is taken and plotted to
observe the trend.
– Defect by phase is a variation of DAR metrics
– Domain of this metrics is the development phase, rather than regular
interval.
• Interpretation
– A rising graph might indicate that the methods used for defect
detection in earlier phases were not effective.
– A decreasing graph may indicate the effectiveness of defect removal
in earlier phases
Defect Removal Effectiveness
(DRE)
• DRE = Dr / (Dr + Dt) x 100
– Dr is the number of defects removed prior to release
– Dt is the total number of defects that remain in the product at
release
• Interpretation:
– Effectiveness of this metric depends on thoroughness and
diligence with which your staff reports defects.
– This metrics may be applied on phase-by-phase basis to gage
the relative effectiveness of defect removal by phase.
– Weak areas in the process may be identified to improvement
– The result may plotted and trend may be observed and used to
adjust the process.
Defect Backlog
• It is count of the number of defects in the product following its
release
• It is usually metered at regular interval and plotted for trend analysis.
• A more useful way to represent defect backlog is defect by
severity, e.g., a month after release of your product, the backlog
contains
–
–
–
–
–
2 severity 1 defects
8 severity 2 defects
24 severity 3 defects
90 severity 4 defects
Cased on this information, the PM may decide to shift resources to
resolve severity 1 & 2 defects
– Such a high improvement requests may also indicate review of the
requirements gathering process
Backlog management index (BMI)
• Problems arise after product release
• New problems arrive that impact the net result of your
team’s efforts to reduce the backlog.
• If the number of new problems a closed faster than the
new one are opened, the team is winning otherwise it is
losing ground.
• BMI = Dc / Dn
– Dc number defect closed during some period of time
– Dc number defect new defects that arrive during the same period
of time
• Interpretation: if BMI is greater than 1, your team is
gaining ground, otherwise it is losing
• A trend observed in a plot may indicate the level of
backlog management effort.
Fix Response Time
• It is the average time it takes your team to fix a
defect.
• It may the elapsed time between the discovery
of a defect and the development of a
verified/unverified fix
• A better metrics would be Fix response time by
the severity of defect.
• A percent of timely fixed defects is used as fix
responsiveness measure and high value
indicates the customer satisfaction
Percent Delinquent Fixes
• Afix is delinquent if it exceeds your fix
response criteria.
• PDF = (Fd / Fn ) * 100
– FD number of delinquent fixed
– FN number of non-delinquent fixes and
– Multiply by 100
• The metrics is also better by severity
since.
Defective Fixes
• A defect for which a fix has been prepared
that later turns out to be defective or worse,
creates one or more additional problems is
called a defective fix.
• The count of such defective fixes is the metric
• The new defects introduced by defective fixes
must be tracked
Product Metrics
Defect Density
• The general concept of defect rate is the number of defects
over the opportunities for error (OFE) during a specific time
frame.
• Defect density is used to measure the number of defects
discovered per some unit of product size, e.g., KLOC, FP
• If a product has large number of defects during formal
testing, customer will discover a similarly large number of
defects while using the product and it converse is true as
well.
• The answers to question related to customer defect
tolerance may help to select an acceptable value for the
metric.
• Phase-wise application of the metric may also be helpful
Defect by severity
• It is a simple count of unresolved defects by
severity
• Usually measured at regular intervals and
• Plotted to see any trend, showing progress
towards acceptable value for each severity.
• Movement away from those value may
indicate that projects at risk of failing to
satisfy the condition of the metric
Mean time between failure - MTBF
• The MTBF metric is simple average of
elapsed time between failures that occur
during test.
• This metric is defined in terms of the type
of testing performed during the
measurement period, e.g., moderatestress testing, heavy stress testing
• Minimum ship critera
Customer –Reported problems
• It is a simple count of the number of new (no duplicate)
problems reported by customer over some interval.
• When measured at regular intervals and plotted, trend
identified would require investigation on the causes behind
the trend
• If and increase in CPR identified and a correlation or causeeffect analysis indicate a relationship between the CPR and
the number end-users using the product, it may indicate that
the product has a serious scalability problems
• A profiling implementation may help to determine the usage
patron of the end used for different features of the product
Customer Satisfaction
• Customer Satisfaction metrics is typically
measured through a customer satisfaction
survey.
• Questions are designed to be answered
on a range responses, typically 1-5
• questions should be designed to assess
both the respondents subjective and
objective perception of product quality
Beyond the Metrics
• Does our metrics bucket suffice for our quality
attribute set
• We might have to create or alter certain metrics
• Usability studies are conducted by independent
labs that invite groups of end users to their test
facility to evaluate the usability of product.
• Checklist: are an effective means by which to
determine whether a product possesses very
specific non-measurable attributes or attribute
elements
Process for Metrics Definition
• The attributes in the Quality Attributes Set are considered one by
one
• The attribute statement is divided into individual attribute elements
• For Each Element, one has to see “Is the element measurable or
not?”
• If Not:
– One has to chose between various non-measurable QA options
– E.g., usability Studies, Checklists, etc
• If yes:
– Look in the Metrics Bucket that if any of the metrics can be used to
measure the said attribute element/feature.
– If no measure is available one has to define a new metrics
• Some times some other metrics being used may suffice for the
attribute element in question and now new metrics may be required.
Ease of Use
1.
2.
Software’s customers prefer to purchase software
products that don’t require them to read the manual or
use the on-line help facilities. They look for products
with Graphical User Interfaces (GUIs) that “look and
feel” like other products that they use regularly, such
as their word processors and spreadsheet programs.
Those programs have what they call “intuitive” user
interfaces, which is another way of saying that they
can learn the products by playing with it for a short
period of time without consulting the manual.
They also prefer products that have a GUI that is
sparsely populated with buttons and pop-up (or pulldown) menus, leaving a large work area in which they
can create their frequent masterpieces.
Metrics for ease of use
• The attribute element 1 is not measurable
– Therefore, usability studies
– Specific questions may be designed for the
user in the study groups
– EG, NUTES
• Metrics: number of buttons/menus etc. on
the interface
– Other commonly used applications may used
to determine an acceptable threshold value
Defect Tolerance
1.
2.
To Software’s customers, defect such as some typos
in message strings and in help text as well as minor
disparities between documented and actual behavior
or function will be tolerated until the next release. On
the other hand, they will not tolerate that alter or
destroy their works in progress or that adversely affect
their productivity such defects will likely drive them to
abandonee the products in favor of a product that may
be less robust but reliable. They consider defects such
as general exceptions, hangs, data corruption, and
long delays between operation to be intolerable
defects.
Metrics: number of defects by severity
Defect Impact
1.
•
Software’s customers see themselves as highly productive people who
prefer to work on several things at once. They often start several
applications on their workstations simultaneously, jumping from on to
another. Many of Software’s customers have had an experience where
they noticed that whenever they jumped from their word processor to a
particular vendor’s desktop publishing system, they had to wait several
minutes for the view to redraw. The desktop publishing system
developers decided to optimize memory usage, sacrificing view
redrawing performance. They assumed that most users would not switch
from application to application while using their product; consequently
view redrawing would be infrequent. To save memory, they decided to
save the current view on disk, retrieving it whenever they needed to
perform a redraw. This design decision saved a large amount of memory
but sacrificed redrawing performance. Though some users might
appreciate the designers’ effort to decrease memory usage, Software’s
customers view the resulting poor performance of view redrawing as a
major defect since it severely impacted their productivity.
No metrics may be requires as the other metrics “number of defects by
severity” my be used”