This document discusses software quality assurance. It defines quality as meeting specifications but notes that specifications can be incomplete or ambiguous. Software quality involves conforming to requirements, standards, and implicit expectations. An effective quality assurance plan involves organization-wide policies and project-specific standards. Quality assurance activities include reviews, testing, enforcing standards, change control, measurement, and record keeping. Benefits are fewer defects, higher reliability, and lower costs while disadvantages include difficulty for small organizations and requiring additional resources.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
78 views18 pages
SQA Basics
This document discusses software quality assurance. It defines quality as meeting specifications but notes that specifications can be incomplete or ambiguous. Software quality involves conforming to requirements, standards, and implicit expectations. An effective quality assurance plan involves organization-wide policies and project-specific standards. Quality assurance activities include reviews, testing, enforcing standards, change control, measurement, and record keeping. Benefits are fewer defects, higher reliability, and lower costs while disadvantages include difficulty for small organizations and requiring additional resources.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 18
Lecture - 3
Software Quality Assurance
Introduction
• Traditional definition of quality:
–fitness of purpose, • a quality product does exactly what the users want it to do. Fitness of purpose
• For software products,
–fitness of purpose: • satisfaction of the requirements specified in SRS document. Fitness of purpose
• A satisfactory definition of quality for
many products: –a car, a table fan, a food mixer, microwave oven, etc. • But, not satisfactory for software products. • Consider a software product: –functionally correct, • i.e. performs all functions as specified in the SRS document, –but has an almost unusable user interface. • cannot be considered as a quality product. • Another example: –a product which does everything that users want. –but has an almost incomprehensible and unmaintainable code. What is Software Quality? • Simplistically, quality is an attribute of software that implies the software meets its specification
• This definition is too simple for ensuring quality in
software systems – Software specifications are often incomplete or ambiguous – Some quality attributes are difficult to specify – Tension exists between some quality attributes, e.g. efficiency vs. reliability Software Quality • Conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software
– Software requirements are the foundation from which quality is
measured. • Lack of conformance to requirements is lack of quality.
– Specified standards define a set of development criteria that guide the
manner in which software is engineered. • If the criteria are not met, lack of quality will almost surely result.
– There is a set of implicit requirements that often goes unmentioned.
• If software conforms to its explicit requirements but fails to meet its implicit requirements, software quality is suspect. A Software Quality Plan Evolution of Quality Systems Quality control (QC)
• Quality control aims at correcting the causes
of errors: – not just rejecting defective products.
• Statistical quality control
– quality of the output of the process is inferred using statistical methods – in stead of inspection or testing of all products Quality assurance
• Basic premise of modern quality
assurance: –if an organization's processes are good and are followed rigorously, • the products are bound to be of good quality. Quality assurance
• All modern quality paradigms
include: – guidance for recognizing, defining, analyzing, and improving the production process. Software Quality Assurance • To ensure quality in a software product, an organization must have a three- prong approach to quality management: – Organization-wide policies, procedures and standards must be established. – Project-specific policies, procedures and standards must be tailored from the organization-wide templates. – Quality must be controlled; that is, the organization must ensure that the appropriate procedures are followed for each project
• Standards exist to help an organization draft an appropriate software quality
assurance plan. – ISO 9000-3 – ANSI/IEEE standards
• External entities can be contracted to verify that an organization is standard-
compliant. SQA Activities • Applying technical methods – To help the analyst achieve a high quality specification and a high quality design • Conducting formal technical reviews – A stylized meeting conducted by technical staff with the sole purpose of uncovering quality problems • Testing Software – A series of test case design methods that help ensure effective error detection • Enforcing standards • Controlling change – Applied during software development and maintenance • Measurement – Track software quality and asses the ability of methodological and procedural changes to improve software quality • Record keeping and reporting – Provide procedures for the collection and dissemination of SQA information Advantages of SQA • Software will have fewer latent defects, resulting in reduced effort and time spent during testing and maintenance • Higher reliability will result in greater customer satisfaction • Maintenance costs can be reduced • Overall life cycle cost of software is reduced Disadvantages of SQA • It is difficult to institute in small organizations, where available resources to perform necessary activities are not available • It represents cultural change - and change is never easy • It requires the expenditure of dollars that would not otherwise be explicitly budgeted to software engineering or QA Quality Reviews