<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Coverage analysis method using quality characteristics</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Daiju Kato</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nihon Knowledge Co.</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ltd. Tokyo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Japan d-kato@know-net.co.jp</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Tokyo Metropolitan University Tokyo</institution>
          ,
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <abstract>
        <p>- Requirement of Must-Be Quality for software has changed over time, and the awareness of software quality has become increasingly strong. Therefore, an objective and easyto-understand method for analyzing software quality is necessary. By utilizing SQuaRE (ISO/IEC 25000 series) in software development projects, it is possible to proceed with software development with comprehensive quality in mind. However, in order to utilize these quality characteristics, the project is needed to have traceability of quality in various phases or sprints. Therefore, analyzing the quality using by various evidence under development project provides an effective means of explanation of the quality logically and enables us to judge the quality under standard rules. In this paper, we propose a quality coverage analysis method using quality characteristics for software within a general software lifecycle. (Abstract) quality software engineer, quality characteristics,SQuaRE (key words)</p>
      </abstract>
      <kwd-group>
        <kwd>Keywords-</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        The Kano Model[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is a type of customer satisfaction
model and the model uses data obtained from questionnaires
to rank product quality (function and performance) in terms
of attractiveness (differentiation) and affordability
(indispensability), etc., to visualize the characteristics of
products from the customer's point of view and stimulate
discussion in design and development.
      </p>
      <p>In the world of software, I feel that this Kano model of
quality has been broadly interpreted and used in the same way
as minimum requirement of quality. However, we believe that
this quality requirement is changing with the times like below
bullet. The quality characteristics in parentheses at the end
indicates those that match the product quality.</p>
      <p>• Quality that was commonplace 10 years
ago
-Functions work correctly as required (Functional
Suitability)
-No response problems (Performance Efficiency)
• Quality that is commonplace today
-Safe to use (Security)
• Quality as a matter of course in the future
Hiroshi Ishikawa
-Quality with the user in mind (Effectiveness
Quality in Use-)
-Safe and secure to use (Freedom for risk – Quality
in Use-)
*Quality characteristics in parentheses</p>
      <p>
        Ten years ago, Must-Be Quality indicated that a function
worked exactly as required and that there were no
performance issues. However, this alone is worrisome in a
world where a variety of devices are connected to the Internet.
Every week, numerous cyber incidents are distributed by the
CERT Coordination Center[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] , and Microsoft delivers
security updates on the second Tuesday of every month[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In
addition, antivirus patterns are being delivered by anti-virus
software vendors quickly. The ability to use software with
peace of mind, i.e., to use software without being aware of
vulnerabilities and security as well as features and
performance, has become a minium requirementment of
quality these days.
      </p>
      <p>
        ISO/IEC 25010[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] defines two quality models. A system
must meet the explicit and implicit needs of the various
people who use the system, called stakeholders, and
satisfying them is considered to be quality. This quality is
categorized by characteristics, and the standard defines two
models: product quality and Quality in Use. There are other
data quality models defined in ISO/IEC 25012[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], which
defines the quality of the data used in the system.
      </p>
      <p>The quality model consists of characteristics and
subcharacteristics that make up the characteristics. The product
quality model classifies the quality of a software or system
product into eight characteristics. This product quality
provides the 'quality of things'. It means the quality of a thing
because it is a quality that the product itself has.</p>
      <p>On the other hand, quality in use is the quality that people
receive or feel when they use the product. It is called as "user
quality" and it is a quality that is perceived mainly by the user.
Quality in use is closely related to product quality, and quality
in use will not improve unless product quality is exhaustive.</p>
      <p>SQuaRE consists of five divisions and defines the means
to achieve quality-conscious software development, Figure.1.
Utilizing SQuaRE in your development projects will enable
you to develop software with quality characteristics in mind.</p>
      <p>
        However, to make full use of quality characteristics,
SQuaRE can be used from the quality requirement phase of a
development project, or all test work must have test cases or
test criteria that are mapped to quality characteristics to
classify the ensured quality into quality characteristics. Since
quality characteristics provides essentially a classification of
quality, they are effective in measuring the coverage of the
quality of the final product. Therefore, we developed a
method to achieve coverage analysis of quality with
classification of the quality of software during a development
project with ISO/IEC/IEEE 12207 [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and ISO/IEC/IEEE
15288[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Those standards define software life cycle model
and classification of activity at development process with
mapping of product quality characteristics.
      </p>
      <p>This section proceeds with the quality coverage analysis
from the following artifacts created in a typical software
development project.</p>
      <p>• Project plan and test plan
• Various documents: requirement spec,
design spec, test cases and test procedures
• Bug information during the project
• Review results and Test analysis report
• Software and test data
The project plan generally describes goal of the quality
requirements. Also, the document indicates how to fulfill the
quality requirement even though the project use waterfall
development process or agile process. The project plan
includes test process to list the test types to be conducted and
will contain the idea of the criteria for each test type.</p>
      <p>Since the quality requirements written in the project plan
are the quality goals of the final deliverable software, it is
possible to define the required quality by classifying the
quality requirements by quality characteristics. It is necessary
to analyze both the process and the deliverables to see if the
developed software has the quality that is the goal.</p>
      <p>
        The first step to find out if the process was a
qualitybuilding process is to find out which quality characteristics
the various activities during the project have an effect on.
Although it is very time-consuming to do this task from
scratch, ISO/IEC 30130[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] summarizes which quality
attributes are mapped to various activities, TABLE 3. For
example, ‘Test Design’ described in the first part of this table
is work for all quality characteristics and the second ‘Risk
Base Priority’ is work for functional suitability, reliability and
performance efficiency.
      </p>
      <p>Table 1 shows the results of mapping common test types to
quality characteristics. You can refer to this table to map the
quality characteristics of the test types written in the test plan.</p>
      <p>From the above approach, it will be possible to summarize
which quality characteristics the development project is
performing for from the activities listed in the project plan or
sprint plan and the test plan.</p>
    </sec>
    <sec id="sec-2">
      <title>MAPPING QUALITY CHARACTERISTICS TO</title>
      <p>REQUIREMENTS</p>
      <p>The next step is to map the quality requirements to quality
characteristics to identify the quality that the final product, the
software, will require. If the quality requirements are not clear,
it is a good idea to categorize them into functional
requirements, performance and load requirements, user
interface requirements, etc., and map each requirement to a
quality characteristic. If there is a service specification, the
listed items can also be classified as quality characteristics.</p>
      <p>Maintainability requirements are generally not included in
requirement definitions. Of course, You can refer to the
project plan or project rules to determine how software
maintenance will be performed. The quality characteristic
probably contains coding style rules for programming or
testing way for using some stab or debugging technique.</p>
      <p>Ideally, the requirements derived from each requirement
should also be classified as a quality characteristic. Typically,
requirement items are mapped to a single quality
characteristic so that the requirements required by the final
product, the software, can be counted for each quality
characteristic. Since the number of man-hours of
classification work increases proportionally with the size of
the software, requirements can be sampled or, at worst, only
requirements can be classified into quality characteristics.</p>
      <p>CREATING A COVERAGE ANALYSIS OF QUALITY</p>
      <sec id="sec-2-1">
        <title>Development</title>
        <p>Quality Requirement
Mapping to Activity
Design/Manufacture/Test
Activity during project
Mapping to PQ
Mapping to PQ
Review Criteria
Review Results
Bug Reports
Reference
Reference</p>
      </sec>
      <sec id="sec-2-2">
        <title>Evidence of built in quality</title>
        <p>This work completes the classification of quality
characteristics of the quality required for the software.</p>
        <p>IV.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>MAPPING VARIOUS EVIDENCE TO QUALITY</title>
    </sec>
    <sec id="sec-4">
      <title>CHARACTERISTICS</title>
      <p>Then, classify all the review evidence over the life of the
project, e.g., design reviews, code reviews, test design
reviews, etc., into quality attributes. Rather than simply
mapping activities to quality attributes, we classify criteria
into quality attributes. For example, in the case of API design,
the criteria and review reports show whether the reviewers
check not only the implemented functionality itself, but also
error sequencing and recovery methods, performance and
load considerations, authentication methods, and
vulnerability responses and so on.</p>
      <p>The findings that are identified and corrected during the
review are also classified by quality characteristics. Corrected
bug information is important evidence to ensure the quality of
the corresponding quality characteristic.</p>
      <p>Finally, we refer to the criteria for each test type performed
to see if the quality characteristics mapped to the test type are
ensured by having met the criteria. For example, suppose the
criteria are set for performance testing, Table 2. If the criteria
are too vague to map the quality characteristics of the criteria,
the test cases are checked and classified. In addition, bugs
found and fixed in the test as well as in the review report are
classified according to each quality characteristic to check
whether the quality characteristics are maintained or not.
Software</p>
      <p>Checking of PQ</p>
      <p>Mapping to PQ
Test Criteria
Test Reports</p>
      <p>Once all the classification work for completeness analysis
using quality characteristics is completed, the results of
categorizing the quality requirements are compared with the
results of categorizing the final deliverable, the software, to
ensure that the quality is on target. The broad analysis is
determined by using a radar chart as like Figure 3 to visualize
the differences between requirement and results.</p>
      <p>The areas that have a large difference between
requirements and results indicate possibility of the unclear
qualities, which can be pursued by checking the specific
classified results and investigating the causes.</p>
      <p>In general, functional conformance requirements are often
fulfilled. But reliability is not ensured if the scope of impact
of a bug fix is not adequately checked or if the functional
conformance test is not re-run even though effect of fixed
some bug found in a test related to performance efficiency has
an impact on functionality. It is also a good idea to analyze
whether their impact on relevant quality characteristics has
been verified or not, when the bugs which are classified as
non-functional conformance have been fixed.</p>
      <p>If there is a large difference between the two, you can run
some of the tests and check the results of the analysis with
your team members to improve the validity of the results.
Coverage Analysis</p>
      <p>Functional
Suitability
20
15
10
5
0
Usability</p>
      <p>Results
Maintenability</p>
      <p>Security
Requirement</p>
      <p>Performance
Efficiency
Compatibility
Portability
Reliability</p>
      <p>Quality characteristics enable us to objectively and
logically classify the quality of software product, and conduct
an exhaustive analysis of whether the quality requirements
are being met or not. Although it is most desirable to use
SQuaRE from the beginning of a development project, quality
analysis using quality characteristics can be performed even
after the project is over by using the method described here.
In addition, it is possible to identify the quality that is
considered to be unsecured from the analysis results, and
therefore, it is also possible to consider policies for
strengthening weaknesses.</p>
      <p>Thus, quality comprehensiveness analysis using quality
characteristics not only visualizes the quality of software, but
it is also effective as a means to improve quality.</p>
      <p>It is also possible to classify test techniques, process
transfer criteria and test reports in sprints by quality
characteristics. In the case of derived development, it is
possible to judge the appropriateness of quality quantitatively
for each quality characteristic by using quality data from past
development and quality characteristic quantities defined in
ISO/IEC 25022. We intend to further improve the quality
comprehensiveness analysis method using these quality
characteristics so that it can be used as a quality monitoring
method that enables objective visualization of quality.</p>
      <p>SUMMARY OF CAPABILITIES WITH CHARACTERISTICS IN ISO/IEC 30130
Granularity
Input for Code Test Test Quality Test Ver if
code analysis plan asset record completio ication
analysis report n report and
validation</p>
      <p>Test Functional Reliability Usability Performance Maintain Portability Compatib Security Smallest Intermedia Largest
status suitability efficiency ability ility unit te units unit
report
〇
〇
〇
〇</p>
      <p>〇
〇
〇
〇
〇
〇
〇
〇</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Kano</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seraku</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Takahashi</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tsuji</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          : Attractive Quality and
          <string-name>
            <surname>Must-Be</surname>
            <given-names>Quality</given-names>
          </string-name>
          ; Quality Vol.
          <volume>14</volume>
          (
          <issue>2</issue>
          ),
          <fpage>pp147</fpage>
          -
          <lpage>156</lpage>
          , JSQC,
          <year>1984</year>
          , (Japanese)
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>CERT</given-names>
            <surname>Coordination Center</surname>
          </string-name>
          , https://www.sei.cmu.edu/about/divisions/cert/index.cfm
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Microsoft</given-names>
            <surname>Security Update Guide</surname>
          </string-name>
          , https://portal.msrc.microsoft.com/en-us/security-guidance
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4] ISO/IEC 25010:
          <article-title>Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models (</article-title>
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5] ISO/IEC 25012:
          <article-title>Software engineering - Software product Quality Requirements and Evaluation (SQuaRE) - Data quality model(</article-title>
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6] ISO/IEC/IEEE 12207:
          <article-title>Systems and software engineering - Software life cycle processes(</article-title>
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7] ISO/IEC/IEEE 15288:
          <article-title>Systems and software engineering - System life cycle processes(</article-title>
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Kato</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Okuyama</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ishikawa</surname>
          </string-name>
          , H. :
          <article-title>Introduction of test management based on quality characteristics</article-title>
          ,
          <source>IWESQ</source>
          <year>2019</year>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Kato</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ishikawa</surname>
          </string-name>
          , H. :
          <article-title>Develop Quality Characteristics based quaity evaluation process for ready to use software products</article-title>
          ,
          <source>JSE-2016</source>
          , February,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Kato</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Okuyama</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ishikawa</surname>
          </string-name>
          , H.:
          <article-title>Use proactive evaluation process for 'Quality in Use'</article-title>
          ,
          <source>Seventh World Congress for Software Quality</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>