Software Quality Assurance
eBook - ePub

Software Quality Assurance

Claude Y. Laporte, Alain April

Share book
  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Software Quality Assurance

Claude Y. Laporte, Alain April

Book details
Book preview
Table of contents
Citations

About This Book

This book introduces Software Quality Assurance (SQA) and provides an overview of standards used to implement SQA. It defines ways to assess the effectiveness of how one approaches software quality across key industry sectors such as telecommunications, transport, defense, and aerospace.

  • Includes supplementary website with an instructor's guide and solutions
  • Applies IEEE software standards as well as the Capability Maturity Model Integration for Development (CMMI)
  • Illustrates the application of software quality assurance practices through the use of practical examples, quotes from experts, and tips from the authors

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Software Quality Assurance an online PDF/ePUB?
Yes, you can access Software Quality Assurance by Claude Y. Laporte, Alain April in PDF and/or ePUB format, as well as other popular books in Technologie et ingénierie & Contrôle de la qualité en ingénierie. We have over one million books available in our catalogue for you to explore.

Chapter 1
Software Quality Fundamentals

After completing this chapter, you will be able to:
  • use the correct terminology to discuss software quality issues;
  • identify the major categories of software errors;
  • understand the different viewpoints regarding software quality;
  • provide a definition of software quality assurance;
  • understand software business models as well as their respective risks.

1.1 Introduction

Software is developed, maintained, and used by people in a wide variety of situations. Students create software in their classes, enthusiasts become members of open-source development teams, and professionals develop software for diverse business fields from finance to aerospace. All these individual groups will have to address quality problems that arise in the software they are working with. This chapter will provide definitions for terminology and discuss the source of software errors and the choice of different software engineering practices depending on an organization's sector of business.
Every profession has a body of knowledge made up of generally accepted principles. In order to obtain more specific knowledge about a profession, one must either: (a) have completed a recognized curriculum or (b) have experience in the domain. For most software engineers, software quality knowledge and expertise is acquired in a hands-on fashion in various organizations. The Guide to the Software Engineering Body of Knowledge (SWEBOK) [SWE 14] constitutes the first international consensus developed on the fundamental knowledge required by all software engineers. Chapter 10 of SWEBOK is dedicated to software quality (see Figure 1.1) and its first topic is labeled “fundamentals” and introduces the concepts and terminology that form the underlying basis for understanding the role and scope of software quality activities. The second topic refers to the management processes and highlights the importance of software quality across the life cycle of a software project. The third topic presents practical considerations where various factors that influence planning, management, and selection of software quality activities and techniques are discussed. Last, software quality related tools are presented.
Flow diagram shows software quality divided into software quality fundamentals, software quality management processes, practical considerations, and software quality tools.
Figure 1.1 Software Quality in the SWEBOK® Guide [SWE 14].

1.2 Defining Software Quality

Before explaining the components of software quality assurance (SQA), it is important to consider the basic concepts of software quality. Once you have completed this section, you will be able to:
  • define the terms “software,” “software quality,” and “software quality assurance”;
  • differentiate between a software “error,” a software “defect,” and a software “failure.”
Intuitively, we see software simply as a set of instructions that make up a program. These instructions are also called the software's source code. A set of programs forms an application or a software component of a system with hardware components. An information system is the interaction between the software application and the information technology (IT) infrastructure of the organization. It is the information system or the system (e.g., digital camera) that clients use.
Is ensuring the quality of the source code sufficient for the client to be able to obtain a quality system? Of course not; a system is far more complex than a single program. Therefore, we must identify all components and their interactions to ensure that the information system is one of quality. An initial response to the challenge regarding software quality can be found in the following definition of the term “software.”
images

Software

  1. All or part of the programs, procedures, rules, and associated documentation of an information processing system.
  2. Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system.
ISO 24765 [ISO 17a]
When we consider this definition, it is clear that the programs are only one part of a set of other products (also called intermediary products or software deliverables) and activities that are part of the software life cycle.
Let us look at each part of this definition of the term “software” in more detail:
  • Programs: the instructions that have been translated into source code, which have been specified, designed, reviewed, unit tested, and accepted by the clients;
  • Procedures: the user procedures and other processes that have been described (before and after automation), studied, and optimized;
  • Rules: the rules, such as business rules or chemical process rules, that had to be understood, described, validated, implemented, and tested;
  • Associated documentation: all types of documentation that is useful to customers, software users, developers, auditors, and maintainers. Documentation enables different members of a team to better communicate, review, test, and maintain software. Documentation is defined and produced throughout the key stages of the software life cycle;
  • Data: information that is inventoried, modeled, standardized, and created in order to operate the computer system.
Software found in embedded systems is sometimes called microcode or firmware. Firmware is present in commercial mass-market products and controls machines and devices used in our daily lives.
images

Firmware

Combination of a ha...

Table of contents