Metrics and Models in software testing
Metrics and Models in software testing
Metrics and Models in software testing
As a machine(input,output)
● Proformance
● Productivity
● Estimated cost
● Planing work items
Characteristics of metrics
Efficiency
Effectiveness
Act as indicators
➔ Product Metrics
◆ Size (MBs, GBs)
◆ Complexity
◆ Design features
◆ Performance
◆ Efficiency, Reliability & Portability
➔ Process Metrics
◆ Effort required in the process
◆ Time need to produce the product
◆ Effectiveness of defect removal
◆ Number of defects found during testing
◆ Maturity of the process
Product Metrics for Testing
1. Coupling
2. Cohesion
3. Complexity
Coupling
Metrics
● increase complexity
● potential reuse
● maintainability
● Time
● Quality of Source Code
● Source Code Coverage
● Test Case Defect Density
● Review Efficiency
Time
We may measure many things during testing with respect to time and some of
them are given as:
Many models:-
● Focus on failures rather than faults.
● Time of failure and time between failures may help us to find reliability
of software.
Most of the model based on:-
● Execution time
Model on Execution time is
● Basic execution time model.
● Logarithmic poisson execution time model.
● The Jelinski Moranda model
Basic execution time model
This model was established by J.D. Musa in 1979, and it is based on execution time. The basic
execution model is the most popular and generally used reliability growth model, mainly
because:
The basic execution model determines failure behavior initially using execution time. Execution
time may later be converted in calendar time.
Logarithmic poisson execution time model
● The model incorporates both execution time and calendar time components,
each of which is derived.
● The model is evaluated, using actual data, and compared with other models.
● When execution time is more, the logarithmic poisson model may give larger
values of failure intensity than the basic model.
The Jelinski-Moranda (J-M) model
● The Jelinski-Moranda (J-M) model is one of the earliest software reliability models.
● Many existing software reliability models are variants or extensions of this basic
model.
Assumptions
● The number of initial errors is unknown but fixed and constant.
● Each error in the software is independent and equally likely to cause a
failure during a test.
● The software failure rate remains fixed over the ranges among fault
occurrences.
● The failure rate is corresponding to the number of faults that remain in
the software.
● A detected error is removed immediately, and no new mistakes are
introduced during the removal of the detected defect.
● Whenever a failure appears, the corresponding fault is reduced with
certainty.
Characteristics
In order to validate the findings of our analysis, we use commonly used evaluation
measures:-
● Sensitivity
● Specificity
● Completeness
● Precision
● ROC analysis
Sensitivity
The ratio of number of classes correctly predicted as fault prone to the total number of
classes that are actually fault prone.
The number of faults in classes classified fault-prone divided by total number of faults in the
system.