Software Reliability and Quality Management: Version 2 CSE IIT, Kharagpur
Software Reliability and Quality Management: Version 2 CSE IIT, Kharagpur
Software Reliability and Quality Management: Version 2 CSE IIT, Kharagpur
13
Software Reliability and
Quality Management
Version 2 CSE IIT, Kharagpur
Lesson
33
Statistical Testing and
Software Quality
Management
Version 2 CSE IIT, Kharagpur
Statistical testing
Statistical testing is a testing process whose objective is to determine the
reliability of software products rather than discovering errors. Test cases are
designed for statistical testing with an entirely different objective than those of
conventional testing.
Operation profile
Different categories of users may use a software for different purposes. For
example, a Librarian might use the library automation software to create member
records, add books to the library, etc. whereas a library member might use to
software to query about the availability of the book, or to issue and return books.
Formally, the operation profile of a software can be defined as the probability
distribution of the input of an average user. If the input to a number of classes
{Ci} is divided, the probability value of a class represent the probability of an
average user selecting his next input from this class. Thus, the operation profile
assigns a probability value Pi to each input class Ci.
Software Quality
Traditionally, a quality product is defined in terms of its fitness of purpose. That
is, a quality product does exactly what the users want it to do. For software
products, fitness of purpose is usually interpreted in terms of satisfaction of the
requirements laid down in the SRS document. Although fitness of purpose is a
satisfactory definition of quality for many products such as a car, a table fan, a
grinding machine, etc. for software products, fitness of purpose is not a wholly
satisfactory definition of quality. To give an example, consider a software product
that is functionally correct. That is, it performs all functions as specified in the
SRS document. But, has an almost unusable user interface. Even though it may
be functionally correct, we cannot consider it to be a quality product. Another
example may be that of a product which does everything that the users want but
has an almost incomprehensible and unmaintainable code. Therefore, the
traditional concept of quality as fitness of purpose for software products is not
wholly satisfactory.
The modern view of a quality associates with a software product several
quality factors such as the following:
TQM goes a step further than quality assurance and aims at continuous process
improvement. TQM goes beyond documenting processes to optimizing them
through redesign. A term related to TQM is Business Process Reengineering
(BPR). BPR aims at reengineering the way business is carried out in an
organization. From the above discussion it can be stated that over the years the
quality paradigm has shifted from product assurance to process assurance (as
shown in fig. 13.4).
Fig. 13.4: Evolution of quality system and corresponding shift in the quality
paradigm