Chapter 1
Chapter 1
The uniqueness of software quality assurance The environments for which SQA methods are developed
(significantly modified by R. Roggio, Fall 2011)
OHT 1.2
Introduction
Why Quality Assurance? With all the methodology wars, numerous processes, huge number of tools to assist in software development, why this separate topic? What makes it important that it deserves separate treatment? Why do so many companies add disclaimers to their software?
Dont warranty the documentation Not responsible for direct, indirect, consequential, loss?
Galin, SQA from theory to implementation Pearson Education Limited 2004
OHT 1.3
1. Identify the unique characteristics of software as a product and as process that justify separate treatment of its quality issues. 2. Recognize the characteristics of the software environment where professional software develepment and maintenance take place
OHT 1.4
High complexity
The potential ways in which a software product can be used with different data / data paths reflecting different incoming data is almost infinite. Manner in which industrial products can be used are usually well-defined. Think about software: every loop with different values of data reflects a different opportunity to see software fail.
Galin, SQA from theory to implementation Pearson Education Limited 2004
OHT 1.5
OHT 1.6
OHT 1.7
Product Development:
Industrial: test product; voltages; performance; strength; size; .ready to distribute to markets Computer Software: once prototype and system testing are concluded, product is ready for deployment
OHT 1.8
OHT 1.9
Product Manufacturing:
Industrial: Usually defects uncovered here; easily fixed.
Typical burn-in problems; another view of product; stabilizes. These represent additional opportunities to discover defects.
Computer Software:
We merely copyright, print copies of software and manuals No real chance for additional quality views No real chance for discovering additional defects
OHT 1.10
Best chance to really detect defects occurs during the software development process itself!
The need for special tools and methods for the software industry is reflected in the professional publications as well in special standards devoted to SQA, such as ISO 9000-3, Guidelines for the application of ISO 9001 to the development, supply, and maintenance of software. Another: ISO 9004-2: Quality Management and Quality Systems Elements: Guidelines for the Services. These characteristics of software complexity, invisibility, and limited opportunity to detect bugs has led to the development of the ISO Guidelines and an awareness of real SQA methodology. Galin, SQA from theory to implementation
OHT 1.11
Important to note that quality issues seem to center around software development professional activities undertaken by development and maintenance organizations vice an individual. Quality issues govern professional software development. This is our focus: large scale development rather than individual application development Here are some of our main environmental issues:
OHT 1.12
Being contracted Subjection to customer-supplier relationship Requirement for teamwork Need for cooperation and coordination with other development teams Need for interfaces with other software systems Need to continue carrying out a project while the team changes Need to continue maintaining the software system for years
Galin, SQA from theory to implementation Pearson Education Limited 2004
OHT 1.13
SQA Environment
Being Contracted:
Professional software development is almost always contracted.
Have requirements / supplied requirements (hopefully)
But may have in-house customer representatives. Or, customer representatives available
OHT 1.14
SQA Environment
Customer availability / relationship is essential and often problematic whether reps are in-house or not.
OHT 1.15
SQA Environment
Required Teamwork
We need teams due to
Time required for development.
Workload is too much for a single person
OHT 1.16
SQA Environment
May be that specialized hardware requires cooperation. Other teams may have developed similar software for the client and can offer tremendous help.
OHT 1.17
OHT 1.18
SQA Environment
OHT 1.19
OHT 1.20
SQA Environment
OHT 1.21
SQA Environment