Solutions Manual Software Quality Assura
Solutions Manual Software Quality Assura
Solutions Manual Software Quality Assura
Software Quality
Assurance
From Theory to Implementation
Daniel Galin
ISBN 0273705660
1
© Pearson Education Limited 2005
Pearson Education Limited
Edinburgh Gate
Harlow
Essex CM20 2JE
England
ISBN: 0273705660
All rights reserved. Permission is hereby given for the material in this
publication to be reproduced for OHP transparencies and student handouts,
without express permission of the Publishers, for educational purposes only.
In all other cases, no part of this publication may be reproduced, stored
in a retrieval system, or transmitted in any form or by any means, electronic,
mechanical, photocopying, recording, or otherwise without either the prior
written permission of the Publishers or a licence permitting restricted copying
in the United Kingdom issued by the Copyright Licensing Agency Ltd.,
90 Tottenham Court Road, London W1T 4LP. This book may not be lent,
resold, hired out or otherwise disposed of by way of trade in any form
of binding or cover other than that in which is it is published, without the
prior consent of the Publishers.
2
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Contents
Part I: Introduction 5
Chapter 1: The software quality challenge 6
Chapter 2: What is software quality? 15
Chapter 3: Software quality factors 25
Chapter 4: The components of the software quality assurance system – overview 40
3
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
4
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Part I
Introduction
5
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
CHAPTER 1
Review questions
1.1
There are three major differences between software products and other industrial
products.
Solution
1. Software products differ from other industrial products with respect to the
following characteristics:
– Product complexity – a typical software product allows tens of thousands of
operational options. Typical industrial products and even advanced industrial
products do not reach this level of variety of options.
– Product visibility – since software products are invisible, defects in the
software are not visible unless testing procedures are applied. In contrast,
industrial products are visible and most defects are visible to the production
team by changes in color or shape. Even non-professionals can observe color
changes that reveal defects in chemical and food products, or the changes in
shape or structure that reveal defects in household products.
– Development and production process – Defects in industrial products usually
occur during each stage through which the product has to pass, namely
development, product production planning, and manufacturing. At each stage the
product is examined and tested independently by a different team. In contrast,
software products are examined and tested during the development stage only.
The product production planning and the manufacturing stages deal mainly with
the duplication and packaging of the software product without contributing to
the detection of software defects.
2. The first characteristic, product complexity, makes the task of quality assurance for
software much more difficult, as the product must function correctly for all of the
defined options, even those that are highly complicated and rarely used. The other
two characteristics make software defects more difficult to detect. The combined
effect of these software characteristics creates a situation in which software
developers cannot be certain that the software product they supply is defect-free.
6
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
1.2
It is claimed that no significant SQA activities are expected to take place during the
phase of production planning for software products.
2. Compare the required production planning for a new automobile model with the
production planning efforts required for the new release of a software product.
Solution
This review question refers mainly to the issues discussed in review question 1.1, but
whereas question 1.1 compares a software product to an industrial product, this review
question focuses on a comparison between the software product development process
and the development process of an industrial product.
1. This claim is correct. The product production planning stage and the manufacturing
stage in the case of software products deal mainly with duplication and packaging of
the product, with no activities of review or testing of the software code. Therefore, it
is not expected that software defects will be detected at these stages.
1.3
Solution
1. The characteristics of the software development and maintenance environment are:
– Contract conditions and commitments defining content and timetable.
7
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
2. Each of the abovementioned characteristics affects both the professional and the
managerial efforts, though usually to differing extents. The following characteristics
affect mainly the professional side:
– Contract conditions defining content – the need to prepare a document listing
functional and other requirements of the project.
– Conditions of the customer−supplier relationship – the need to maintain
ongoing contacts with the customer’s professionals for presentations of
development products, consultations with the customer, and securing customer
approval of the development products.
– Teamwork requirements – the need for the team leader to take responsibility
for professional instruction of the team members and checking of their products.
– Cooperation and coordination with other software and hardware
development teams both internally and externally – the need to understand
the tasks performed by other teams to the extent that enables proper professional
communication.
– Interfaces with other software systems – the need to acquire familiarity with
the interfacing standards or interfacing design of equipment units and/or
software packages.
8
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
1.1
Educational systems are assumed to prepare the students to cope with real life
conditions. Examine the procedural requirements of a software development project or
final software project, and determine what of the requirements could be considered as
preparatory to professional life situations as discussed above.
Solution
Only part of the software development environment can be practiced within the
framework of educational systems.
Let us examine this issue with reference to each of the seven environmental
characteristics:
• Need for cooperation and coordination with other software and hardware
development teams both internally and externally. This is usually not applicable in
students’ projects.
• Need for interfaces with other software systems. This is applicable in some cases.
• Need for continuity in carrying out a project when team members change. This is
usually not applicable in students’ projects.
• Need for ongoing maintenance of the software system over several years. This is
usually not applicable in students’ projects.
1.2
9
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
future is expected to be higher or lower when compared with the current performance of
these activities.
Solution
• Contract conditions and commitments defining content and timetable.
Customers can be expected to be much more demanding with respect to full
implementation of functional and other requirements. Typical time schedules for
similar development projects are expected to be substantially shorter than those
currently allowed.
• Need for cooperation and coordination with other software and hardware
development teams both internally and externally. These characteristics will
become increasingly critical for the successful handling of projects. More
comprehensive standardization will facilitate more effective coordination and
cooperation.
• Need for interfaces with other software systems. The number of interfaces and
the intensity of their use can be expected to increase. More comprehensive
standardization of interfaces between software systems and between software and
hardware will facilitate more effective development of interfaces.
• Need for continuity in carrying out a project when team members change. No
significant change is expected.
• Need for ongoing maintenance of the software system over several years. No
significant change is expected.
1.3
1. Suggest what are the main benefits of applying computerized interfaces instead of
transferring printouts.
4. Suggest additional situations where the use of input and output interfaces is not
applied and should be recommended.
10
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
5. Would you advise all information transfers from one organization to another be
performed by computerized interface? Discuss the reasons behind your answer.
Solution
1. The main benefits are:
– Reducing the time period required to handle the input and update the system’s
database, and contributing to better up-to-dateness of the information provided
by the system.
– Drastically reducing the percentage of input errors, thus significantly improving
the accuracy and completeness of the system’s outputs.
– Drastically reducing the human resources required to handle the input, both for
keying in the input data and for correcting identified errors. This reduction will
significantly reduce the costs of handling the input.
2., 3. A software interface serves two software systems, since it serves as an output
interface for one and as an input interface for the other. Let us examine the
following two examples:
Centralized price update Head office price and sales Store’s point-of-sale system
procedure for a network of management system
stores
4. Another example: Interface between a personal computerized health log system and
a clinic’s computerized information system. The computerized personal health
system would probably be encapsulated as a “smart card”, whose database includes
11
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
personal medical records. The clinic’s system allows the medical staff to decide on
the treatment needed by the patient, and to record diagnoses, medical treatments,
medications, etc. A standard interface between personal health log systems and the
clinic’s information system, stationed in clinics, hospitals, first aid centers, etc., is
required in order to benefit from the medical information it provides. The service
provided by this two-way interface is summarized in the following table:
1.4
The need to carry out work by a team demands additional investment in coordination of
the team members. Discuss whether these managerial efforts could be saved if the work
were performed as a “one-man job”.
Solution
Teamwork obviously requires a team leader, who needs to spend much time on
coordination among the team members, so that the work done by each of them can be
assembled into a unified software system. The costs of these activities are overheads to
software development costs. Obviously these extra costs are negligible by operating via
a “one-man show”. It should be emphasized, however, that a substantial part of a team
leader’s time is invested in checking the work of the team members. If the project is “a
one-man show” the task of checking still needs to be performed by another member of
the staff, possibly the head of department.
12
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
1.5
It is clear that a software development project carried out by a software house for a
specific customer is carried out under content and timetable obligations, and is subject
to the customer–supplier relationship.
3. Some managers claim that the closer relationships are to a formal pattern, the greater
the prospects are for the project’s success. Discuss whether implementing customer-
supplier relationships in the situations mentioned in (1) and (2) are a benefit for the
company (referring to the internal customer and supplier) or an unnecessary burden
to the development team.
Solution
1. In the development of COTS (commercial off the shelf) software packages, the
customer is the marketing department that initiates and approves the development
project.
It might be claimed that a formal atmosphere among the internal parties to the
project will reduce the creativity of the development team.
1.6
It has been claimed that environmental characteristics create the need for intensive and
continuous managerial efforts parallel to the professional efforts that have to be invested
in order to ensure the project’s quality or, in other words, to assure the project’s success.
Discuss the reasons behind this claim, including an analysis of the managerial effort
created by each of the SQA environmental characteristics.
13
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Solution
The characteristics of the managerial environment in software development and
maintenance are discussed in Review question 1.3, section (3).
– Need for continuity in carrying out a project when team members change.
Management needs to recruit, sometimes at short notice, a replacement team
member having the professional knowledge and experience similar to those of a
departing team member.
– Need for ongoing maintenance of the software system over several years.
Whereas professionals engaged in a development process may resign from the
company without being obliged to complete their work, management personnel are
usually committed to these projects over relatively long periods. It is the duty of
management to ensure the constant availability of updated documentation on the
software system during this period, and to keep the professional team well
acquainted with the software system and capable of carrying out maintenance tasks
at short notice.
Proper managerial support, as discussed above, allows the professional teams to focus
on the functional requirements of the project.
14
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
CHAPTER 2
Review questions
2.1
Solution
1. The four components of a software system are:
• Computer programs (the “code”)
• Procedures
• Documentation
• Data necessary for operating the software system.
2. The contributions of these components to the quality of developed software are:
• Computer programs (the “code”) – obviously, its quality is the basic component
for the quality of services and functionality of the software product.
• Procedures which define the methods of the program development process, i.e.
software development planning procedure, design review procedure, software
testing procedure and progress control procedure, contribute to the quality of the
software product.
• Development documentation (the requirements report, design reports, program
descriptions, software testing plan, etc.) allows efficient cooperation and
coordination amongst the development team members, easier replacement of any
team member who leaves the team and efficient reviews and inspections of the
design and programming products.
• Data, including parameters and code lists that adapt the software to the
specifications as well as test case files are necessary for testing the software
before completion of the development process is possible.
3. The contributions of these components to the quality of maintenance services are:
15
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
• Computer programs (the “code”) – obviously, its quality is the basic component
for the quality of services and functionality of the software product.
• The procedures that accompany the software system deal with both, the regular
operation of the software system and its maintenance. The regular software
operational procedures define the method of program employment and the
responsibilities for performing input processing, output processing and control
activities. The maintenance procedures define the processes and responsibilities
for the correction of “bugs”. Another group of procedures deals with changes
and improvements of programs, their approval and performance. The quality of
these types of procedures contributes to the quality of services the software
system provides.
• Documentation supports both users and maintenance professionals. The user’s
documentation (the “user’s manual” etc.) provides a description of the available
applications and the appropriate method for their use. Their quality is a major
factor regarding the ability of users to successfully and efficiently apply the
software applications. The maintenance documentation (the “programmer’s
software manual”, etc.) provides the maintenance team with all the required
information about the code and the structure and tasks of each software module.
This information is used when trying to locate causes of software failures
(“bugs”) or to change or improve an existing software system.
• Data including parameters code lists that adapt the software to the needs of the
specific user are necessary for operating the software. Another type of essential
data is the standard test data, used to ascertain that no undesirable changes in the
code or software data have occurred and to determine what kind of software
malfunctioning can be expected.
2.2
1. Define software error, software fault and software failure. Explain the differences
between these undesirable software statuses.
2. Suggest a situation where a new type of software failure (“bug”) appears in a
software package that has been serving 300 clients for the first time six years since
the software package was first sold to the public.
Solution
1. A software error can be a grammatical or logical error in trying to comply with one
or more of the client’s requirements included in one or more of the code lines.
A software fault is a software error which can cause improper functioning of the
software in general or of a specific application.
A software failure is a failure that has been “activated” and causes improper
functioning of the software as a whole or of a specific, faulty application.
2. Let’s refer to a meteorological application based on remote measuring stations; in this
case the remote unit is required to initiate a protective closing operation that prevents
16
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
2.3
1. List and briefly describe the various causes of software errors.
2. Classify the causes of error according to the groups responsible for the error: the
client’s staff, the systems analysts, the programmers, the testing staff – or is it a
shared responsibility belonging to more than one group?
Solution
1. Nine causes of software errors are listed:
a. Faulty definition of requirements
The faulty definition of requirements, usually prepared by the client, is one of
the main causes of software errors. The most common errors of this type are:
erroneous definition of requirements, absence of vital requirements, incomplete
definition of requirements and inclusion of unnecessary requirements.
b. Client-developer communication failures
Misunderstandings resulting from defective client-developer communication are
additional causes of errors. Typical situations: Misunderstanding of the client’s
instructions relating to the requirement document and to changes requested
either written or orally by the client. Additional misunderstandings are failures
to understand and to give the needed attention to the client’s response to design
problems raised by the development team.
c. Deliberate deviations from software requirements
In several circumstances, developers may deliberately deviate from the
documented requirements, often causing software errors. Common situations of
this type: reuse of software modules taken from an earlier project, omission of part
of the required functions in an attempt to cope with time or budgetary pressures
and developer-initiated improvements, introduced without the client’s approval.
d. Logical design errors
Software errors of this type are mainly failures of systems architects, software
engineers, systems analysts, etc., to formulate the software requirements into the
proper algorithms, boundary conditions, omission of required system states, etc.
e. Coding errors
The reasons that cause programmers to make coding errors include
misunderstanding the design documentation, linguistic errors, errors in the
application of CASE, other development tools, and so forth.
f. Noncompliance with documentation and coding instructions
One may ask why noncompliance with coding instructions should cause
17
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
The group responsible is marked in the following table. Some of the errors are of
shared responsibilities.
b. Client-developer communication R R
failures
e. Coding errors R
h. Procedure errors R R
18
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
2.4
1. What are the differences between the IEEE definition of SQA and the expanded
definition used in this book?
Solution
• Life cycle phase. The IEEE SQA definitions referring to the software are limited to
the development phase, while the expanded SQA definition covers the whole software
life cycle, namely the development phase and maintenance during operation phase.
• Subjects included. The IEEE SQA definitions are limited to the technical aspects
of the functional requirements, while the expanded SQA definition also includes
activities dealing with scheduling and the budget of software development and
maintenance.
2.5
Mr Johnson is a customer of the Adams and Lincoln stores belonging to the Eiffel chain
(See section 2.3). His purchase records and returned goods records are as follows:
Returned Returned
Month Purchases goods Purchases goods
($000) ($000) ($000) ($000)
19
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
1. Find for which of the months – Jan. 2001, Feb. 2001 or Mar. 2001 – does Mr
Johnson qualify for the 5% discount? What is the sum discounted? Calculate
according to the correct procedure.
2. According to the erroneous procedures, find for which of the months – Jan. 2001,
Feb. 2001 or Mar. 2001 – does Mr Johnson qualify for the 5% discount in the
Adams store and in the Lincoln store? What is the sum discounted?
Solution
1. Correct calculations of Mr Johnson’s discount
Mar 2000 10 -- 30 10 40 10
May 2000 30 -- 20 -- 50 --
Jun 2000 60 20 30 10 90 30
Jul 2000 10 -- 40 -- 50 --
Aug 2000 60 5 10 -- 70 5
Sep 2000 20 -- 20 5 40 5
Oct 2000 20 5 40 10 60 15
Nov 2000 40 -- 20 -- 60 --
Mar 2001 20 5 40 10 60 15
20
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
March 2001 No No 0 0
Mar 2000 10 -- 30 10
Apr 2000 80 5 50 10
May 30 -- 20 --
2000
Jun 2000 60 20 30 10
Jul 2000 10 -- 40 --
Aug 2000 60 5 10 --
Sep 2000 20 -- 20 5
Oct 2000 20 5 40 10
Nov 2000 40 -- 20 --
Jan 2001 30 10 40 --
Feb 2001 60 5 30 5
Mar 2001 20 5 40 10
21
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Adam and
Lincoln Adams Store Lincoln Store
Chain
Let us now compare the results in the case of a company that determines a customer
whose purchases are $900,000 or more in the last 12 months is entitled to the
discount, unless his returns rate for the last 3 months exceeds 10%.
March 2001 No No 0 0
22
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Adam and
Lincoln Adams Store Lincoln Store
Chain
23
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
2.6
According to the IEEE definition of SQA, quality control (QC) is not equated with
quality assurance (QA).
Solution
1. Both QC and QA have a common objective, namely to bring the quality of a
software product to a required controlled level. However QA has an additional
important objective – to achieve the aforementioned basic objective, while
minimizing the costs of quality. Thus, QC varies from QA by the scope of tools
applied. QC focuses on evaluating the quality of a developed product by inspection
and testing, and withholding of the software product until the detected errors are
repaired and the software product qualifies.
The objective of quality assurance is to minimize the cost of guaranteeing quality by
a variety of activities performed throughout the development and maintenance
processes, and by adding activities that prevent the causes of errors and extensively
applying them to detection and correction activities early in the development
process.
2. As evaluation activities of the software product that comprise QC are a major part of
QA (the other major part being prevention activities), consequently QC is a part
of QA.
2.7
2. If yes, show how the objectives of SQA activities aim at the implementation of the
SQA concepts.
Solution
1. Obviously, there is a correspondence.
2. In order to examine the conformance, I will refer to the components of the SQA
expanded definition. The continuous improvement activities are directed to affect
the productivity and effectiveness of efficiency of all processes carried out
throughout the software life cycle (development and maintenance), and are marked
in the table accordingly.
24
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
The following table presents the correspondence between the objectives of SQA
activities and the SQA expanded definition.
Components of the Assure Assure Initiation and Assure Assure Initiation and
conformance conformance management conformance conformance management
expanded SQA to functional to managerial of activities to functional to managerial of activities
definition technical scheduling for the technical scheduling for the
requirements and improvement requirements and improvement
budgetary budgetary
requirements requirements
1. Systematic and X X X X X X
planned activities
2. Conformance with X X
functional
development
requirements
3. Conformance with X X
functional technical
requirements of
maintenance process
4. Keeping schedule X X
and budgetary
requirements of the
development process
5. Keeping schedule X X
and budgetary
requirements of the
maintenance process
2.1
A programmer claims that because only a small proportion of software errors turn into
software failures, it is unnecessary to make substantial investments in the prevention
and elimination of software errors.
Solution
1. Considering the damage caused by software errors, one must invest as much effort
as possible in eliminating software errors to reduce these damages to a minimum.
25
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Like the manufacturing industries, the target and aspiration of the software industry
is to achieve “zero defect” quality.
2. Some possible outcomes of the “no investments in errors prevention and detection”
policy:
– Lack of control over the extent of possible failures especially of severe failures.
– A software failure may threaten a patient’s life or a soldier in combat.
– Software failures are not limited to user’s waste of time until the failure is
repaired, but cause damage to other systems. An example: failure of the software
system that processes shipping documents not only causes loss of time of the
shipping clerk but also loss of time of the warehouse team, truck drivers and
others.
– Software failures occur at unexpected times and can cause maximum damage. In
addition to failures that occur during the running-in of the software system and
during the first period of operation of the new software system, a situation
causing an increase in software failures may occur even after a few years.
2.2
George Wise is an exceptional programmer. Testing his software modules reveals very
few errors, far fewer than the team’s average. He keeps his schedule promptly, and only
rarely is he late in completing his task. He always finds original ways to solve
programming difficulties, and uses an original, individual version of the coding style.
He dislikes preparing the required documentation, and rarely does he do it according to
the team’s templates.
A day after completing a challenging task, on time, he was called to the office of the
department’s chief software engineer. Instead of being praised for his accomplishments
(as he expected), he was warned by the company’s chief software engineer that he
would be fired unless he began to fully comply with team’s coding and documentation
instructions.
1. Do you agree with the position taken by the department’s chief software engineer?
Solution
1. Yes.
2. The use of non-standard coding and documentation methods by George Wise cause:
– Extra difficulties to other programmers who have to develop software modules
that need to interface with George’s module that may result in errors.
– Extra difficulties to an inspection team and testing team that may result in lower
than regular rates of error detecting.
26
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
2.3
Pressman’s definition of quality requires the client to specify the software requirements
because only documented requirements are binding for the developer. Any omissions or
errors made by the client are considered as his/her fault, and not listed among the
developer’s errors.
1. How can a client be sure that his or her organization has the professional capabilities
to cope with this issue?
2. In what ways can the developer support the client in this matter?
Solution
1. Managements are expected to be aware of their capabilities in the various areas
required in order to operate their organization. In many cases small and also medium
size organizations do not employ an information systems professional and their
managements should be aware of their lack of capabilities. In cases of major
changes in the information systems, even in large organizations the internal IT
department does not usually possess the knowledge and experience needed to cope
with professional developments. It can be expected that the internal team will
request external professional support.
2. The developer can provide professional support for the preparation of a requirement
document. The contents of this document should be explained in detail to the client
and be approved by them.
3. Pro arguments:
a. It forces the client to be responsible for fully and accurately defining their
requirements.
b. The client is the one best acquainted with the environment and operational needs
of the organization and therefore is the most suitable to define the project
requirements.
c. Transferring the responsibility for the definition of the requirements to the
developer reduces the motivation of the client to supply full details of all the
operation situations and risks the omission of important operational scenarios.
27
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
4. Con arguments:
a. As a professional the developer is experienced with a wide variety of systems,
their advantages and disadvantages. Equipped with this experience and
professional know-how they are far better equipped to investigate the
organization’s needs and define the requirements.
b. As an external professional they are expected to define requirements that
incorporate updated capabilities and tools offered in the market. An internal
team will tend to stick to the existing system and leave less space for the
inclusion of new developments.
2.4
It is claimed that the expanded definition of SQA supports those who are interested in
increasing client satisfaction.
Solution
1. I agree.
2. a. The expanded SQA definition adds the elements of managerial schedule and
budget control. As projects that do not keep to schedule and / or exceed their budget
tend to be under severe managerial pressures to save project resources and perform
procedures more quickly, the prospects of fully achieving all the quality goals and
an acceptable extent of software errors are reduced substantially. Thus the inclusion
of schedule and budget control in the SQA controls reduces the prospect of failure –
increases the customer’s satisfaction. (b) Another element added to the SQA
expanded definition refers to software maintenance quality. Maintaining SQA
efforts throughout the software life cycle leads to the continuing satisfaction of the
client extended over long years of operation.
2.5
Examine the correct and erroneous procedures determining the discount qualification
outlined in Table. 2.1.
List the procedure errors.
Solution
The errors are:
a. It is required that the discount will be determined entirely by the central information
processing department and uniformly applied in all the chain stores. According to
28
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
the erroneous procedure, the goods returns are individually examined in each store
causing different discount eligibility lists in the various chain stores. In other words,
a customer may find that he is eligible to a discount in one store but is not eligible in
another store.
b. The eligibility for a discount is based on two parameters: total purchases and
percentage of returns, both determined on a monthly basis – last 12 months’
purchases and the last 3 months’ returns. According to the erroneous procedure, the
purchases parameter is determined only once a year and is valid throughout the next
year.
29
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
CHAPTER 3
Review questions
3.1
1. What are the three factor categories belonging to McCall’s factor model?
Solution
1. The three categories are:
– Product operation category
– Product revision category
– Product transition category
3.2
The software requirement document for the tender for development of “Super-lab,” a
software system for managing a hospital laboratory, consists of chapters according to the
required quality factors as follows: correctness, reliability, efficiency, integrity, usability,
maintainability, flexibility, testability, portability, reusability and interoperability.
In the following table you will find sections taken from the mentioned requirements
document. For each section, fill in the name of the factor that best fits the requirement
(chose only one factor per requirements section).
30
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Solution
The answers are marked in indented font
No. Section taken from the software requirement document The requirements
factor
1 The probability that the “Super-lab” software system will be found in a Reliability
state of failure during peak hours (9 am to 4 pm) is required to be below
0.5%.
2 The “Super-lab” software system will enable direct transfer of laboratory Interoperability
results to those files of hospitalized patients managed by the “MD-File”
software package.
3 The “Super-lab” software system will include a module that prepares a Correctness
detailed report of the patient’s laboratory test results during his current (referring to
hospitalization. (This report will serve as an appendix to the family availability,
physician’s file.) The time required to obtain this printed report will be accuracy and
less than 60 seconds; the level of accuracy and completeness will be at completeness)
least 99%.
6 The “Super-lab” software system will record a detailed users’ log. In Integrity
addition, the system will report attempts by unauthorized persons to obtain
medical information from the laboratory test results database. The report
will include the following information: the network identification of the
applying terminal, the system code of the employee who requested that
information, the day and time of attempt and the type of attempt.
7 The “Super-lab” subsystem that deals with billing patients for their tests Reusability
may be eventually used as a subsystem in the “Physiotherapy Center”
software package.
8 The “Super-lab” software system will process all the monthly reports for Correctness
the hospital departments’ management, the hospital management, and
the hospital controller according to Appendix D of the development
contract.
10 The “Super-lab” software package developed for the Linux operating Portability
system should be compatible for applications in a Windows NT
environment.
31
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
3.3
What differentiates the Evans and Marciniak model from Deutsch and Willis model?
Solution
Both models include 10 out of the 11 factors suggested by McCall and an additional two
factors not included in McCall’s model, namely the verifiability and expandability
factors.
Evans and Marciniak’s model includes additional three factors not included in McCall’s
or in Deutch and Willis’s models, namely the safety, manageability and survivability
factors.
3.4
3. What new subjects were actually added by the Evans and Marciniak model to
McCall’s model?
Solution
1. The formal differences refer to three factors. The Deutsch and Willis model adds
two factors to the ones included in McCall’s model, namely the verifiability and
expandability factors. However, their model does not include the testability factor
included in McCall’s model.
3.5
a. The firmware should be suitable for all six variations of model 2002 washing
machines.
32
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
b. The water level control module of the washing machine should be suitable for use as
a water level control module in the new model 2002 dishwasher.
Solution
1. The specifications refer to the flexibility and reusability factors respectively.
2. Requirement (a) refers to flexibility in the use of a complete firmware product that
by its very design will enable it to be used as firmware in several variations of
washing machines by using a variety of parameter sets.
Requirement (b) refers to the reuse of part of a firmware product, to a module that is
introduced into entirely different firmware products and saves the efforts of
developing a new module, which will only serve dishwashers.
3.6
Some people claim that testability and verifiability are actually different names for the
same factor.
1. Do you agree?
Solution
1. I disagree.
2. Both testability and verifiability refer to the SQA processes during software
development, requiring software features that make the SQA processes easier.
However, while verifiability is limited to verification processes, testability includes
validation and qualification processes performed throughout the development
processes. Also, while verifiability is limited to the software development processes,
testability requirements are extended to refer to the entire software life cycle.
Testability requirements refer to failure detection and analysis during regular
operation of software or when a failure occurs.
3.1
Four “but” complaints are mentioned in Section 3.1. All of them reflect items missing
from the requirement documents.
33
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
2. Can you suggest software quality requirements that could fill the gap?
Solution
1. First “but”: A high rate of software failures – reliability.
Second “but”: Adaptation of the firmware product is possible to a new product
environment – portability.
Third “but”: A lack of program defect detection features and sufficient program
documentation to support the maintenance team in defect detection – testability.
Fourth “but”: More training resources are needed, many more than expected –
usability.
2. First “but”: Full availability of all working stations and software application should
exceed 98% of office hours. In other words, in a 50-hour-week operation the total
failure time (fully or partially) should not exceed 1 hour a week.
Second “but”: Bearing in mind the near-future product development programs, a set
of additional new product operation environments should be defined.
Third “but”: Defect detection features should be defined and the follow up of
keeping documentation instructions should be controlled.
Fourth “but”: Some quantitative requirements should be defined, for example:
training time required to reach level C of customer service operator (Operating a
CRM software package) should not exceed 8 hours.
3.2
Solution
1. Both claims may be correct – depending on the actual situation.
2. Achieving better usability in many cases involves better design of the flow of
calculations and especially better man–machine interface implemented in a well-
designed GUI (graphical user interface). In this case no additional equipment or
additional hardware capabilities are required and increased usability does not affect
the efficiency.
34
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
In many other cases, the replacement of low capability equipment with higher
capability equipment and additional hardware components are involved with the
achievement of higher usability. In these cases higher usability necessarily causes
decreased efficiency.
3.3
The city of Mountain View has decided to develop a software package that will serve
the youth clubs operated by the city. The software’s main tasks will be:
• Tax collection.
• Public library.
The City Council has asked the Information Technology Unit to report to the council
about the possibilities for reuse of the city software packages already available to the
city in the youth club software package.
1. Could you suggest which modules of the existing city software packages could be
reused in the new software? List your assumptions about the contents of the existing
software packages and the required new software.
2. Could you grade the reused modules suggested in (1) according to the scope of
adaptation efforts required to apply the reused module in the youth club software
package.
Solution
1. An alternative for reuse of modules of the City’s operational software packages is
presented in the following table.
35
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
3. Production of Module C
reminder notices to Attendance
course participants who reminders
fail to attend regularly sent to
parents
According to the above, 5 modules of only 2 of the City’s packages are reused.
2. The 5 modules have been graded according to the adaptation efforts, which are:
First grade, module A – Follow up of prescriber’s monthly payments. Both the
existing module and the required module deal with listed membership that pays
monthly for membership.
Second grade, module C – Attendance reminders sent to parents, is similar to the
required module 3. Although the rules for proper attendance are different in schools
and youth clubs, once improper attendance is discovered – the production of
reminder notices is similar.
Third grade, includes modules B, D and E which could be reused for required
modules 2 and 4. Class participants (specific lists for each teacher and class).
Preparing lists of participants in the club is relatively simple as registration to the
courses is direct. School participation in a specific class is not registered directly but
determined by a variety of parameters such as registration to program, inclusion in
group of pupils, etc.
– Statistical reports about library prescribers population and school attendance
may vary substantially from those required for controlling and managing youth
club activities.
36
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
3.4
It is said that failure to meet the interoperability requirements can negatively affect the
correctness level of the software system, and even can cause nonconformance with
correctness requirements.
Solution
1. Most interoperability requirements refer to automatic transfer of data from one
system to another, where one system may be an information system or computerized
equipment that transfers its output into an information system. Failure to meet
interoperability requirements are mainly of two types: a. Computerized data transfer
fails and a manual data transfer has to be applied, or b. The data transfer process is
defective and causes undesirable changes of data and entire data records to be
deleted.
Let us now consider the effects on four of the dimensions / components of the
correctness factor: accuracy, completeness, up-to-datedness and availability. The
expected effects of interoperability failures of the two types are presented in the
following table.
Completeness Manual input processes are under a Defective transfer process that
much higher risk of losing records involves missing input records
than the computerized system. affects, by definition, the
Thus, non-compliance with completeness of the input, which
completeness requirements could may fall beneath the minimal level of
be expected. completeness.
Up-to- Manual input processes require Defective transfer process may lead
Datedness much more time than the to loss or damage to input data
computerized system, this causes needed for updating the database.
later updating of the database. Thus, As a result the level of up-to-
non-compliance with up-to-date datedness may drop below the
requirements could be expected. required up-to-datedness limit.
37
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
2. Example: Store sales and central inventory system that serves a chain of furniture
stores.
The local information system installed in each of the stores managed the sales and
local inventory. The local information system interoperates with a central inventory
system, and has to transfer its transactions of sales and suppliers shipments to this
central system. The central inventory system supplies information on the availability
of an item in other stores of the chain. Application of this information enables a
store to fulfill clients’ orders when an insufficient quantity of the item is found in
the local store – improved service to clients and more economic inventory
management.
Failure to comply with the interoperability requirements may cause inaccurate,
incomplete and out of date information about the number of available items in other
stores. This situation may result in the inability of a store to supply a client’s order
on time; the consequential additional costs to “repair” the failure and its
consequences to the stores reputation are obvious.
3.5
3. Explain why the software developer should prefer the quantitative option.
Solution
1. The examples are shown in the following table.
38
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Reliability The software package will provide a Full failure time will not exceed 1%
high reliability service to the store of the store service time
Usability The GUI (graphical user interface) A training course not exceeding 8
will assure easy training and high hours will enable new POS
productivity of POS (point of sale) operators to serve at least 8
operators customers per hour.
An experienced POS operator will
be capable of serving at least 12
customers per hour
39
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
CHAPTER 4
Review questions
40
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Part II
41
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
CHAPTER 5
Contract review
Review questions
5.1
The CFV case is described at the beginning of this chapter. From the vice president’s
short speech, it can be understood that the proposal preparation was conducted as
follows: (a) a negotiating team was appointed by the management, (b) a proposal was
prepared by the negotiating team, (c) management approved the proposal before it was
presented to the customer, (d) management signed the contract.
1. Can you suggest steps that would reduce the possible losses caused by a faulty
contract.
2. What relevant contract review subjects, listed in Appendices 5A and 5B, could have
revealed the contract faults described in the CFV case.
Solution
1. Performing contract review activities could have revealed the need to investigate the
extent of required staff instruction activities. The recommended proposal
preparation process:
a. Both a negotiating team and a contract review team were appointed by the
management,
b. A proposal was prepared by the negotiating team,
c. Review of the proposal draft by the contract review team,
d. Management approved the proposal before it was presented to the customer,
e. Review of contract draft presented by the customer to CFV, by both the
negotiation team and the contract review team,
f. Management signed the contract.
42
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
5.2
List the various aspects involved with the examination of the customer’s capabilities.
Solution
Appendix 5A lists the customer capabilities as follows:
7.1 Financial capability, including contract payments and additional internal
investments.
7.2 Supply of all the facilities, data and responses to staff queries as they arise.
7.3 Recruitment and training of new and existing staff.
7.4 Capacity to complete all task commitments on time and at the required quality level.
5.3
2. What proposal team activities are required regarding each of the revealed
development risks.
Solution
Appendix 6A is dedicated to software development risks and software risk management.
1. The most common development risks, as listed by Boehm and Ross (see Table
6A.1) are:
– Personnel shortfalls: Lack and turnover of qualified personnel
– Unrealistic schedules and budgets: Incorrectly estimated (too low) development
time and budget
– Developing wrong software functions: Development of software functions that
are not needed or are incorrectly specified
– Developing wrong user interface: Inadequate or difficult user interface (GUI)
– Gold plating: Addition of unnecessary features (“whistles and bells") due to
professional interests, pride, or user demands
– Continuing stream of requirement changes: Uncontrolled and unpredictable
changes in system functions and features
– Shortfalls in externally furnished components: Poor quality of externally
delivered system components
– Shortfalls in externally performed tasks: Poor quality or unpredictable
accomplishment of externally performed tasks
43
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
a. Prevention activities
Internal RMA
– Application of detailed and thorough analysis to requirements and estimated
schedules and costs
– Efficient project organization, adequate staff and team size
– Personnel training
– Arranging for and training replacements to take over in case of turnover and
unanticipated workloads
– Arrange for user participation in the development process
– Applying efficient change control (change requests screening)
– Apply intensive software quality assurance measures such as inspections, design
reviews, and benchmarking
Subcontracting RMA
– Preparing comprehensive and thorough contracts with subcontractors and
suppliers, including contract reviews
Customer RMA
– Formulating comprehensive and thorough contracts with customers, including
contract reviews
Subcontracting RMA
– Participating in internal progress control and software quality assurance
activities of subcontractors to be incorporated in the contract
44
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
c. Resolution of SRIs
Internal RMA
– Arranging for participation of professional staff members having knowledge and
experience with SRIs
– Scheduling SRI-related activities as early as possible to provide leeway in case
of difficulties
– Prototyping SRI-related modules or project applications
– Preparing scenarios for complicated SRI-related modules or project applications
– Simulating SRI-related modules or project applications
Subcontracting RMA
– Arranging for “loans” of professionals with specialized knowledge and
experience if the need arises
– Hiring consultants to support the team in the absence of sufficient expertise and
experience
Customer RMA
– Negotiating with the customer to change requirements re risky parts of the
project
– Negotiating with the customer to change schedules re risky parts of the project
5.4
Solution
1. Police fingerprint identification system
The system should perform the following functions:
– Scan fingerprints of suspected persons by a scanner installed in every police
patrol car.
– Send the scanned fingerprints by a wireless communication system to the
fingerprint identification center located at the police headquarters.
– Search the fingerprint database and identify the “owner” (in cases where the
suspect has already been included in the file).
45
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
– Send to the police patrol car by wireless data communication the findings – three
options: (a) no identification – the suspect was not identified, no record in the
finger print library. (b) full identification – the suspect was identified. In this
case, the response sent to the police patrol car includes the identification of the
“owner” and the full police records relating to the “owner”. (c) group
identification – the system identified several persons with some similarities to
the suspected person. The response sent to the police patrol car includes the
identification of all the “possible owners” and the full police records related to
each of the “possible owners”.
In this case a comprehensive contract review is justified, based on the project’s
characteristics, mainly: (a) new technology of pattern recognition is to be
employed, (b) the need for an advanced data wireless ciphered communication
system, (c) the system has to serve a large number of users, (d) capability to
search an enormous database of police records, (e) the need for large-scale
training activities and (f) a short response time is required.
Performing a contract review raises many difficulties.
5.5
2. List the steps that should be taken to make a large-scale contract review feasible.
Solutions
1. Three basic “built-in” difficulties are typical to contract reviews:
– Time pressure.
– The need to invest work highly professional staff, which is suitable to perform
the highly professional review tasks.
– The potential contract review team members are usually very busy, and can
hardly spare time for the review.
46
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
– A team leader should be appointed to coordinate the efforts of the team members
and to ensure that a situation does not arise whereby no team member(s) could
cause the failure of the team to keep to the schedule.
5.6
List those issues involved with estimating the resources required for a project that
should be considered by the contract review team.
Solution
Based on Appendix 5A, estimations of resources for the following activities should be
reviewed:
– Documentation preparations
– Installation, follow-up of the new software package running-in stage and training the
client’s staff.
5.7
List the supplier’s capability issues that should be considered by the contract review
team.
Solution
Based on Appendix 5A, the contract review team should examine the following
supplier’s capability evaluations presented by the proposal team:
47
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
5.8
List the partner and subcontractor participation issues that should be considered by the
contract review team.
Solution
Based on Appendix 5A, the contract review team should examine the following
evaluations regarding partner and subcontractor participation issues presented by the
proposal team:
5.1
The head of the software quality assurance unit stated that if his unit had carried out the
contract review procedure, most of the described problems would have been averted.
2. What process would you recommend when applying a contract review in this case?
Solution
1. The contract review subject relevant to the discussed case is: subcontractor's
participation conditions.
2. It is required that MJS proposal team would lead a negotiation process with
potential subcontractors that will include definition of responsibilities for activities,
binding schedules, payment schedules and quality assurance processes together with
coordination methods between MJS and its subcontractors. The contract review
48
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
team should evaluate the draft of the proposed agreement. The agreements with the
proposed subcontractors should be signed before MJS submits its project proposal to
the food preparation corporation.
5.2
An SQA professional claims: “I find all the reasons given for a proposal draft review to
be justified. I also believe that a review contributes to the quality of the proposal,
especially in clarifying and precisely defining requirements, and in preparing more
realistic estimates, among other issues. However, once the proposal has been presented
to the customer, there is no need for a contract draft review. The task of reviewing the
final negotiations results and the final version of the contract should be left to the legal
department and to management.”
Solution
1. I don’t agree with the above statement. The main arguments are:
– Negotiations held between the supplier and the potential client after a proposal
was submitted and prior to signing a contract are quite common. In many cases,
the negotiations are not limited to the cost of the project and payment schedule
but deal with changes and adaptations of requirements. In these situations, the
contract draft review yields an additional independent evaluation of these
changes, which may reveal undesirable consequences.
– Even changes regarding bonus and penalty paragraphs which seem a financial
issue may benefit from a contract draft review that would evaluate the prospect
of the bonus and penalty situations.
– In cases where a substantial period of time has elapsed between the submission
of proposal and the contract signing, the supplier may expect meaningful
changes on his side. Changes may refer mainly to development risks, to the
company’s capacity to perform the project, to the customer’s capacity to fulfill
his commitments and to subcontractors’ commitments. A contract draft review
in a situation of this nature is highly recommended.
49
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
d. Limited negotiations regarding the project budget and its schedule were held
before the contract was signed.
5.3
Many organizations do not apply their contract review procedures to internal projects
even though they perform comprehensive contract reviews for all their external projects.
3. Suggest types of internal projects where omission of a contract review could result
in severe damage to the organization (mention the main components of damage
listed for each project type).
Solution
1. Supporting arguments:
– Internal projects are based to a great extent on personal relations among the IT
department and the internal customer. Any formal steps may harm the “good
will” that was created through the personal relations.
– Performing a contract review is a costly process and causes undesirable delay in
the commencement of the project.
– Anyway you can’t punish an internal team or apply bonuses and penalty methods.
2. Opposing arguments:
– A contract review means that some kind of agreement, in the form of minutes of
a summary meeting or other form will be signed between the IT and internal
customer departments.
– A more formal relationship in performing internal project assures less loose
ends; both sides gain from it.
– It assures the more thorough preparation of the requirements document followed
by an independent evaluation by the contract review team.
– Performing a contract review assures more accurate resource estimates and
schedules and a better understanding of the project’s risks. So, the internal
customer gains by getting a more realistic picture of the planned project.
3. Internal projects where the completion time is critical (e.g., software package for
management of schools that misses the opening of the new school year, or a new
computer game that misses the high sales period of the new year’s holidays) may
serve as an example of internal project types that may benefit from thorough
50
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
contract review. Typical tasks undertaken by internal customers and later found
incapable of performing are training and documentation commitments. Evaluation
of the actual capability of the internal customer by a contract review team might
produce a better organization for carrying out these activities (and save the heavy
damages that might have occurred).
5.4
3. Can you describe a real or imaginary situation where a customer’s capability failures
could create substantial direct and indirect damages to the software developer (“the
supplier”).
Solution
1. I disagree with the managers.
51
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
3. Let us refer to a software package developed for a hotel network, located in the US
and in several overseas countries. The customer was committed to perform all
training tasks in the US and overseas. The customer’s task included preparing
training course material in English, translating it into Spanish, French and German,
and delivering the training courses to a total of 4,300 personnel members, 60% of
them located oversees.
At the time the software development process was completed, and the installation
process was due to begin, only 30% of the US and 15% of the British hotel
personnel had completed the training courses. The French, Spanish and German
training material was still “in process”. A delay of 6 months in the completion of the
installation and running-in of the software package meant that the hotel chain could
only benefit from its IT investment in the next tourist year. The main damage to the
supplier, not covered by the contract compensation articles, was the delay in the
release of team members to join their next assignment, causing severe delays to
other projects.
5.5
1. List real cases and common situations where such discrepancies could arise.
2. In what situations are discrepancies in the contract draft expected to be least likely?
Solution
1. The following discrepancies may occur:
– Some of the understandings reached in negotiations with the customer after the
submission of the proposal are not included or presented incorrectly.
– Some additions, which the customer considers negligible, are included without
being discussed with the supplier. Additions of this nature may change
conditions for bonuses, penalties or timetables for handling the project’s
products.
2. Discrepancies in the contract draft are not likely to be expected in cases where no
negotiations were held in the period between submission of the proposal and signing
the contract or in cases where the contract draft was part of the tender document,
allowing no changes or additions to be performed.
5.6
The examination of alternatives is one of the major tasks of a proposal team, especially
for tender proposals. However, in many cases, important alternatives are omitted or
neglected by the proposal team.
52
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
1. List real cases and common situations where negligence in defining and examining
important alternatives can be expected.
Solution
1. Common situations:
– A proposal is being prepared under high time pressure that leaves no time for
negotiations with partners or subcontractors or to develop a new methodology.
– A proposal is being prepared after a series of successful projects of a similar
nature. In such a situation, a proposal team tends to follow an early success
route and may not check alternatives.
5.7
1. Do you agree with the team’s decision not to estimate the project’s costs.
2. If you disagree, what are your arguments in favor of estimating the costs?
Solution
1. No. I do not agree.
53
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
5.8
2. What security issues related to the proprietary rights listed in your answer to (1)
should be examined.
Solution
1. Typical proprietary issues of a custom-made software package:
– Proprietary issues of reused software units or modules integrated in the new
software package.
– Proprietary issues of the completed new software package for resale to other
organizations: the customer or the developer.
– Proprietary issues of reuse of original units or modules developed in the project.
2. Issues of unlawful reuse of software units or modules by the developer during the
development process as well as unlawful use of the completed software package or
its units or modules.
5.9
2. Is it likely that an SQA unit member will be able to review the financial issues?
Who do you believe should do it, and how should the review be organized?
54
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Solution
1. It is clear that if the project fails financially, the prospects of full implementation of
quality assurance tools and processes are very meager. In this situation it is likely
that the client will face many project failures, corrections of which will increase
substantially the project’s losses. It should be mentioned that the financial issues
include those of the contract with the customer and those of contracts with
subcontractors and partners.
2. The financial issues may be handled by a team member possessing the adequate
financial education and experience or by an outside consultant.
5.10
1. What are the advantages and disadvantages of employing outsiders compared with
insiders for a proposal draft review?
2. What are the advantages and disadvantages of employing outsiders compared with
insiders for a contract draft review?
Solution
1. Advantages:
– Outsiders assure more independence of reviews.
– Outsiders may be chosen to possess experience and knowledge not available
within the organization.
Disadvantages:
– Outsiders may require some time to become acquainted with the organization
unit in which the proposed project is to be performed and its environment.
Despite the efforts invested, an outsider rarely reaches full understanding of the
unit and its surroundings.
– There are always some security risks in employing outsiders and allowing them
access to detailed information of the organization’s future information systems.
2. The advantages of an outsider in the contract draft are much less than in the
proposal draft stage, and refer mainly to his personal capabilities to check
thoroughly the contract documents and his availability to do the task (in cases of
unavailability of an insider to do the task). The disadvantages of an outsider at this
stage are similar to those mentioned for the proposal draft stage of the contract
review.
55
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
5.11
A medium-size firm submits 5–10 proposals per months, 10%–20% of which eventually
evolve into development contracts. The company takes care to perform a thorough
project draft review for each of the proposals.
1. Do the proposal draft reviews performed for each of the individual projects
guarantee that the company will be capable of carrying out all the proposals that
eventually evolved into development contracts? List your arguments.
2. If your answer to (1) is negative, what measures should be taken to reduce the risk
of being unable to perform the contracts.
Solution
1. The issue of medium-size firms raised here is a classic problem. A firm may face a
period of much higher rate of success in its proposal, creating a need for
development resources, much higher than are available. The risk of being unable to
perform project proposed is a real one, even if measures are taken to reduce its
prospects and extent by negotiating with possible partners or subcontractors.
56
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
CHAPTER 6
Review questions
6.1
Significant similarity exists between the proposal draft review and the development
plan.
b. Compare these documents while referring to the aim of preparing the individual
documents.
Solution
a. The following table, based mainly on Appendix 5A and Table 6.1, summarizes the
similarities and differences between the contract review and development plan
documents. The subjects reviewed in a proposal draft review are grouped according
to objectives. The comparison shows that a much wider range of subjects is
reviewed by the proposal draft team than by the project plan team. The 11 software
development plan elements relate to only 5 of the 9 proposal draft subject groups.
Four of the proposal draft review subject groups have no parallel element in the
development plan document.
57
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
b. The aims (objectives) of the proposal draft review document are to examine the
prospects in a wide range of subjects involved in a future project, while the
development plan focuses on a smaller range of subjects and deals mainly with
materializing plans sketched in the proposal stage.
The comparison of objectives based on Frame 5.1 and Section 6.1 is presented in the
following table.
58
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
6.2
2. Suggest ways in which each objective contributes to the successful and timely
completion of the project.
Solution
1. The objectives, as listed in Section 6.1 are:
1. Scheduling development activities (including those to be carried out by an
external participants) that will lead to the successful and timely completion of
the project, and estimating the required manpower resources and budget.
2. Recruiting team members and allocating development resources (according to
activity schedules and manpower resource requirement estimates).
3. Resolving development risks.
4. Implementing required SQA activities.
5. Providing management with data needed for project control.
59
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
6.3
Some development elements are included in the requirement document, yet are not
compiled by development planners.
2. Explain the importance of gathering this information from the customer’s documents
Some system analysts claim that requirements that belong to certain software quality
factors (see Chapter 3) should not be considered when preparing a project development
plan.
1. Do you agree with this claim? If yes – list the software quality factors that should
not be considered.
60
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Solution
1. Actually all the elements of the requirement document have to be considered when
compiling the development plan. None of the requirements belonging to the various
software quality factors should be neglected or left untreated when compiling the
activity schedule for the project.
2. Obviously, disregarding part of the requirements in the development plan means this
requirement will not be fulfilled in the development of the software product.
6.4
2. List possible inputs and outputs for each of the phases suggested in (1).
3. What components of each activity, as associated with each project phase, should be
described in the development plan?
Solution
1. The possible phases according to the SDLC development model (see Section 7.1)
are the following:
– Requirements definition
– Analysis
– Design
– Coding
– Testing
– Installation and conversion
2. Typical inputs and outputs of each phase are listed in the following table:
61
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
3. The components of each activity that should be described in the development plan
are the following:
– An estimate of the activity’s duration.
– The logical sequence in which each activity is to be performed, including a
description of each activity's dependence on previously completed activities.
– The type of professional resources required and estimates of how much of these
resources are necessary for each activity.
6.5
3. Why is it necessary to mention team members by name? Isn’t it sufficient to list the
number of team members by their expertise as required for each phase of the
project?
62
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Solution
1. The components of project staff organization are:
• Organizational structure: definition of project teams and their tasks, including
teams comprised of a subcontractor’s temporary workers.
• Professional requirements of team members, including professional certification.
• Number of team members required for each period of time.
• Names of team leaders and team members.
2. The professional requirements and the number of team members are based on the
project mapping. The organizational structure also depends to a great extent on the
project mapping.
3. Defining the names of team members allows them to be assigned ahead for
performing given tasks, thus assuring their availability for the project. It also permits
the tracking of their actual availability, and assures early detection of difficulties
regarding their unavailability.
6.6
2. For each of the SRIs mentioned in (1), suggest the three most effective RMAs for
handling them (refer to Table 6A-2). Explain your choice.
Solution
1. The SRIs are listed in the following table (See Table 6A.1).
63
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
4 Developing wrong user The RMAs suggested for item 3 apply also here.
interface
a. Application of detailed and thorough analysis to
requirements and estimated schedules and costs
b. Apply intensive software quality assurance measures
such as inspections, design reviews, and benchmarking
c. Arrange for user participation in the development
process
64
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
6.7
Only 4 out of the 11 elements of a development plan and only 1 out of 5 of the quality
plans are considered obligatory for small projects.
1. Do you agree with this choice. If yes – list your main arguments.
2. If you do not agree with this choice, present your improved list and explain your
choice.
Solution
1. I agree with the choice. The elements specified minimize the efforts required to
prepare development and quality plans, whilst at the same enable the following:
carrying out of the required activities necessary to ensure that adequate and timely
resources are utilized, performing software risk management activities and creating
a basis for project process control.
The rest of the elements in the case of small (and relatively simple) projects are
expected to be part of the organization procedure and work instructions.
65
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
6.8
“Preparing full-scale development and quality plans for internal projects, and applying
regular full customer–supplier relationships for the implementation of internal projects
is highly beneficial to both sides”.
Solution
1. The developer can enjoy the following benefits of plan preparation:
a. Allowing efficient control of a project’s progress.
b. Prevention of most development risks and early detection of most other risk
situations.
c. Avoiding budget overruns.
d. Avoiding damage to other projects caused by delays in release of professionals
occupied in an internal project.
e. Avoiding loss of market status, especially regarding the firm's reputation, caused
by delayed completion of external projects triggered by late completion of
internal projects.
6.1
“As long as the proposal was properly prepared and approved, following an adequate
contract review, there is no justification for redoing all this work. Its resource estimates
and schedule can serve as the project’s plan....” You often hear claims like this one.
1. Do you agree with this claim? If not – list your arguments against it.
66
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
2. Suggest situations where it is clear that the proposal and its materials can serve as
development and quality plans.
3. Suggest situations where it is clear that the proposal and its materials cannot serve as
development and quality plans.
Solution
1. I do not agree. The arguments:
– The plans examine possible changes that have occurred since the time the
proposal was submitted.
– The plans examine the actual up-to-date availability of team members,
subcontractor’s participation and laboratory resources, etc. available to the
adapted project schedule.
2. Situations where it is clear that the proposal and its materials can serve as
development and quality plans:
– “Simple” small to medium-size projects, with no external participants.
– Projects where only a short time period has elapsed since the time the proposal
was submitted.
3. Situations where it is clear that the proposal and its material cannot serve as
development and quality plans:
– Complicated or large scale projects, especially those involving external
participants, where a substantial time has elapsed since the submission of the
proposal.
– Projects where substantial changes of requirements result from negotiations that
were held with the customer in the interim period after the proposal had been
submitted and before signing the contract.
6.2
The current project is somewhat special with respect to its timetable. The contract
with the customer was signed 6 days after submission of the proposal, and the
development team is scheduled to begin working at full capacity, with 8 team
members, 10 days later. The contract offers a significant early completion bonus for
each week below 26 weeks, but determines high late completion penalties for each
week after 30 weeks.
67
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
In a meeting with his superior, Adams claims that the comprehensive proposal
documentation “as is”, which has been thoroughly checked by the contract review team,
should serve as the project's development and quality plans. His superior does not agree
with him and demands that he immediately prepare comprehensive project and quality
plans, according to company procedures.
1. Do you agree with Adams? If yes – list the arguments that support his claim.
2. Do you agree with his superior? If yes – list the arguments that support the
superior’s claim.
3. Considering the circumstances of the project, what, in your opinion, should be done
in this case.
4. Comparing the circumstances described here to those of the opening anecdote, are
there any justifications for different recommendations?
Solution
1. The scenario of the project basically supports the claim of Martin Adams, and the
proposal material could serve as part of the development and quality plans.
However, the project manager has to prepare some elaborations and additional
details to complete the development and quality plans.
2. I agree partly with the superiors regarding the aspects involved with the short
completion time and the bonuses and penalties involved. Accordingly, special care
is required in examination of availability of any kind of resources, including
external participants, and in resolving development risks. The level of these
examinations should be beyond the ones performed for the proposal.
3. The recommended actions are already marked in the answers to (1) and (2).
4. According to the case presented at the beginning of the chapter a period of seven
months has elapsed since the proposal was submitted, compared with few days in
the above case. This very crucial difference justifies preparing new plans based on
full updating of the proposal material. In our case, partial updating of proposal
material should be sufficient.
6.3
An experienced project leader has identified 6 SRIs inherent in his project and estimated
their Est(dam) and Prob(mat). The results are listed in the following table:
68
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
5 The final test of the user’s guide will detect significant 0.3 2,500
errors that will cause a delay of more than 2 weeks in
delivery to the customer
1. Determine the priorities for these SRIs, using the formula given in Section 6A.3.
3. Determine the SRI priorities according to the alternative method. Compare the
resulting priority list with that obtained in (1), and discuss the implications of the
differences, if any.
Solution
1. The results for SRIs priorities, according to the Exp(risk), are presented in the
following table:
69
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
3. The priorities defined according to this method are presented in the right column of
the above table.
Application of the alternative method:
– Calls to focus on SRI4 and invest any possible measures to reduce its probability
to materialize and especially its estimated damage.
– Changes the internal order of priorities of the SRIs defined to priorities 1–3 in
section (1).
– No changes of priority are found for the SRIs defined to priorities 4–6 in section
(1).
6.4
It is said that three of the quality plan's elements must be coordinated with an element of
the development plan – the mapping of the development process.
70
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Solution
1. The following quality plan’s elements must be coordinated with the mapping of the
development process
– Review activities
– Software tests
– Configuration management plans
2. The schedule of review and software activities should be coordinated with the
schedule for completion of the software products (documents and code). At the
same time correction, activities of errors identified in the reviews and tests and the
continuation of development process should be coordinated with the review and test
activities.
The configuration management activities and especially the release of planned
baseline versions of the software system must be coordinated with the progress of
the development process and the completion of the production of the relevant
software products.
6.5
Quoting from Section 6.3: “Quantitative measures are usually preferred to qualitative
measures when choosing quality goals because they provide the developer with more
objective assessments of software performance during the development process and
system testing. However, one type of goal is not totally equivalent to the other.”
Solution
1. Quantitative goals can be used in pre-test, which enable the developer to measure
the current performance and decide about the maturity of the development efforts.
For example: A quantitative goal of 99.8% accuracy is set for a computerized input
device. In pre-test, the developer can objectively evaluate the current achievements.
2. Qualitative goals, such as “friendly”, “efficient” or “easy to train” are open to wide
range of evaluations, where usually the developer expresses his satisfaction while
the customer is less enthusiastic or even dissatisfied. Situations like this, of
disagreements between developer and customer, are not desired. Comparable
quantitative goals are much less debatable. Usually the application of an additional
test sample will resolve the disagreements.
71
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Part III
72
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
CHAPTER 7
Review questions
7.1
1. What are the seven basic phases of the development process suggested by the
model?
Solution
1. The seven SDLC phases, as presented in Fig. 7.1 are:
• Requirements definition
• Analysis
• Design
• Coding
• System tests
• Installation and conversion
• Operation and maintenance
2. In small-scale projects the phases of analysis and design may be integrated into one
phase.
In projects based on the implementation of a COTS software system – the coding
phase is not required. In many cases the analysis and design phases may also be
integrated.
3. In large-scale projects, the analysis and design phases need to be split into
preliminary and critical stages. The requirement definition phase may be divided
into system and software requirement definition phases.
73
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
7.2
With respect to the prototyping methodology:
2. Can you suggest an imaginary project ideally suitable for the prototyping
methodology?
3. Can you suggest an imaginary project that is obviously unsuitable for the
prototyping methodology?
Solution
1. Conditions for successfully applying the prototyping model:
– The project is planned to serve well-established services, where no major change
is required
– The project is relatively small and not complicated.
– A group of users capable of evaluating prototype versions of the project are
available.
7.3
1. List the advantages of the prototyping compared to the SDLC methodology for
development of small to medium-sized projects.
2. Explain why the advantages of prototyping cannot be realized for large software
systems.
Solution
74
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
A shorter development process, due to the precise guidance of the user evaluation
group.
Substantial savings of development resources (man-days), due to adherence to the
precise requirements.
A better fit to customer requirements and the reduced risk of project failure.
Easier and speedier user comprehension of the new system.
2. The advantages of prototyping cannot be realized for the development of large scale
systems for the following reasons:
– Large scale systems involve, beside “common” modules, the development of
new applications of high complexity, based on intense interfacing with other
systems and application of advanced methodologies and algorithms, which are
designed to solve new functional requirements. Most of the development efforts
are invested in these new modules. Usually users’ ability to contribute to these
parts of the project is very limited.
– Large scale systems are developed to include a wide scope of future new
applications of the system. Naturally, users are not experienced in these new
directions and are unable to provide substantial contributions.
– Large scale system developers invest a substantial part of their efforts in solving
security and reliability problems of the system. The ability of users to contribute
in these aspects is usually limited.
3. Prototyping may support the development of large scale systems in limited areas, for
the development of specific modules. Users may contribute to the development of
the output modules that are planned to serve them, or input modules that they are
expected to use.
7.4
2. What new activities were added to the classic SDLC model and what is their main
contribution to the success of the projects?
Solution
1. The four activities to be repeated are:
Planning
Risk analysis and resolution
75
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Engineering activities according to the stage of the project: design, coding, testing,
installation and release
Customer evaluation, including comments, changes and additional requirements, etc.
The reasons for repeating these activities are:
Planning – updating the project plans according to customer’s comments regarding
the former iteration of the project and according to new and updated requirements
presented by the customer. This activity assures relative up-to-datedness of project’s
plans.
Risk analysis – once the project’s plans have been updated, updated risk analysis
takes place, evaluating the consequences of new risks identified during the last
project iteration and of changes introduced in the project’s plans.
Engineering activities – professional activities of the project team.
Customer evaluation – assures improved fulfillment of customer requirements and
saves development efforts invested in erroneous directions.
2. The activities added to the classic SDLC model are:
– Customer’s evaluation
– Developer design and developer’s construction, replacing the one engineering
activity to be performed in each project’s iteration.
The contribution of adding the customer’s evaluation activity is by stressing the
importance of customer’s involvement in the project and especially his professional
evaluation of each iteration of the project.
The contribution of replacing the one engineering activity performed in each
project’s iteration is by introducing the principle of the need to perform design or
updating design in each project’s iteration. It assures improved suitability to
customer’s updated requirements. This principle is of special importance to projects
developed according to a prototyping development model.
7.5
1. Explain the advantages of the spiral model as compared with the SDLC model.
3. Provide three examples of projects that would obviously benefit from application of
the spiral model.
Solution
1. The SDLC model is a linear model, where the development activities are successive
and allow for only marginal expression of the iterative nature of the development
process. This attribute makes SDLC an ideal basis for project planning.
76
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
The advantages and contribution of the spiral model is in the presentation of the
internal vital component of each phase:
– The emphasis of the need for the customer’s thorough involvement in the
development process expressed by comments and updated requirements on each
iteration.
– The emphasis of risk management activities incorporated in each iteration.
– The need to perform necessary design and coding in each iteration (presented in
the advanced spiral model).
2. The above model advantages are best realized in large-scale models involving
additional development of a complicated nature for a major part of the project (only
a small percentage of its software is reused).
7.6
2. Can a project that successfully passed verification and validation reviews but failed
part of the qualification review adequately supply users with the information
needed? Explain your answer.
3. In which respects is the project described in (2) inferior to a project that passed all
three reviews? In what way will this difference affect operation of the software
system?
Solution
1. IEEE Std 610.12-1990 (IEEE, 1990) defines these aspects as follows:
“Verification – The process of evaluating a system or component to determine
whether the products of a given development phase satisfy the conditions
imposed at the start of that phase.”
“Validation – The process of evaluating a system or component during or at the end
of the development process to determine whether it satisfies specified
requirements.”
“Qualification – The process used to determine whether a system or component is
suitable for operational use.”
77
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
2. It’s possible for tested software to achieve correct functioning (no verification and
validation errors) to fail qualification tests when the developed programs are correct
but are not in accordance with the standards, procedures and work procedures of the
organization. It is typical for new staff or subcontractor’s staff not to be fully
knowledgeable of these organizational requirements. In some cases, even
experienced staff under time pressures may disregard standards, procedures and
work instructions in order to save time.
7.7
Solution
1. Validation reviews and tests evaluate whether the current stage meets the specified
requirements, and thus assures better fulfillment of the customer’s requirements,
leading to greater satisfaction of the customer. The validation activities are expected
to detect deviations from the original requirements, not detected by verification
activities, that may accumulate to substantial deviations throughout the development
phases, especially towards the end of the development process.
78
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
7.8
2. Which three of the model's data components are based on published survey results?
Solution
1. The model is based on the following six assumptions (see Section 7.4.2):
The development process is linear and sequential, following the Waterfall Model.
A number of “new” defects are introduced in each development phase.
Reviewing and testing software quality assurance activities serve as filters; they
remove a percentage of the entering defects and enable the remaining defects to pass
on to the next development phase. For example, if the number of incoming defects
is 30 and the filtering efficiency is 60%, then 18 defects will be removed and 12
defects will remain and pass on to be detected by the next quality assurance activity.
At each phase, the incoming defects are the sum of defects not removed by the
former quality assurance activity, together with the “new” defects introduced
(created) in the current development phase.
The cost of defect removal is calculated for each quality assurance activity by
multiplying the number of defects removed with the relative cost of removing a
defect.
The remaining defects, unfortunately passed on to the customer, will be detected by
him/her. In these circumstances, full removal entails the highest defect-removal
costs.
2. The data components of the model based on published survey results are:
– The distribution of software defects origins according to the software
development phase.
– The defect removal effectiveness for the various software development phases.
– The relative cost of removing a detected defect for the various quality assurance
activities.
7.1
1. What are the main issues that cause the degree of severity?
79
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
2. Referring to your answer to (1), can you list three examples of software
development projects displaying highly severe failures?
3. Referring to your answer to (1), can you list three examples of software
development projects displaying low severity failures?
Solution
1. Main issues that cause the high degree of severity (see Table 8.1):
– Jeopardizing the safety of a person
– Causing severe financial losses
– Causing malfunctioning of services
– Causing malfunctioning of process control in chemical industry.
7.2
A software development firm is planning a new airport luggage control project. The
system is to control luggage transfer from the terminal to the planes, from the planes to
the terminal’s luggage release system, and from plane to plane (for transit passengers).
The airport requires highest reliability for the system and wishes to initiate several new
applications that have yet to be implemented in another airport.
1. What SQA methodology should be implemented for this project? List your
arguments.
Solution
1. Considering the high severity of possible errors of this software system – the spiral
model is recommended, in order to assure the utmost cooperation with the customer
and absolute attention to software development risk.
80
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
2. Considering the great complexity of the project and the importance of the man–
computer interface – integration of the prototype model may be recommended for
parts of the project.
Considering the possibility to reuse software modules developed for other airports –
the use of the object-oriented model is recommended.
7.3
HRS Ltd is a software house that specializes in human resource management packages
sold mainly to small and medium-sized organizations. Its incentive control and
management recruitment software packages are already very popular.
Solution
1. Considering the great importance of the products high quality – a prototyping
methodology, where the marketing department’s team of experts serves as the
customer’s team and thoroughly checks each prototype version, may be preferred.
This methodology assures better adaptability of the software package to the
customer’s needs.
2. The combination that best fits: the prototyping, spiral and object-oriented
methodologies. The prototyping methodology will be applied for new modules,
where applicable. The spiral model will be the best to manage the customer-
developer relations and the risk issues of a large-scale project. The object-oriented
methodology will support the reuse of software modules from HRS products.
7.4
Software reuse has become an important factor in the software development industry.
2. How can a software development firm organize for efficient software reuse?
Solution
1. The advantages of software reuse:
81
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
3. Let us take the automobile industry as an example. In this industry, we may find
“internal reuse” as well as “over the industry reuse”. The “internal reuse” is
implemented by sharing the same engine and gearbox in various car models
manufactured by the company. The “over the industry reuse” is implemented by the
same tires and electric accessories used in cars of different manufacturers.
7.5
Finding him/herself under time and budget pressures, a project leader has decided to
introduce “an economy plan” that limits the quality assurance activities to a standard
design review, as required by the contract with the customer (50% filter) and a
comprehensive system tests (60% filter). Considering the model's contribution to defect-
removal efficiency and costs:
1. What are the expected savings, if any, in resources invested for defect removal
during the development process as opposed to the standard quality assurance plan?
2. What are the expected effects of the “economy plan” on customer satisfaction?
Support your answer with a quantitative comparison to the standard plan.
3. Compare the overall results of the “economy plan” to the results of the standard and
comprehensive plans.
4. Based on your answer to (3), can you suggest some general rules about choosing the
preferred quality assurance plan?
Solution
An economy quality assurance plan based on the standard quality assurance plan
(Figure 7.7) is presented below. The solution is based on the updated version of Section
7.4 of the main text. For the convenience of the readers it is presented here.
82
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
RD 0 0
RDRC 1 TRC > 0 cu
RD 4 4 12 7 3 30
RDRC 6.9 6.9 17 44 110 TRC > 804.8 cu
83
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
(a) + (b) + (c) Based on the above figure and Table 7.6 the comparison is presented
in the following table:
84
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
85
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
CHAPTER 8
Reviews
Review questions
8.1
There are four direct objectives and two indirect objectives attached to the various
review methods.
1. List the direct and indirect objectives of each review method surveyed.
2. For each objective, indicate the review technique or techniques that contribute(s) the
most to achieving that objective.
Solution
1. The objectives of the various review methods are marked in the following table. See
Table 8.4.
Review methods
Direct objectives
1. Detect errors M M M M
2. Identify new risks M S
3. Locate deviations from templates M S
4. Approve the design document M
Indirect objectives
1. Knowledge exchange M M M S
2. Support corrective actions S M
86
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
2. The review method(s) that contribute(s) the most to achieving that objective
Direct objectives
1. Detect errors All methods (varies according to error type)
2. Identify new risks DR
3. Locate deviations from templates Inspection
4. Approve the design document DR (the only method assigned for this objective)
Indirect objectives
1. Knowledge exchange DR (higher professional levels), inspection
(peers level)
2. Support corrective actions Inspection
8.2
Explain the importance of enforcing templates and sticking to style procedures and
conventions.
Solution
The solution is based on Section 2.3.
The quality risks of non-compliance – increase in the rate of errors – stem from:
• Team members who need to coordinate their own codes with code modules
developed by “non-complying” team members can be expected to encounter more
than the usual number of difficulties when trying to understanding the software
developed by the other team member.
• Individuals replacing the “non-complying” team member (who has retired or been
promoted) will find it difficult to fully understand his/her work.
• The design review team will find it more difficult to review a design prepared by a
non-complying team.
• The test team will find it more difficult to test the module; consequently, their
efficiency is expected to be lower, leaving more errors undetected. Moreover, team
members required to correct the detected errors can be expected to encounter greater
difficulties when doing so. They may leave some errors only partially corrected, and
87
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
even introduce new errors as a result of their incomplete grasp of the other team
member’s work.
• Maintenance teams required to contend with the “bugs” detected by users and to
change or add to the existing software will face difficulties when trying to
understand the software and its documentation. This is expected to result in an
excessive number of errors and the expenditure of an excessive amount of
maintenance effort.
8.3
Some people claim that one of the justifications for a small design review team is the
need to schedule the review session within a few days after the design product has been
distributed to the team members.
1. Could you list additional reasons for preferring small DR teams apart from the
anticipated delays in convening a DR session composed of large teams.
2. What reasons motivate attempts to schedule the review session as soon after
distribution of the design reports to the team members as possible?
Solution
1. Apart from coordination difficulties typical to large teams, additional reasons for
preferring small teams are:
– In larger DR teams the participants tend to neglect the preparation phase –
relying on “others that will certainly read the document thoroughly”.
– As at least some of the participants are not really acquainted with the contents of
the document, a short presentation of the document is not sufficient, and much
time, if not most of the session time, is used for the developer's presentation and
clarification questions. In such situations only a short time is devoted to
discussing issues of reviewer's findings and comments.
– The DR session becomes tedious as repeated views are presented, mixed with
requests for information raised by participants who have not done the required
preparation.
– The costs of the review are excessively high, caused by the large team and the
long hours spent in the DR sessions.
2. A long delay in the DR session means delays in the expected list of instructions and
required corrections (action items) and the needed approval of the completed phase
of the development process. Such a delay involves:
– Waste of the team’s working days or at least a period of inefficient work, that
might be found in need of rework once the DR team’s instructions and required
corrections are available.
88
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
– Increase in the possibility of late completion of the next task and missing the
next milestone of the development process and instructions regarding the
resumption of the development process.
8.4
One can expect that in many cases, participants in an inspection session are able to
suggest solutions for a detected defect or, at least, point out possible directions for its
solution. While it is clear that these suggestions are crucial for the development team, it
is commonly recommended to avoid any discussion about solutions during the
inspection session.
2. What other kinds of cooperation between the moderator and the review team would
you prefer to observe in a session?
Solutions
1. It is recommended to avoid discussions about solutions during the inspection session
as:
– It saves the inspection team’s time.
– It avoids the team’s inability to complete the session’s planned agenda.
8.5
2. What are the differences in the part played and status of the author in each of the
review methods discussed?
89
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Solution
1. The document’s author can provide the team with the required explanations and will
be able to understand the team’s comments better by listening to the discussion and
being able to add clarification questions, rather than by reading the team’s report.
2. In formal design reviews the author is required to open the session by a short
presentation of the document. Later they are required to provide explanations to
questions raised by the team. They may also express their comments to error claims
discussed by the team members.
In the inspection session it is the moderator who leads the discussion and usually
does not present the document.
In walkthrough sessions it is usually the author who initiates and coordinates the
session. They serve as the presenter of the document and usually as the review
leader.
8.6
2. Do you think that inspection teams having 15 members can achieve similarly high
levels of preparation?
Solution
1. Inspection team members are expected to participate in an overview presentation
meeting and to thoroughly read the document prior to the inspection session. They
are expected to use a checklist to support their review.
2. Participants of such a large inspection team rely on each other, namely expecting the
others to read the document thoroughly. An inspection session of this type is
expected to waste a great part of its time on explanations and comments not needed
once the document has been read prior to the session.
8.7
Pressman lists 13 golden guidelines for successful design review (see Frame 8.3).
1. Four of the golden rules deal with design review infrastructure. Can you list these
golden guidelines and elaborate on the importance of the infrastructure elements and
how they affect software quality?
2. It is often claimed that the six golden guidelines dealing with the design review
session are as applicable to inspection as they are to walkthrough sessions. Can you
90
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
list these common golden guidelines and explain the reasons for their broad
applicability?
Solution
1. Design Review Infrastructure
• Develop checklists for each type of design document, or at least for the common
ones – supports the various review activities by assuring higher completeness of
preparations for reviews and the reviews themselves.
• Train senior professionals to treat major technical as well as review process
issues. The trained professionals serve as a reservoir for DR teams. The
importance of trained DR team leaders and members is that more thorough,
effective and efficient reviews, are performed.
• Periodically analyze past DR effectiveness regarding defect detection to improve
the DR methodology. The importance of periodical analysis of the process of
DRs is by producing improved checklists, improved methodology and
procedures.
• Schedule the DRs as part of the project activity plan and allocate the needed
resources as an integral part of the software development organization's standard
operating procedures. The importance of incorporating DR activities in the
project schedule is the ability to perform DRs with no time pressures, namely a
proper review and complete defect correction process.
2. All 6 guidelines are common to all review methods as they stem from the
requirement of effective and efficient review session. Accordingly the recommended
number of participants is similar, though their affiliation may vary.
8.1
1. Consider the proposal and list possible arguments, pro and con, regarding the
change.
Solution
1. Pro arguments:
91
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
• The report will provide management with an additional and earlier feedback
source of information that will improve management’s control.
• The requirement to report to the management will cause the report to be more
balanced and of higher quality.
Con arguments:
• The awareness of the contents of the report being checked by management will
change the nature of the inspection session to being less open. As authors will
consider the possibility that a negative inspection report will harm their
promotion prospects or the level of their next task, they will strongly object to
any suggested criticism of the document and try to diminish the number of
review findings.
• On the other hand, participants will hesitate to raise discussion on subjects that
need clarification, taking into account that the discussion, no matter its results,
may harm their colleagues when management checks the report.
8.2
David Martin just finished his inspection coordinator course. After obtaining his first
appointment, he plans to add his personal secretary to the inspection team for the
purpose of serving as session scribe and producing the required reports. He assumes
that her participation will free him for the coordination tasks and enable him to conduct
the session successfully.
Solution
The secretary is expected to perform the reporting task efficiently. However, it is
expected that for performing the task he/she will require many clarifications to ensure
correct reporting. The clarification questions will break the natural flow of review
discussion, at least causing some waste of time. In cases where no clarification is
requested by the secretary one may expect a proportion of wrong or incomplete
documentation. Reporting by the coordinator himself is expected to be much more
accurate and to mention the main findings.
92
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
8.3
Solution
The solution is based on Table 8.4
1. Design reviews are made more formal by the seniority of participants and especially
by its authority to decide about the continuation of the project. It is also made more
formal by the close follow up requirements, including a planned schedule for
performing the corrections.
8.4
The chapter offers three different methodologies for team review of design documents.
2. Can more than one method be chosen and applied for the same document?
Alternatively, is it recommended to apply all three methods? List your arguments.
Solution
1. It is recommended that an organization should apply all the methodologies as well
as expert opinion. Formal design reviews are actually mandatory as a tool for
approval of software development documents and products. Inspections and
walkthroughs may be considered alternatives, so that the organization can choose to
apply only one of these methodologies. However, it is recommended to employ in
an organization both peer review methodologies so that every peer group that plans
a peer review activity can use the methodology that suits them best. The use of
expert’s/consultant’s opinion should be welcomed in cases where the organizations
lack the expertise in specialized fields.
93
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
recommended that a person will participate in more than one review activity that
refers to the same part of the document.
In general, application of all three review methodologies and even adding experts’
opinions may improve the quality of the resulting document, given that
considerations of budget and project schedule are observed.
94
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
CHAPTER 9
Review questions
9.1
Not a few software industry professionals maintain that the main goal of software
testing is “to prove that the software package is ready”.
1. Explain in your own words why this is not a suitable goal for software testing.
2. What other goals might replace the goal mentioned above, and what gains in the
effectiveness of the testing team can be expected from this change?
Solution
1. The goal of proving that the software package is ready encourages the testing team
to prepare a test plan that will support the development team by avoiding test cases
with high potential of finding errors. By this they show cooperation with the
developers with higher prospects of revealing no errors or only a few. The result is
the high possibility of releasing a low quality product.
2. The real and preferred objectives are those mentioned in Frame 9.2, namely:
Direct objectives
• To identify and reveal as many errors as possible in the tested software.
• To bring the tested software, after correction of the identified errors and
retesting, to an acceptable level of quality.
• To perform the required tests efficiently and effectively, within budgetary and
scheduling limits.
Indirect objective
• To compile a record of software errors for use in error prevention (by corrective
and preventive actions).
The gains in effectiveness are due to a testing plan that is directed to sections of
software of high error potential, according to testing experience, complexity of the
section, experience of developers, etc. As a result, the testing resources are used
more effectively, and within a given budget reveal a higher proportion of errors,
especially those which are of high severity.
95
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
9.2
Explain in your own words why big bang testing is inferior to any method of
incremental testing conducted for software packages that are not small.
Solution
Medium and large software packages are composed of many modules, interconnected
by software code instructions. As a result, an error in one module may cause software
faults in several other modules. A software fault does not necessarily happen in the
module where the original error is located. Therefore by applying big bang testing we
may frequently face a situation where we find it difficult to allocate the origin of the
error that caused the discovered software fault. Therefore in a great many of these cases
the proposed corrections are erroneous. Accordingly, by applying a big bang testing
plan, it is difficult to achieve high software quality (revealing a high percentage of
errors and performing the right corrections).
9.3
Module G12 is coupled with seven lower-level modules and only one upper-level
module.
1. Discuss how the number of couplings affects the efforts required for incremental
testing strategy.
2. Consider the case described above. What are the effects of module G12’s specific
coupling situation on the resources required to perform unit tests according to the
top-down strategy and the bottom-up strategy.
Solution
1. The number of couplings affects the incremental testing efforts by the number of
stubs and drivers required to allow testing of each of the modules.
G20
G12
G1 G2 G3 G4 G5 G6 G7
We examine the case of all 9 modules are to be unit-tested. Let us check the stubs
and drivers that are required.
96
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
In top–down testing
Stage 1: Module G20 is unit tested. A stub for module G12 is required.
Stage 2: Module G12 is unit tested. Stubs for modules G1, G2, G3, G4, G5, G6 and
G7 are required.
Stage 3: Modules G1, G2, G3, G4, G5, G6 and G7 are unit tested. No stub is
required.
In bottom–up testing
Stage 1: Modules G1, G2, G3, G4, G5, G6 and G7 are unit tested. A driver for
module G12 is required.
Stage 2: Module G12 is unit tested. A driver for module G20 is required.
Stage 3: Module G20 is unit tested. No driver is required.
9.4
Section 9.4 mentions the terms path coverage and line coverage.
1. Explain in your own words what the terms mean and list the main differences
between these coverage metrics.
Solution
1. Path coverage requires that every possible calculation path be covered by a test case.
Thus, path coverage requires that a line in the program be tested several times as
required by its inclusion in the various calculation paths. On the other hand line
coverage requires that each of the software lines be tested at least once. In other
words, we may avoid tests of calculation paths when all their lines were previously
tested.
97
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
9.5
“Bengal Tours” is a city center travel agency that specializes in tours and vacations in
Canada. The agency regularly employs permanent 25 employees. During the spring
and summer, the agency employs an additional 20–25 temporary staff, mostly
pensioners and students. The agency is considering purchasing the right to use the
software system “Tourplanex”, which supports the planning with flight and vacation site
vacancies and price information. If purchased, the software will become the main
working tool for the agency staff.
1. Discuss the importance of the training usability and operational usability tests to
be performed by the agency before it purchases “Tourplanex”.
Solution
1. The travel agency’s staff is expected to use the Tourplanex software package
hundreds of times a day in order to retrieve information related to vacancies, prices
and tour options according to customers’ inquiries and as a tool for preparing
proposals. Therefore a “friendly” software, namely one that requires less time for an
inquiry and easier to reach full control of, should be preferred. The travel agency
will need quantitative results about the average time required in order to compare
“Tourplanex” with competing software options.
Great attention should be given to the training usability achievements of
“Tourplanex” because of the temporary staff the agency is employing, and the time
that should be invested in each of these recruited temporary employees, who are
expected to serve for only few months.
2. The tests should be of two phases. Phase one should deal with training usability. The
agency should use typical temporary employees who will be trained by the software
company. The time spent in training should be listed and the performance of the
trained employees should be measured in terms of minutes (seconds) required to
reach the information needed for a typical inquiry. The performance should be
tested again after few days to measure the performance improvement reached
through regular application of “Tourplanex”. It should be noted that the lists of
inquiries should be prepared ahead and should reflect the typical composition of
inquiries in the agency. Once the quantitative results are available for management
consideration, a comparison with the current situation and competitive software
options may be performed.
98
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
“Bhealthy Ltd” is a medical insurance company that reimburses the cost of drugs and
various other medical expenses to its customers. According to current procedures,
customers are asked to present receipts of drug purchases together with the relevant
physician prescriptions and other medical documents. Reimbursement is calculated
according to the insurance agreement stipulations:
• Two lists of drugs are in effect for the purpose of reimbursement: class A and class
B.
Class A: 90% of the costs of each purchased drug are reimbursed by Bhealthy.
Minimum customer participation of $5.
For example: A $10 drug is reimbursed by $5 (customer’s participation $5).
An $80 drug is reimbursed by $72 (customer’s participation $8–10%,
reimbursement 90%)
Class B: 50% of the costs of each purchased drug are reimbursed by Bhealthy (no
excess).
• A check is prepared and sent to the customer. The insurance agreement states the
period of 45 days for the company to complete the reimbursement.
• For some class A drugs the customer should prefer to buy the medications as a
private customer as there is no reimbursement expected (drug’s price is below $5).
The procedure described proved to be very expensive for Bhealthy at the same time as
provoking much subscriber dissatisfaction. The growth in of the number of subscribers
as well as the problems of complying with the current procedure motivated a new
agreement with the licensed pharmacies. The agreement authorized the licensed
pharmacy to deduct the reimbursement sums from the drug invoices; Bhealthy will then
reimburse the pharmacies monthly for the deducted sums.
Bhealthy decided to prepare a special pharmacy software package that combines regular
pharmacy sales operations with the operations required by its agreement with the
licensed pharmacies and its subscribers.
Consider the invoicing module that prepares invoices for Bhealthy prescriptions as well
as for regular sales of prescriptions and other items at a licensed pharmacy.
1. Prepare a flow chart for the module.
2. Prepare a program flow graph for the module.
3. Calculate the cyclomatic complexity for the module.
4. Prepare the maximal set of independent paths according to (3). Document the basic
paths and indicate the added edges of each independent path.
99
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Solution
1
Start
Bhealthy
Private (1) reimbursement
Private / Bhealthy
reimbursement
3
2
1.
Yes (5)
Price > $5
No
Purchase
privately
6
No.
Fixed
participation
$5 (6) Yes.
Price > $50 Reimbursement
90%
8 7
9
End
1. Flow chart for the module
1 R4
2 3
R2 5
R1 4
6 R5
8
7
R3
2. Program flow chart for the module 9
100
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
3. (1) V(G) = R = 5
(2) V(G) = E – N + 2 = 12 – 9 + 2 = 5
(3) V(G) = P + 1 = 4 + 1 = 5
9.2
“Police Star 1000 System” is the new prestigious software system for recording all the
verbal communication (line telephone, cellular telephone and wireless) nationwide to be
instituted by the police force. One feature of the system is its ability to supply any voice
record completed in the last 12 months within 15 minutes in 98% of the applications.
The system is planned to be operative within 10 months.
1. Discuss the importance of conducting comprehensive load tests for the system.
3. What basic data about police activities would you recommend to collect in order to
plan the load test according to your recommended guidelines?
Solution
1. The system is expected to store an immense quantity of recordings. The task of
allocating the required voice records becomes more and more difficult as the voice
recording files grow. Therefore results of any test that is not performed for the full
load of recording may be misleading.
2. The load test should be performed for a recording file of the size expected for a full
year of recording. It should contain recordings of all the types of recording and of a
great variety of sources.
101
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
9.3
“Super Saving Light” is a new software system for control of street illumination and
enhancement of its economy, developed for municipality maintenance departments.
Among its functions are:
2. Partial illumination (only one of each two lights will be activated) during the first
and last 15 minutes of each illumination period activated by (1) .
Mr Jones, head of the testing team, claims that black box testing is insufficient and that
white box tests are necessary for testing “Super Saving Light”.
Support Mr. Jones’ claim with three software error examples based on the illumination
rules described above. In the examples you choose, black box test results will be “OK”,
while white box testing of the same example will detect at least one error. For each
example, explain why errors undetected by black box testing will be detected by white
box testing.
102
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Solution
The 3 test cases are presented in the following table.
In the above test cases, which are relatively simple, no error has been found.
These test cases are not able to reveal error situations in the following examples:
a. The effect of condition 3 should not be applied to the scheduled illumination time.
b. The effects of more than one conditions is not cumulative. The minimum of the
illumination directions should be applied. For example if conditions 2 and 5 are
applied, the black box and white box results are 1/6 and 1/3 of lights activated
correspondingly.
It should be noted that more elaborate black box test cases would reveal these errors.
9.4
1. What input variables are required for test cases and what are the required output
variables?
2. Suggest three to five simple test cases having low potential to identify errors.
3. Suggest three to five test cases that you believe contain serious potential for error.
4. Suggest three to five test cases to deal with boundary value situations.
103
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Solution
1. The required “Super Saving Light” tables:
– The daily scheduled lighting timetable.
– The street sections list.
Test cases
Condition
1 2 3 4 5
104
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
1 2 3 4 5
1 2 3 4 5
105
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
9.5
Referring to the “Bhealthy” case discussed in Topic 9.1, the following is the list price
for a sample of 12 medications, including the cases' reimbursement class:
1. Based on the above price list, prepare the set of test cases required for implementing
the maximal set of independent paths appropriate for your solution to Topic 9.1
question (4).
2. Assume that Bhealthy changes its minimum subscriber participation for class A
medications from $5 to $6. Will the test cases in (1) have to be changed? If yes,
make the necessary changes and present the updated test case file.
106
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Solution
1. The solution is marked in the following table.
2. The comparison of the paths for $5 and $6 is presented in the following table.
2 1–3–4–9 Behealthy 102, 106, 108, 110 102, 106, 108, 110
107
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
CHAPTER 10
Review questions
10.1
“Alpha phone” is a software package that includes the following among its features:
• It analyses the monthly traffic of incoming and outgoing phone calls according to
the classifications mentioned above.
You are called to perform a documentation test of the very elegant “alpha phone” users’
manual.
Solution
Possible documentation errors:
• For analyzing incoming and outgoing phone calls for entire months but does not
explain how to retrieve this information for a period defined by commencing and
ending dates.
• The possibility to produce a partial phone address book according to affiliation, etc.
108
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
10.2
“MPT star” is a program for calculating the annual municipal property taxes, based on
the neighborhood, the type of property (house, store, apartment, etc.), the size of the
property, the discounts to which the owner is entitled (pensioners, low income large
family, single-parent family, etc.)
Suggest a framework for stratified sampling test cases from the citizens’ file. List your
assumptions about the population’s distribution.
Solution
A proposed stratification is defined as follows:
The stratification shown above is of progressive error potential. In other words, strata 2
is of higher error potential than strata 1, strata 3 is of higher error potential than strata 2,
etc. Accordingly the higher the error potential the higher proportion of test cases
justified.
Strata 1 may be sub-divided so that each category of properties is represented where the
categories of lower frequency will be entitled to a higher percentage in the sample of
test cases.
10.3
“In most cases, the test case file preferred should combine sample cases with synthetic
cases so as to overcome the disadvantages of a single source of test cases and to
increase the efficiency of the testing process.” Taken from Section 10.2.2.
Solution
1. The main disadvantage of a random sample is its size and the very high efforts
required to perform the tests. In other words, the need for a very high number of test
109
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
The mixed methodology test case file is expected to be more effective than the
single methodology test case files in error identification.
10.4
Software testing experts claim that applying a stratified sample of real-life test cases is
more effective for identifying errors and more efficient than regular random sampling.
Solution
1. I agree with the experts’ claim. In most cases real life populations may be classified
into sub-populations where most of the population falls into one or two sub-
populations of simple cases, the rest of the cases fall into small size sub-samples, of
rare and usually more complicated cases (of much higher error potential). Applying
regular sampling means that most of the test cases will deal with the simple and
common cases with many repetitions of the same situations, giving rise to a waste of
most of the testing efforts directed to the large common sub-populations. Applying
stratified sampling enables substantially reducing the sampling proportion of these
common sub-populations and increasing considerably the sample size of rare sub-
populations, e.g., three fold and even more. The result is an increased effectiveness
and efficiency of the testing plan.
110
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
10.5
1. Explain the main advantages and disadvantages of automated tests in your own
words.
2. Referring to your answer to (1), suggest what project characteristics are most
suitable for automated testing. List your assumptions.
3. Referring to your answer to (1), suggest what project characteristics are most
unsuitable for automated testing. List your assumptions.
Solution
1. The main advantages of automated testing:
a. The tests are performed accurately and completely as planned. Manual testers
are some times inaccurate and do not perform test plans completely.
b. The tests’ documentation of findings is accurate in its lists and summary reports,
when compared with manual reporting that may be inaccurate and incomplete.
c. Automated computerized reports, compared to manual reports, are naturally
more comprehensive and allow for a greater variety of information types to be
provided.
d. Performing the tests requires almost no human effort, while manual testing is a
major “consumer” of tester's time.
e. Performance of an automated test requires much less time than performing the
same test manually. In addition, automated tests may be performed continuously
24 hours a day 7 days a week, while it is difficult to operate manual tests during
the night shift or during weekends.
f. The fact that performing automated tests is quick and does not require much in
the way of human resources, allows us to plan full size regression tests, and so
identify errors caused in unexpected parts of the package by erroneous
corrections (in package parts the planners will decide not to include manual
regression tests in order to save testers’ resources).
g. Automated testing allows performing test types that are practically impossible to
perform manually, to mention here especially, the various types of load tests.
111
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
c. The preparation of an automated test plan requires high manpower resources (of
a highly specialized team).
d. For many types of programming automated testing packages are not available.
2. Project types that are most suitable are the more complicated software packages,
where only a small part of the software is developed based on recycled modules,
provided an automated testing tool is available. In projects of this nature a detailed
and accurate control of identified errors and follow up of their correction is
essential, the capability to carry out full system regression tests is very crucial. To
these project characteristics one should add projects which are planned to serve a
great number of users, and where the availability requirements are to be achieved at
all times, especially in periods of high usage. Examples of applications of this type
are bank teller systems and police inquiry systems that serve “on line” policemen on
patrol missions.
10.6
Mr. Aleppo, the head of the software development department, claims that beta site tests
should be always carried out as early as possible in the development process as there are
no disadvantages in this method.
1. Are beta site tests really a “disadvantage free” method? If not, what are the beta site
tests' main disadvantages and risks?
2. Recommended guidelines that will minimize the risks and disadvantages in applying
beta site tests as listed in (1).
Solution
1. Beta site tests support our test program by unexpected findings that no planned test
program has identified. However there are several disadvantages:
– The information received is not the result of systematic tests and, as expected,
includes a majority of trivial findings, already identified by the testing team.
– The error reports are “not professional” and in a large number of cases do not
clearly describe the nature of the discovered error. Some of the errors reported
by beta sites are later found to be non-errors reported by mistake.
– The error documentation is in many cases not complete and/or not clear. In many
cases it is not easy to reproduce the error conditions.
– Much effort is required to examine the beta site reports and often it is not
economically justified.
2. The following are guidelines for avoiding most of the disadvantages of beta site
activities:
– Leading a customer beta site group based on follow up of beta site reporting by the
customers regarding the quality of information and the time to reaction.
112
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
10.1
“RSM–Real Time Software Magicians Ltd.” signed a contract with defense authorities
for development of “Light in the Darkness”. “Light in the darkness” is an advanced
night vision system for infantry use. The system is based on a comprehensive pattern
recognition model, whose development was completed last year at a prestigious
university. It is expected to identify the presence of a human, standing, sitting or lying,
from a distance of 100 meters. The system to be used by the soldier (“soldier’s set”)
contains a unit for geographic identification based on the satellite GPS technology, and
includes a ciphered communication system linking the soldier to headquarters.
Headquarters’ central unit for processing the data received from the night vision system
(from the front line) is not part of the “Light in the Darkness” project.
1.2 Unit for display of the identified humans on the screen of the
“soldier’s set”.
1.3 Unit for calculating and displaying on the screen the distance
to the identified humans.
2. Subsystem for 2.1 Unit for communicating the geographic location of the military
ciphered communication unit
113
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
3. Subsystem for 3.1 Unit for recording set usage time by the soldier
documentation of the
soldiers sets' usage 3.2 Unit for daily reporting of the soldier’s set usage according to
the soldier’s set identification number
3.3 Unit for producing notices about soldier’s sets that exceed
1000 hours of usage (for preventive maintenance)
4. Subsystem for 4.1 Unit for recording communication times from the units
recording of
communication times of 4.2 Unit for processing daily reports of when communications
the military units were received
Due to timetable and budget considerations, it was decided to carry out only 5 unit tests
and only 2 integration tests on the new system.
1. Provide support for the “RSM–Real Time Software Magicians Ltd.” testing team by
planning a comprehensive method to determine the priorities of the different
modules to be included in the unit-testing plan. The priorities will be based on two
criteria:
– Severity level: the severity of the damages anticipated if this module fails during
real application of the system
– Risk level: the probability that the module will fail if it is not tested and corrected
accordingly.
2. Apply the method suggested in (1) to rank the priorities of the 13 modules of “Light
in the Darkness” described above. List your assumptions.
3. Adapt the same method to determine the priorities of the integrations to be tested as
listed in the description of the example.
4. Considering that the modules have already been included in the unit test plan, does
this fact change the method for determining the priorities you reached with respect
to integrations in (3)? Applying the updated method to the integrations of “Light in
the Darkness”, is there any change in the resulting priorities?
Solution
1. An optional method for defining module priority will be discussed. The proposed
method is based on:
a. Rating of severity of module failure results by a 5-level scale.
b. Rating of risk of failure by a 5-level scale.
114
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
Level Description
Level Description
5 Very high
4 High
3 Moderate
2 Low
1 Very low
115
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
116
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
117
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
In our case module 2.1 has the same priority as module 2.2. Module 2.2 may replace
module 2.1 and become the fifth unit to be tested.
10.2
H.C. – Hardware Center Ltd. – has developed a new billing software system to bill
regular customers and H.C. credit cardholders, who include private as well as its
corporate customers. Regular customers are billed as they complete their purchase; they
are not entitled to discounts. All H.C. cardholders are entitled to a 4%–10% discount,
depending on the purchase sum and the items, and are billed monthly. Corporate
customers are entitled to additional 1%–5% discount, depending on their total purchases
during the previous year.
The average monthly total number of bills is 30,000; 92% of the bills are regular
customer purchase bills, 6% are monthly bills for private H.C. cardholders, and the rest
are monthly bills for corporate H.C. cardholders. The testing unit has decided to use a
regular random sample of 1,000 bills for its test of the new billing software. Mr Evans,
the head of the SQA group, claims that a stratified random sample of 400 bills would be
more effective for revealing the software errors and much cheaper to perform.
2. If you agree with Mr Evans, describe the stratified sampling you would suggest and
list your arguments for this choice.
Solution
1. According to the original testing plan a regular sample of 1000 will be applied. The
sample includes 920 test cases, which refer to relatively simple calculations (no
118
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
discount, billed for each purchase and no monthly bill). The monthly bills for
cardholders are much more complicated, but their testing is based on a relatively
small number of test cases.
The bills of the regular customers present a low error potential so it is possible to
reduce drastically the sample size, from 3⅓% to ½%, with no real reduction of the
possibility of detecting the errors. The sampling ratios for the monthly bills were
raised to suit the higher error potential in these modules.
3. The assumptions:
a. The monthly bills are much more complicated and justify a test case sample
bigger than their proportion in the bills “population”.
b. Repeated testing of simple test cases is actually a waste of testing resources.
10.3
Solution
1. The main issues causing higher severity of failure are: on the one hand, risk to
human life such as malfunctioning of intensive care equipment and on the other
hand risk of paralyzing the activity of an organization such as a bank or production
line.
119
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
that every failure causes damages to the developer and users, even if limited in its
extent and in the number of people or organizations that are affected.
10.4
Chapter 2 of the STP (software test plan) and chapter 2 of the STD (software test
description) are dedicated to the test environment (see Frames 10.2 and 10.3).
1. Discuss the alternative settings the planner can use, and explain the importance of
professional planning of the test environment.
Solution
1. The basic alternatives are the developer’s site and the customer’s site. Usually the
developer’s site is more convenient than the customer’s. Normally, as the
development has been performed in the developer’s premises, the site is already
extant, but changes are required to create a site that will simulate more accurately
the customer’s site. In other words, applying this alternative, the professional
planning of the required hardware and operating systems configuration as well as
the conditions and loads which are expected to prevail at the customer’s site when
the system is implemented to the customer’s site is important. Applying the second
alternative, namely performing the tests in the customer’s site, is recommended for
the system tests. However, care should be taken to perform the system tests under
the operational conditions and configuration that are expected to prevail at the
customer’s site at the time of implementation of the new system. The tests are
expected to reveal operational defects due to the inadequacy of the specific
hardware and operating systems used by the customer as well as the adequacy of the
new system’s interfaces with the existing software systems and hardware.
10.5
One would expect the STR (software test report) to be limited to a list of test results and
some statistical summaries of the results. However, Chapters 1 and 2 of the report (see
template in Frame 10.4) are divided into not less than 9 subsections devoted to the
comprehensive description of the test, its site, the participants, and the test environment.
120
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
1. Refer to the 9 sections and explain the importance of the information to be reported
in each.
2. Some of these sections provide information that could jeopardize the applicability of
the test results. List the subjects and the circumstances in which doubt could be
raised.
Solution
Chapters 1 and 2 of the STR template present 9 descriptions of the tests. Their
importance is discussed:
2. Test environment
2.1 Hardware and firmware configurations: Enables rechecking the adequacy of the
site configuration to the situation at the customer’s site. Also, enables
identification of deviations in the actual configuration of the site from the
planned site configuration.
2.2 Preparations and training prior to testing: Enables checking if the planned
training has been fully carried out according to plans. Also it allows collection of
data about actual resources required and proper schedule for training.
The following are situations, revealed according to subject mentioned above, that
might jeopardize the test results
– Performing the tests for a wrong test file
121
© Pearson Education Limited 2005
Galin: Software Quality Assurance, 1/E – Solutions Manual
122
© Pearson Education Limited 2005