eBook - ePub
Software Quality Assurance
Claude Y. Laporte, Alain April
This is a test
Share book
- English
- ePUB (mobile friendly)
- 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?
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 Technology & Engineering & Quality Control in Engineering. We have over one million books available in our catalogue for you to explore.
Information
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.
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.ā
Software
- All or part of the programs, procedures, rules, and associated documentation of an information processing system.
- 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.
Firmware
Combination of a ha...