Professional Documents
Culture Documents
Software Quality Metrics - Research, Analysis and Recommendation
Software Quality Metrics - Research, Analysis and Recommendation
Software Quality Metrics - Research, Analysis and Recommendation
and Recommendation
Tsvetelina Mladenova
Department of Computer Systems and Technologies
University of Ruse
Ruse, Bulgaria
tsmladenova@uni-ruse.bg
Abstract - Software Quality Testing has always been a crucial According to Campbell, “If you aren’t measuring, you
part of the software development process and lately, there has aren’t managing” [13]. His statement is another
been a rise in the usage of testing applications. While a well- confirmation that the process of testing and the process of
planned and performed test, regardless of its nature – measuring the results, of which the quality indicators
automated or manual, is a key factor when deciding on the
come, is critical and necessary.
results of the test, it is often not enough to give a more deep
and thorough view of the whole process. That can be achieved Section II gives a concise overview of some quality
with properly selected software metrics that can be used for models and software metrics.
proper risk assessment and evaluation of the development. The reviewed models consist of factors and criteria
which are further classified into three categories of
This paper considers the most commonly used metrics when software quality metrics.
measuring a performed test and examines metrics that can be Section III reviews the most used quality metrics when
applied in the development process. evaluating a software project concerning the development
quality, software size and complexity, time of defects
Keywords - Software Quality Testing, testing metrics,
quality metrics, quality measurements, quality measurements fixing and the overall quality of the software.
The conclusion of the paper is given in section IV and
an idea for development of a tool for quality checks is
I. INTRODUCTION proposed in section V.
Software quality assurance (SQA) is a critical technique
II. REVIEW OF SOFTWARE QUALITY MODELS AND
in the software development and maintenance, which helps
METRICS
to achieve quality of the developed product or service [1].
The goal of every software development cycle is to meet A. Software Quality Models
the functional requirements, which are set at the beginning
of the project. Along with that, the developed software This section reviews four quality assurance models –
should meet some quality standards. Software quality (SQ) Boehm quality model [14], FURPS model [15], Dromey
evaluation is a process that should be done in every key model [16] and the ISO / IEC 25010 standard [17].
stage of the development so that the time of the
development itself is minimized, as well as the effort and Boehm’s quality model showed in TABLE I. examines
the cost [2]. seven factors that include portability, reliability,
Software Quality can be viewed as an aggregation of efficiency, usability, testability, understanding and
flexibility of software.
some quality factors. The more factors the project covers
the more it can be classified as successful. Of course, the TABLE I. BOEHM QUALITY MODEL
factors taken in consideration sometimes may vary from
project to project but in the second section, we will review
Factors Criteria
four quality models, which consist of several factors each.
Portability Self-contentedness, device independence
Every model is backed up by a set of criteria that should
be met in order for the quality factor to be accepted as Reliability Self-contentedness, accuracy, completeness,
affirmative. These models are in the basis of the metrics robustness, integrity, consistency
Efficiency Accountability, device efficiency, accessibility
that measure the quality and the overall achievement of the
software. Usability Completeness
Dijkstra said, “Program testing can be used to show the Human Accountability, communicativeness, self-
presence of bugs, but never to show their absence.” [3]. engineering descriptiveness, structuredness
The process of software testing itself is a complex, time- (testability)
consuming and mandatory for every software development Understanding Consistency, structured, conciseness
life cycle (SDLC). Many authors are considering the Modifiability Structured, augment ability
different approaches when testing ( [4] [5] [6] [7] [8] [9] (Flexibility)
[10] [11] [12]) – were they automatically testing
procedures, manual testing, testing based on the principal
of the black box, etc.
Authorized licensed use limited to: Miami University Libraries. Downloaded on June 14,2021 at 22:31:49 UTC from IEEE Xplore. Restrictions apply.
TABLE II. DROMEY QUALITY MODEL
efficiency, reliability, operability, security, compatibility,
Factors Criteria
maintainability, and portability.
Correctness Functionality, reliability
Internal Maintainability, efficiency, reliability The reviewed quality models have several factors, as
Contextual Maintainability, reusability, portability,
well as criteria, such as efficiency, reliability, functionality
reliability and performance. From the comparison of TABLE V. it is
Descriptive Maintainability, efficiency, reliability, clear that some of the models does not cover factors like
usability maintainability and security as the ISO standard does. The
FURPS model, on the other hand, covers the factor of
supportability and the Dromey model is the only model,
from the reviewed in this paper that considers the factors
TABLE III. FURPS QUALITY MODEL of reusability and interoperability.
Factors Criteria
TABLE V. COMPARISON BETWEEN THE QUALITY MODELS
Functionality Capabilities, security
Dromey FURPS ISO
Usability Consistency, user documentation, training Factors Boehm
/IEC
materials Usability yes yes
Reliability Frequency and security of failure, recoverability,
predictability, accuracy, mean time between Efficiency yes yes yes
failure
Performance Speed efficiency, availability, accuracy, Flexibility yes yes
throughput, response time, recovery time,
resource usage Testability yes yes
Supportability Testability, extensibility, adaptability,
maintainability, compatibility, configurability, Maintainability yes
serviceability, install ability, localizability
Reliability yes yes yes yes
Authorized licensed use limited to: Miami University Libraries. Downloaded on June 14,2021 at 22:31:49 UTC from IEEE Xplore. Restrictions apply.
Many authors review the importance of having and These types of metrics and measurements are observing
using a set of metrics. Some of the most notable the process of development. The can retrieve information
arguments are: about the defects found while programming the software,
• Metrics are used to improve the quality and in the project that is being developed now or in past
productivity of the products and thus increasing projects, and give results that can predict future problems.
the Customer Satisfaction [11] These metrics are also used when a team efficiency
• Different Metrics can be used for monitoring evaluation is needed.
when a process or a service is going-out-of-
control [11] 3) Product Metrics
• Metrics can improve the development of the The product metrics are the most extensive metrics from
product. the three categories. They consider the developed product
• Metrics can give a clearer idea about the state of itself and therefore are tested at the end of the development
the development team and its practices. phase. These metrics can include the size of the software,
• Metrics can be used to enhance the software measured by the Halstead’s metrics , the complexity of the
maintenance [19] program, measured by Cyclomatic Complexity Metrics,
the performance of the program – network load, database
load, etc.; accessibility and security metrics, metrics
III. ANALYSIS regarding the process of the test itself- test effort, test
efficiency, test effectiveness, etc.; and others.
A. Classification of Software Metrics
Figure 1 shows the three main categories of metrics -
B. Metrics examples and brief overview of well-known
project metrics, process metrics and product metrics. and used metrics
Every group has a set of different test types that can
measure the quality of every step of the development, as
the software metric can be applied to each software 1) Size and Complexity of Software
development phase and not only in the final stages [5]. The most notable size and complexity metrics are no
doubt the Halsted and Cyclomatic Complex Metrics.
a) Halsted Metrics
The Halsted Metrics, proposed in 1977, are a lexical
analysis of source code. It measures the vocabulary of the
software by a set of four formulas [ [3] [2] [4] [5]]:
Authorized licensed use limited to: Miami University Libraries. Downloaded on June 14,2021 at 22:31:49 UTC from IEEE Xplore. Restrictions apply.
the software meets the requirements and if the users can IV. CONCLUSION
work and orient themselves in it. Software metrics and measurement helps organizations
to have a better understanding about the development
3) Maintenance Metrics process, the risks and quality of their products and
The maintenance metrics consist of functional services. The examples of quality metrics in this paper
metrics, periodicity metrics, equipment metrics [21]. Most compared to the examples in the researched resources is
of this metrics are measured after the development of the just a small fraction of the possibilities that are available.
software and it is not uncommon that they measure the The purpose of this overview is to cover the main
results from other metrics, like the performance metrics. classification of quality metrics. The conducted research
Periodical monitoring of key-parts of the software can led to the conclusion that quality evaluating is an extensive
reduce the cost of defects fixing. process that should be done in every phase in the software
development. Along with the research of the available and
4) Security Metrics used metrics, a research about the current tools of
Security metrics helps organizations to verify that their measurement was made. At the moment of this writing,
security measures are complaint with a policy, identify there are numerous tools that provide the service of
security strengths and weaknesses and identify security software testing but there are far-less tools that can be used
trends [22]. for the conducting of a Quality Check Plan (QCP).
Some of the most notable metrics that should be
measured are: V. FUTURE WORK
• Mean-time-to-detect and Mean-time-to-respond As said in the conclusion, there are no tools for
• Number of users with the highest level of access comprehensive and detailed plan for quality checks and
• Number of attacks on monthly basis measures. The development of such tool can be useful for
organizations that want to track their development, costs,
5) Metrics regarding the process of software testing risks and defects.
The process of software testing is required for every A well-designed system can help organizations obtain
software or a service. Every company has their own all the information it needs to do the listed above activities,
methodologies and tools for evaluating tests. The metrics as well as improve its products, services, processes and
for test effectiveness and test efficiency does not measure customer contentment. For the development of such tool a
the software. Their concern is the tests themselves. There further, more detailed research is needed, to compile as
is a big possibility that there are no two software that can much as possible quality metrics, from which the
be measured with exactly the same tests. Therefore, the organizations can choose from when drawing up their
companies has to design, create and perform different QCPs.
tests. The indicators that can show if the test itself is well
designed and suitable can be measured with some of the ACKNOWLEDGMENT
metrics review in TABLE VI. [23]. This work/paper is supported by project 20-FEEA-01
“Methods and tools for multimedia content analysis, and
TABLE VI. TEST EFFECTIVNESS METRICS automated document and big data processing”, funded by
Metric Name Formula the Research Fund of the “Angel Kanchev” University of
Passed Test Cases Ruse.
∗ 100
Percentage
Authorized licensed use limited to: Miami University Libraries. Downloaded on June 14,2021 at 22:31:49 UTC from IEEE Xplore. Restrictions apply.
[5] E. Belachew, F. Gobena and S. Nigatu, "Analysis of [15] R. Grady, Practical spftware metrics for project
Software Quality Using Software Metrics," management and process improvement, Prentice
International Journal of Computational Science & Hall, 1992.
Application, vol. 8, 2018. [16] R. Dromey, "Concerning the Chimera (software
[6] S. U. Farooq and A. M. K. Quadri, "Software quality)," IEEE Software, vol. 1, pp. 33-43, 1996.
measurements and metrics: Role in effective [17] ISO / IEC 25010: Software Engineering - system and
software testing," International Journal of software quality requirement and evaluation
Engineering Science and Technology, vol. 3, no. 1, (SQuaRE) - system and software quality model,
pp. 671-680, 2011. 2011.
[7] A. Kaur, B. Suri and A. Sharma, "Software Testing [18] I. s. 1061, IEEE Standard for a Software Quality
product metrics - a survey," Proceedings of National Metrics Methodology, 1992.
Conference on Challenges & Opportunities in
[19] N. Joshi and P. Singh, "Role of Software Metrics on
Information Technology, 2007.
Software Quality," IJREAT International Journal of
[8] V. S. M. T. N. Khajuria, "Software Testing: A Error Research in Engineering & Advanced Technology,
Finding Technique," vol. 7, no. 2277-2723, p. 318, vol. 1, no. 5, 2013.
2018.
[20] T. J. McCable, "A complexy measure," IEEE
[9] M.-C. Lee and T. Chang, "Software Measurement Transaction on Software Engineering, pp. 308-320,
and Software Metrics in Software Quality," 1976.
International Journal of Software Engineerins and
[21] J. Rashid, T. Mahmood and M. W. Nisar, "A Study
Its Applications, vol. 7, no. 4, 2013.
on Software Metrics and its Impact on Software
[10] H. Maheshwari, I. Rana and P. Goswami, "A Quality," Technical Journal, University of
REVIEW OF TOOLS AND TECHNIQUES USED Engineering and Technology (UET) Taxila,
IN SOFTWARE TESTING," JETIR, vol. 6, no. 4, Pakistan , vol. 24, no. 1, 2019.
pp. 262-266, 2019.
[22] I. Alsmadi, M. Al-Kabi and A. Wahbeh, Website
[11] B. N. Premal and K. V. Kale, "A brief overview of Performance measurement: Process and Product
software testing metrics," International Journal of Metrics.
Computer Science and Engineering, vol. 1, no. 3/1,
[23] S. Seela and R. Yackel, "64 Essential Testing
pp. 204-211, 2011.
Metrics for Measuring Quality Assurance Success,"
[12] A. A. Sawant, P. H. Bari and P. M. Chawan, QASymphony Inc., [Online]. Available:
"Software Testing Techniques and Strategies," in https://www.qasymphony.com/blog/64-test-
International Journal of Engineering Research and metrics/. [Accessed January 2020].
Aplications {IJERA), 2012.
[13] L. K. Campbell, Software Metrics: Adding
Engineering Rigor to a Currently Ephemeral
Process, 1995.
[14] B. Boehm, J. Brow, M. Lipow, G. McLeod and M.
Merritt, Characteristics of software quality,
Amsterdam: North Holland Publishing, 1978.
Authorized licensed use limited to: Miami University Libraries. Downloaded on June 14,2021 at 22:31:49 UTC from IEEE Xplore. Restrictions apply.