Date post: | 03-Jan-2016 |
Category: |
Documents |
Upload: | meagan-wilkinson |
View: | 250 times |
Download: | 4 times |
Software Testing and Quality Software Testing and Quality AssuranceAssurance
Software Quality AssuranceSoftware Quality Assurance
1
Reading AssignmentReading AssignmentKshirasagar Naik and Priyadarshi
Tripathy, Software Testing and Quality Assurance: Theory and Practice, 2008.◦Chapter 17 Section 17.1
2
3
ObjectivesObjectivesA Deeper Understanding of
Quality Assurance◦Quality Assurance
What is software quality assurance (SQA).
4
Quality Assurance - Quality Assurance - IntroductionIntroductionQuality can not be added to a
piece of software after you have built it.◦Quality must be built into the
software from the beginning.
5
Quality Assurance - Quality Assurance - IntroductionIntroductionTwo sources of constraints that
requires specialized methods:◦Non-functional requirements that
come from the client and their application domain.
◦Constraints that come from quality standards
6
Quality Assurance for Software Quality Assurance for Software EngineersEngineers
Quality is a ubiquitous concern in software engineering.
Achieving quality pervades◦Software engineering processes,
methods, and tools; and ◦One of the main aims of project
managements.
7
Quality Assurance for Software Quality Assurance for Software EngineersEngineersQuality products can
◦Increase market shares,◦Provide long term profitability for
companies; and◦Poor quality can certainly have the
opposite effect.Yet, in spite of the focus on quality
◦It can be remarkably elusive to attain in actual software engineering projects.
8
Quality Assurance for Software Quality Assurance for Software EngineersEngineersA reason for the concern with
quality is the sheer complexity of many modern software systems.
For example,◦Approx. 10 Mbytes of object code in
an A320 airbus flight control system. ◦The aircraft has been described as
‘aircraft wrapped around a network’.
9
Quality Assurance for Software Quality Assurance for Software EngineersEngineersComplexity in software systems arises
in a number of ways.◦ The large number of modules, concurrent
processes, and diversity of platforms that must interact to achieve the aims and requirements of the system; and
◦ The development of the product itself which is subject to changes in requirements, changes in personal and the ever present technological churn.
The phrase means constantly changing technology used in implementing and engineering products.
10
What is software Quality?What is software Quality?The End-user’s Perspective
◦End-users judge the quality of a product by their interaction with it.
◦For users a system has quality if It is fit for purpose, reliable and has
reasonable performance, easy to learn and use.
Sometime, if the functionality is hard to learn but is extremely important, then users will still judge the system
to have high quality.
11
What is software Quality?What is software Quality?The Developer’s Perspective
◦Typically includes the number of faults
◦Ease of changing the system◦Ease of testing the system◦The nature of the design◦Conformance to requirements; ◦Resource usage; and performance.
12
What is software Quality?What is software Quality?The Maintainer’s Perspective
◦Similar to developer’s perspective; but also includes The simplicity and modularity of the
system, The documentation produced by the
developers; and The ease of understanding the
implementation.
13
What is software Quality?What is software Quality?Software engineers need to choose
◦Processes, tools and techniques to monitor and control the quality of the software as it is being developed.
If we can not directly monitor the attributes, ◦We often need to monitor the quality
of the processes, under the assumption that
The quality of the process influences the qualityof the product.
14
Software Quality Assurance Software Quality Assurance (SQA)(SQA)SQA encompasses
(1) a quality management approach, (2) effective software engineering
technology (methods and tools), (3) formal technical reviews that are
applied throughout the software process,
(4) a multi-tiered testing strategy,
15
Software Quality Assurance Software Quality Assurance (SQA)(SQA)
(5) control of software documentation and the changes made to it,
(6) a procedure to ensure compliance with software development standards (when applicable), and
(7) measurement and reporting mechanisms.
16
Software QualitySoftware QualitySoftware quality:
◦ Conformance to explicitly stated requirements and standards
Quality assurance: ◦ is the activity that leads to “fitness of
purpose”.Quality product:
◦ is the one that does what the customer expects it to do.
User satisfaction = compliant product + good quality + delivery within budget and schedule
17
Quality ConceptsQuality ConceptsQuality control: a series of
inspections, reviews, and tests to ensure a product meets the requirements placed upon it. ◦Includes a feedback loop to the process
that created the work product. ◦Quality control activities may be fully
automated, entirely manual, or a combination of automated tools and human interaction.
18
Quality ConceptsQuality ConceptsQuality assurance: analysis,
auditing and reporting activities.◦provide management with the data
necessary to be informed about product quality,
19
Software Quality FactorsSoftware Quality FactorsFunctionality, Usability, Reliability,
Performance, and Supportability (FURPS) quality factors◦ Functionality: feature set, capabilities,
generality of functions, and security◦ Usability: human factors like consistency, and
documentationReliability: frequency and severity of
failures, accuracy of outputs, mean time between failures, ability to recover, predictability
20
Software Quality FactorsSoftware Quality FactorsPerformance:
◦processing speed, response time, resource consumption, throughput, and efficiency
Supportability: ◦extensibility, adaptability,
maintainability, testability, compatibility, configurability
21
Why SQA Activities Pay Why SQA Activities Pay Off?Off?cost to find
and fix a defect
100
10
logscale
1
Req.Design
codetest
systemtest
fielduse
0.751.001.50
3.00
10.00
60.00-100.00
22
Key pointsKey pointsQuality must be built into the software
from the beginning.The evidence suggest that we cannot
simply fix up our software post-hoc; and◦ Add in quality attributes after building the
system. Quality assurance: is the activity that
leads to “fitness of purpose”Major software quality factors:
functionality, usability, reliability, performance, and supportability.