0% found this document useful (0 votes)
445 views

CS341 Software Quality Assurance and Testing - Tutorial2-Solution

This document provides a tutorial on software quality assurance and testing. It discusses the differences between the IEEE definition of SQA and an expanded definition. Quality control is a part of quality assurance, with QC focusing on evaluation and QA focusing on prevention and minimization of costs. Substantial investment in preventing and eliminating software errors is necessary due to the damage errors can cause. Adhering to coding and documentation standards and templates is important for maintainability and understandability of code. The tutorial also provides tasks on researching and presenting a software quality standard and its applicability to ensuring software quality.

Uploaded by

Aman Prasad
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
445 views

CS341 Software Quality Assurance and Testing - Tutorial2-Solution

This document provides a tutorial on software quality assurance and testing. It discusses the differences between the IEEE definition of SQA and an expanded definition. Quality control is a part of quality assurance, with QC focusing on evaluation and QA focusing on prevention and minimization of costs. Substantial investment in preventing and eliminating software errors is necessary due to the damage errors can cause. Adhering to coding and documentation standards and templates is important for maintainability and understandability of code. The tutorial also provides tasks on researching and presenting a software quality standard and its applicability to ensuring software quality.

Uploaded by

Aman Prasad
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

CS341 Software Quality Assurance and Testing

Tutorial 2 - Solution

Software Quality Assurance and Testing

Objectives
At the end of this tutorial activity you should be able to:

1. Analyze and apply the concepts of software quality


2. Understand and present various software quality standards

Task 1 – Short Questions on Software Quality Basics


1. What are the differences between the IEEE definition of SQA and the expanded
definition used?
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. According to the IEEE definition of SQA, quality control (QC) is not equated with
quality assurance (QA).
a. In what respects does QC vary from QA?
b. Why can QC be considered part of QA?

Solution
a. 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.

1|Page
Course Coordinator: Dr.Vani Vasudevan
b. 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.

3. 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.
1. Do you agree with this view?
2. Discuss the outcome of accepting these views.

Solution
1. No. 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. 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.

4. 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?
2. If yes, could you suggest why his/her position was so decisive?

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.

2|Page
Course Coordinator: Dr.Vani Vasudevan
– Extra difficulties to an inspection team and testing team that may result in lower than regular
rates of error detecting.

Task 2 –research and presentation on software quality standards


The purpose of this exercise is to research on the following quality standards and evaluate its
applicability to ensuring quality in software systems.
a. ISO 9001
b. ISO 9002
c. ISO 9003
d. SEI Capability Maturity Model (CMM)
e. SEI Personal Software Process (PSP)
f. SEI Capability Maturity Model Integration (CMMI)
g. SEI Team Software Process (TSP)

Students have to form a group of 4 members and choose a quality standard to research on. The
findings of the research will need to be presented to the class using presentation software.
Outline of the presentation should include
1. Introduction on the Standard chosen
a. What does it cover?
2. Where & how is it applied?
3. Its Applicability in ensuring quality in software.
4. Pros and Cons of the standard

3|Page
Course Coordinator: Dr.Vani Vasudevan

You might also like