software testing and quality assurance software quality assurance 1

22
Software Testing and Software Testing and Quality Assurance Quality Assurance Software Quality Software Quality Assurance Assurance 1

Upload: meagan-wilkinson

Post on 03-Jan-2016

261 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Software Testing and Quality Assurance Software Quality Assurance 1

Software Testing and Quality Software Testing and Quality AssuranceAssurance

Software Quality AssuranceSoftware Quality Assurance

1

Page 2: Software Testing and Quality Assurance Software 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

Page 3: Software Testing and Quality Assurance Software Quality Assurance 1

3

ObjectivesObjectivesA Deeper Understanding of

Quality Assurance◦Quality Assurance

What is software quality assurance (SQA).

Page 4: Software Testing and Quality Assurance Software Quality Assurance 1

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.

Page 5: Software Testing and Quality Assurance Software Quality Assurance 1

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

Page 6: Software Testing and Quality Assurance Software Quality Assurance 1

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.

Page 7: Software Testing and Quality Assurance Software Quality Assurance 1

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.

Page 8: Software Testing and Quality Assurance Software Quality Assurance 1

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’.

Page 9: Software Testing and Quality Assurance Software Quality Assurance 1

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.

Page 10: Software Testing and Quality Assurance Software Quality Assurance 1

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.

Page 11: Software Testing and Quality Assurance Software Quality Assurance 1

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.

Page 12: Software Testing and Quality Assurance Software Quality Assurance 1

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.

Page 13: Software Testing and Quality Assurance Software Quality Assurance 1

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.

Page 14: Software Testing and Quality Assurance Software Quality Assurance 1

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,

Page 15: Software Testing and Quality Assurance Software Quality Assurance 1

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.

Page 16: Software Testing and Quality Assurance Software Quality Assurance 1

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

Page 17: Software Testing and Quality Assurance Software Quality Assurance 1

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.

Page 18: Software Testing and Quality Assurance Software Quality Assurance 1

18

Quality ConceptsQuality ConceptsQuality assurance: analysis,

auditing and reporting activities.◦provide management with the data

necessary to be informed about product quality,

Page 19: Software Testing and Quality Assurance Software Quality Assurance 1

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

Page 20: Software Testing and Quality Assurance Software Quality Assurance 1

20

Software Quality FactorsSoftware Quality FactorsPerformance:

◦processing speed, response time, resource consumption, throughput, and efficiency

Supportability: ◦extensibility, adaptability,

maintainability, testability, compatibility, configurability

Page 21: Software Testing and Quality Assurance Software Quality Assurance 1

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

Page 22: Software Testing and Quality Assurance Software Quality Assurance 1

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.