Sunteți pe pagina 1din 17

Course Structure

1. 1 Software Quality Assurance


2. 3. 4. 4 5. 6. 6 7. 8. Testing Fundamentals Code-based Techniques Specification based Techniques Specification-based Inspection Technique Test Tools T tT l Measuring Software Quality TDD

Software Quality Assurance y


Introduction Definition QC Quality Cost of Quality SQA

Quality Model

Page 1

Hareton Leung 2011

SQA

Page 2

Hareton Leung 2011

SQA

Learning Objectives
Introduction

What can you do today without y y software?


Many System Functionality Requires Software
Weapon System

Define quality and learn a software q quality model y Understand cost of quality Know the difference between QC and QA Learn the activities, roles, tools of SQA and content of quality plan

Definition Cost of Quality QC SQA

Year 1960 1964 1970 1975 1982 1990 2000

% of Functions Performed f f in Software

F-4 A-7 F-111 F-15 F 15 F-16 B2 B-2 F-22

8 10 20 35 45 65 80

Software and systems engineering vocabulary: http://www.computer.org/sevocab


Page 3 SQA Page 4

Source: PM Magazine

SQA

Many Large and Complex Systems


Introduction Definition

State of the Software


Introduction Definition

GM cars have 100 MLOC (2010).

From US DOD, Software projects 60% 50% 29% 19% 2% Schedule overruns Cost overruns Never delivered Need rework Usable U bl exactly as tl delivered

Do you know?
Cost of Quality QC SQA

From IBM on 24 leading commercial companies: i l i


Every 6 large-scale software systems put into operation, 2 others are canceled. Average software project overshoots 50% schedule 68% projects overran their schedules. 3/4 of all large systems either do not function as intended or are not used.

S-Class Mercedes has as many y microprocessors as the new Airbus A380! IBM AS/400 system software has 45 MLOC. Each new release has 2-3 MLOC of new and changed code. Boeing 787 flight control software system has 6.5 MLOC, 3 times as much as the Boeing 777. Boeing 777 has 1280 onboard processors Blackhawk helicopters have almost 2000 pounds of wire connecting all th computers and sensors. i ti ll the t d
Page 5 SQA

Cost of Quality QC SQA

45% Unusable

Page 6

SQA

Microsoft Software Not Much Better


Introduction Definition Cost of Quality QC SQA

The High Cost of Failures


Introduction Definition Cost of Quality QC SQA

According to an internal Microsoft memo, the Windows 2000 product had


over 27,000 bugs 21,000 postponed 21 000 postponed bugs over 65,000 issues.

Software defects have


Wrecked a European satellite launch Destroyed a NASA Mars mission Induced a U.S. Navy ship to destroy a civilian airliner, US airliner Shut down ambulance systems in London, leading to as many as 30 deaths + many more failures Denver Airport $1.1M per day lost due to defects in baggage handling system. American Ai li A i Airlines System error incorrectly showed flights full - $50M loss! Outages in SABRE cost $20000/minute!
Page 8 SQA

Ref: Mary J. Foley, BugFest! Win2000 has 63,000 defects , ZDNet News, Feb 2000 J Foley BugFest! 63 000 defects News Feb,

Open Source Software seems better


PHP: LAMP: 0.474 def/KLOC 0.29 def/KLOC
Data from 2007
Page 7 SQA

Average of 32 OSS programs: 0.434 def/KLOC

Cost of Downtime (per Hour)


Introduction Introduction Definition Cost of Quality QC SQA

2006 data:
Brokerage operations Credit card authorization eBay Amazon.com Amazon com Home shopping channel Airline reservation center Online network fees ATM ser ice fees service $6450,000 $2,600,000 $2 600 000 $225,000 $180,000 $180 000 $113,000 $90,000 $90 000 $25,000 $14,000 $14 000

Definition Quality Q Model Cost of Quality QC SQA

Quality ?

Q lit is generally transparent when Quality i ll t t h


present, but easily recognized in its absence. Gillies

Page 9

SQA

Page 10

SQA

Which pen has higher Quality ?


Introduction Definition Quality Q Model Cost of Quality QC SQA

What is Quality? y
Quality is not a single idea it has many aspects !!
Product quality can be expressed in terms of Conformance to requirements including timeliness, cost y Fitness for use does it actually do the j job? Freedom from errors and failures is it reliable and robust? Customer satisfaction are users happy with it?

MONT BLANC Starwalker $2500


Page 11

STABILO $9
SQA

Page 12

SQA

Quality Definitions y
Introduction Definition Quality Q Model Cost of Quality QC SQA

ISO Quality Definition y


Introduction Definition Quality Q Model Cost of Quality QC SQA

1. Quality is Factual

Does what the requirement says (satisfy the requirement), but software that only meets requirements is still often inadequate! q q Developer-based view

Quality is conformance to explicit stated functional and performance requirements requirements, explicitly documented development standards, and implicit characteristics that p are expected of the developed software.
This definition combines the developer-based and user-based views on quality.

2. Quality is Perceived

User/customer is perceiver Does what the user expects (meet expectation) User-based view

Quality, like beauty, is in the eye of


the beholder.
Page 13

Quality software satisfies the stated l f f h d requirements and also meets the user expectation (which is implicit and hard to identify.)
Software requirements determine the q q quality of y the system!
SQA Page 14 SQA

Unknown author

Common Questions on Quality


Introduction Definition Quality Q Model Cost of Quality QC SQA

ISO 9126 Quality Model


External and internal quality
3-layer model for Internal and external quality Quali ity Attrib butes

1. 1 Does Quality = Absence of Errors? 2. Does Quality = Conformance to Requirements? 3. Is there a standard definition of software quality that is stated in quantifiable terms? y 4. Is software q quality absolute? 5. Is software quality specific to a particular system?
Reliability Functionality Usability Efficiency

Portability Maintainability

Suitability Accuracy Interoperability Security Functionality compliance

Subtes attribut

Maturity Fault tolerance Recoverability Reliability compliance

Understandabili y ty Learnability Operability Attractiveness Usability compliance

Time behaviour Resource utilization Efficiency compliance

Analysability Changeability Stability Testability Maintainability compliance

Adaptability Installability Co-existence Replaceability Portability compliance

Consist of: a set of attributes based on the user view of the system a refinement of these attributes into sub-attributes We define metrics to measure these attributes
Page 15 SQA Page 16 SQA

Quality Attributes (1) y


Introduction Definition Quality Q Model Cost of Quality QC SQA

Quality Attributes (2) y


Introduction Definition

Attribute Definitions
Correctness Extent to which a program satisfies its specifications and fulfills the users objectives (measured in terms of ) defect rate defects/KLOC) Reliability Extent to which a program can be expected to perform its intended function with required precision (measured in terms of failure rate failure/hour) Amount of computing resources and code required by a program to perform a function Extent to which access to software or data by unauthorized persons can b controlled th i d be t ll d Effort required to learn, operate, prepare input, and interpret output of a program (measured in terms of user satisfaction - % of users happy with the interface)
SQA

Attribute

Definitions

Quality Q Model Cost of Quality QC

Maintainability Effort required to locate and fix an error in an operational program (measured in terms of change logs ti l time and effort required to add a new f t ) d ff t i d t dd feature) Testability Flexibility Effort required to test a program to ensure that it performs its intended function y Portability Effort required to modify an operational program q Effort required to transfer a p g program from one hardware configuration and software system environment to another Extent to which a program can be used in other applications

SQA

Efficiency Integrity Usability

Reusability

Interoperability Effort required to couple one system with another


Page 18

Page 17

SQA

Mapping Users Needs to Quality Attributes


Introduction Definition Quality Q Model Cost of Quality QC SQA

Quality Attributes y
Introduction Definition Quality Q Model Cost of Quality QC SQA

Users Needs Functional

Performance

Change

Management

Users Concerns How secure is it? How often will i f il? H f ill it fail? Can it survive during failure? How easy is it to use? How much resource is needed? Does it comply with requirement? p Does it prevent hazards? Does it interface easily? How easy is it to repair? How easy is it to expand? How easy is it to change? How easy is it to transport? Is it reusable in other system? Is the software easily managed? Is performance verification easy?

Quality Attribute Integrity Reliability R li bili Survivability Usability Efficiency Correctness Safety y Interoperability Maintainability Expandability Flexibility Portability Reusability Manageability Verifiability

Different parts of the product can have different combinations of desired quality characteristics. Efficiency may be critical for certain components, while usability i i hil bilit is important f others. t t for th Identify quality characteristics that apply to the entire product from those that are specific to certain components, certain user classes, or p g particular usage situations. Document quality characteristics in the requirements specification. Try to define the priorities and preferences of these quality attributes.
Page 20

Page 19

SQA

SQA

Quality Attributes Depend on System Types


Introduction Definition Quality Q Model Cost of Quality QC SQA Introduction Definition Quality Q Model

Quality Attributes in Practice y

Cost of Quality QC SQA

Y: important, N: not relevant


Page 21 SQA Page 22 SQA

When We Buy a New Car


Will we accept delivery on an expensive new p automobile if it was in perfect condition except for a big scratch on the door? The car would deliver the same fuel economy, y, same performance, same cargo capacity, same expected service lifetime.

NO. We paid for a perfect product and that product,


p get! is what we expected to g No one expects

Page 23

Why do we accept low quality software?

a building to fall fall, a bridge to collapse, a train to derail or a plane t crash. l to h


SQA Page 24 SQA

Not so with software!!

Quality Costs y
Introduction Definition

Internal vs External Failure Cost


Introduction

For any product (including software products): C Cost of Quali f ity Pr roduct Cost t
Failure Cost
(internal, external)

Cost of Non Conformance Non-Conformance


(Cost of poor quality)

Definition Cost of Quality QC SQA

Software released

Cost of Quality QC SQA

Appraisal Cost Prevention Cost Production Cost Cost of Conformance


(Cost of good quality)

Internal failure costs:


failure costs that arise before releasing the product to the customer. d t t th t
Examples: costs of finding and fixing defects; if a defect prevents someone from doing her job, the costs of the wasted time, th missed t d ti the i d milestones, overtime, etc.

External f il E l failure cost:

failure costs that arise after releasing the product to the customer p Examples: customer service costs, the cost of patch.

COQ = COF + (COA + COP)


Prevention: costs incurred attempting to prevent or avoid errors id Appraisal: costs incurred attempting to detect errors Failure: costs incurred because the other attempts were not successful
Page 25 SQA

Page 26

SQA

Quality cost your customer too!


Introduction Definition Cost of Quality QC SQA

Example Cost Items


Introduction Definition Cost of Quality QC SQA

Customer also suffers quality-related costs. He faces significant expenses in dealing with the bad product. Sometime, poor quality may cost the customer much, much more than it costs the developer. developer

Customer Failure Costs:


Wasted time Lost data Lost business Embarrassment Frustrated employees Cost f C t of replacing product l i d t Cost of reconfiguring the system Cost of recovery software Cost of tech support Injury/death

Page 27

SQA

Page 28

SQA

Iceberg Model of COQ g


Introduction Definition Cost of Quality QC SQA

High Payback in Prevention


Introduction Definition Cost of Quality QC SQA

COQ is typically 15-25% of total cost

According to QAI QAI, P Prevention costs h i have a 10:1 payback. Appraisal cost (cost of detecting defects) have a 3:1 payback. 3 1 b k

Ref: George Webb, LTC N Patton


Page 29 SQA Page 30 SQA

Calculating the ROI based on COQ


Introduction Definition Cost of Quality QC SQA Introduction Definition Cost of Quality QC SQA

Exercise
Classify the following costs into Prevention, Failure and Appraisal:
(a) Cost of doing inspections (b) Cost of testing after a possible fix is made but before the fix is shipped (c) Customer downtime costs (d) Re making the CDs for software distribution Re-making after a fix is verified. ( ) (e) Time spent by the programmers to arrive at a p y p g fix for a reported defect (f) Cost of ISO9001 audits

(External Failure)

245000/70000 367500/82500
Page 31 SQA

Page 32

SQA

Quality is Free y
Introduction Definition Cost of Quality QC SQA Introduction

Quality Control (QC) y ( )


Return on Investment

Failure Cost
COQ

Appraisal Cost Prevention Cost Production Cost


Before Process Improvement

Failure Cost Appraisal Cost Prevention Cost Production Cost


After

Definition Cost of Quality QC SQA

COQ

Quality Control: the set of activities (inspections, reviews, (inspections reviews and testing throughout the development cycle) intended to detect, document, analyze, and correct product defects and to manage product changes Down to earth definition: QC is defect control,
error control, frustration control, and the control of all negative problems related to quality.

Cost of implementing Process Improvement can be funded by the saving from reduction in COQ

QC p p concerned with products Q people p QC people is a data collector for QAs process analysis
SQA Page 34 SQA

It takes money to save money.


Page 33

Common Misconceptions
Introduction Definition Cost of Quality QC SQA Introduction

Software Quality Assurance (SQA)


Definition Cost of Quality QC SQA

Quality can only be tested when the code is done. --- NO d Q lit can only b i Quality l be improved b removing d by i defects from the code. --- NO

SQA: Set of activities designed to evaluate the process b which software work h by hi h f k
products are developed and maintained (focus on Process, rather than product) Q p SQA encompasses:
A quality management approach Effective software engineering technology Formal technical reviews Testing strategy Document change control D t h t l Software development standard and control p ocedu e procedure Measurement and reporting mechanism
SQA

How can we remove errors earlier?


Do reviews, inspections, and walkthroughs (static analysis) of the requirements and design! Try to prevent defects getting into the source code.

Page 35

SQA

Page 36

Assumption of SQA
Introduction Definition Cost of Quality QC SQA Introduction Definition

SQA
Key goal: achieve high quality software product. product How?
Monitor the software and the development process E Ensure compliance with standards and procedures li ith t d d d d Bring needs for improvement to managers.
Cost of Quality QC SQA

B A C D

Development Process

Product

Benefits
reduce the number of defects and thus cause higher reliability that will result g y reduce maintenance costs reduce lif cycle cost of software d life l t f ft
SQA Page 38 SQA

A quality process produces a quality product Thus, only need to look at the Process

reduce the testing time and effort in greater customer satisfaction

Page 37

Software Quality System or y y


Introduction Definition Cost of Quality QC SQA Plan Tools Roles

Quality Planning y g
Introduction Definition Cost of Quality QC SQA

Software quality management system


Software quality system consists of the managerial structure, responsibilities, activities, capabilities and resources to ensure that the developed software products have the desired quality. f d h h d d l

Quality Manual SQA Plan

Quality planning

Details of the quality q y management system is contained in a quality manual, which contains
standards, procedures and guidelines ( influenced by external standards, such as ISO 9001.) )
Page 39

a standard is instruction of how a project document or program code is to be displayed a procedure is a step-bystep set of instructions describing how a particular activity is to be done a guideline consists of id li i t f advice on best practice.
SQA

Plan Tools Roles

For all projects

Input: Risk p assessment, Specific requirements of project

For a particular project

Most companies should have a Quality Manual defined for their quality management system, which should be q y g y , applicable for almost all projects
Page 40 SQA

SQA Plan (for a project)


Introduction Definition Cost of Quality QC SQA Plan Tools Roles

IEEE Standard for SQAP


Introduction Definition Cost of Quality QC SQA Plan Tools Roles

A plan for conducting the QA activities Provides a road map for doing SQA SQA. Defines how adherence to standards will be monitored (e.g., coding standards) (e g Include
quality standards, methodologies, procedures, and tools for y g

730-1998 IEEE Std 730 1998


Standard for Software Quality Assurance Plans

IEEE Std 730.1-1995


G id f S ft Guide for Software Quality Assurance Q lit A Planning

performing the QA activities procedures for contract review and coordination procedures for identification collection filing maintenance identification, collection, filing, maintenance, and disposition of quality records resources, schedule, responsibilities plans for monitoring each activity checklist for activities that have to be carried out to assure the quality of the product product.
SQA

Plan to do quality work. If you dont Pl t d lit k d t plan for quality, you probably wont get it t it. Watts S. H W tt S Humphrey h
Page 42 SQA

Page 41

Contents of SQA Plan


Introduction Definition Cost of Quality QC SQA Plan Tools Roles

Section 5- Standards, Practices, Conventions and Metrics


Introduction Definition Cost of Quality QC SQA Plan Tools Roles

Section 1 - Purpose list software covered state portion of software life cycle covered Section 2 - Reference Documents complete list of documents referenced elsewhere Section 3 - Management organization structure t k tasks tasks to be performed relationship between tasks and checkpoints sequence of tasks Responsibilities of each organizational unit
Page 43

Section 4 - Documentation
identify required documents state how documents will be evaluated minimum documents SRS - Software Requirements Specification SDD - Software Design Description SVVP S. Verification and Validation Plan SVVR - S. Verification and Validation Report User documentation - manual, U d t ti l guide SCMP S. Configuration a age e t a Management Plan

Identify standards, practices, conventions and metrics to be applied How compliance is to be monitored and assured Minimum documentation standards, logic structure standards, coding standards, testing standards l t d d t d ti selected SQA product and process metrics e.g., branch, decision points coverage

Section 6 - Reviews and Audits


Purpose: define what reviews/ audits will b d dit ill be done, how they will be accomplished what further actions h t f th ti are required

Minimum set of activities:

Physical Audit (software and documents In-Process Audit In Process Managerial Reviews
are consistent and ready)

in SRS have been met) i h b t)

Software Requirements Reviews Preliminary Design Review Critical Design Review SVVP Review Functional Audit (check all requirements

SQA

Page 44

SQA

Section 7 - Test
Introduction Definition Cost of Quality QC SQA Plan Tools Roles

Tools of SQA
Introduction Definition Cost of Quality QC SQA Plan Tools Roles

All tests that are included in SVVP Practices and Procedures for reporting, tracking, and resolving problems O i ti l ibiliti Organizational responsibilities identify the id tif th special software t l t h i i l ft tools, techniques and d methodologies Section purpose p p 0 Control 10 - Code Co t o describe use 11 - Media Control 12 - Supplier Control (for outsourcing) 13 - Records - collection, maintenance and R d ll ti i t d retention 14 - Training 15 - Risk Management
SQA

Section 8 - Problem Reporting

1. Measurements - draw conclusions on process adherence based on measurement. SQA does not collect data, but use the raw and analysed d t d l d data. Techniques used in analysis include:
trend data, direct measurement, failure analysis, process cause and effect, Pareto analysis, and task entrance/exit criteria.

Section 9 - Tools, Techniques & Methodologies

2. Audits - check adherence to working procedures and to verify project progress 3. Review - i 3 R i inspect project d t j t documents t
Page 46 SQA

Page 45

Use of Measurement Example :


Introduction Definition Cost of Quality QC SQA Plan Tools Roles

Example Defect Types Distribution


Introduction Definition Cost of Quality QC SQA

D f t b P Defects by Program
Pareto Chart
84% Defect ts 100 % 96%

Plan Tools Roles

27
Program B P
Page 47

4
Program A

1
Program C
SQA Page 48 SQA

Identify program which has the most defects

Another Example: Use of Measurement


Introduction Definition Cost of Quality QC SQA Plan Tools Roles

Quality Audit (1)


Introduction Definition Cost of Quality QC SQA Plan Tools Audit Review Roles

A company use 1, 2, 3, and 4 to prioritize customer reported problems. (1 is most severe). But, priority 3 and 4 problems are easier to locate/fix than priority 1 and 2 problems. The following table show the problem report for June.
No. N 101 102 103 104 105 106 107 108 priority i it 3 2 4 1 1 3 4 2 report d t t date 1/6 2/6 2/6 2/6 4/6 4/6 10/6 10/6 start diagnosis t t di i 5/6 4/6 2/6 4/6 4/6 4/6 10/6 14/6 fix d t fi date 6/6 8/6 3/6 7/6 8/6 5/6 11/6 16/6

A systematic and independent examination to determine whether quality activities and related results comply with planned arrangements and whether these arrangements are implemented g p effectively and are suitable to achieve objectives. Type of Quality Audit
Internal / External Planned / Ad hoc / Follow-up ocess Quality ud t oduct Quality System ud t Qua ty Syste Audit / Process Qua ty Audit / Product Quality Audit / Service Quality Audit Most common is internal, planned, quality system audit.
Page 50 SQA

What do you infer from this data? Wh t d i f f thi d t ? What corrections does the organization need? What would be the metrics that you would suggest for the problem fixing activity?
SQA

Page 49

Quality Audit (2)


Introduction Definition Cost of Quality QC SQA Plan Tools Audit Review Roles

Software Reviews
Introduction Definition Cost of Quality QC

Purpose: Evaluate the need for improvement or corrective action Auditor Characteristics Ch t i ti
Involve 2 parties: auditor and audited party (project team) t ( j tt ) Require trained and competent audit team Provide Audit Report containing findings to the senior management Lead to corrective actions and co seque t consequent improvements p o e e ts
Page 51 SQA

Purposes: Reviews are

audit

SQA Plan

Project team

Tools Audit Review Roles

applied at various points during software development and serve to uncover errors in analysis, design, code and testing. A software review uses a group of people to:
point out needed improvements to product confirm those parts of the product in which d ti hi h improvement is needed achieve technical work of more uniform quality
Page 52

2 types of reviews:
i f informal reviews: l i informal meetings and informal desk checking formal reviews: walkthroughs, inspection

Benefit:
The early discovery of software defects so that each defect may be corrected prior to the next phase of development. development
SQA

Formal Technical Reviews


Introduction Definition Cost of Quality QC SQA Plan Tools Audit Review Roles Introduction

Review Meeting g
Definition Cost of Quality QC SQA Plan Tools Audit Review Roles

A formal technical review (FTR) is a SQA activity performed by software engineers with the objectives:
to uncover errors in function, logic or implementation of the software; to verify that the software meets its requirements; to ensure that the software has been developed according to the standards; to achieve uniform software; to make projects manageable.

Review meeting follows these rules:


3 - 5 people should be involved; advance preparation should occur but should require no more than 2 hours of work for each person Duration of meeting: less than 2 hours. Focus on a specific part of the product

FTR also serves to educate new team members. Each FTR is considered successful only if it is properly p planned, controlled and attended. ,
Page 53 SQA

Who participate in the review meeting: review leader reviewers (one of them is recorder) and leader, recorder), the producer. g g , The p producer organizes a "walk through" of the p product, explaining the material, while the reviewers raise issues based on their advance preparation.
Page 54 SQA

Review Reporting & Record Keeping


Introduction Definition Cost of Quality QC SQA Plan Tools Audit Review Roles Introduction

Review Guidelines
Definition Cost of Quality QC SQA Plan Tools Audit Review Roles

During the FTR, the reviewer records all issues that have been raised h h b i d At the end of the review, make decisions:
Accept the work product with further modification Reject the work product due to errors Accept the work under some conditions

Guidelines for the conduct of FTR must be established in advance, advance distributed to all reviewers agreed upon and reviewers, upon, then followed. Guidelines:
- review the product, not the producer - set an agenda and maintain it t d d i t i - limit debate and rebuttal - dont attempt to solve every problem noted - take written notes - limit the number of participants and insist upon advance preparation p y product that is likely to be reviewed - develop a checklist for each p - allocate resources and time schedule for FTRs - conduct meaningful training for all reviewers - Learn from early reviews
Page 56 SQA

Finally, Finally a review summary report is produced produced, with the following information:
What was reviewed Who reviewed it What were the findings and conclusions

Page 55

SQA

SQA Responsibilities
Introduction Definition Cost of Quality QC SQA Plan Tools Roles

Relation between QA and QC


Introduction Definition Cost of Quality QC SQA Plan Tools Roles

Review plans for completeness Participate in design and code reviews Review test plans for completeness Audit samples of test results Audit Software Configuration Management performance A dit S ft C fi ti M t f Participate in project management reviews

QA QA checks on QC
QA representative p Auditors QA management Assessment body

Prevent defects
In theory, QA engineers y g and testers should do different things, but in reality, QA engineers are usually testers who know how to improve various processes. A common business practice uses "QA engineer" and Test engineer" i " interchangeably.
SQA

Other Duties:
Tailor QA procedures to the specific project p p p j SQA will never evaluate technical content itself, but the adherence to standards, practices and processes. SQA will say that code is not documented or reviewed properly but will never say that the logic is properly, incorrect.
Page 57 SQA

QC
Project management Project staff Collect data Ensure that the required qualities are built into the product find and address defects that have not been prevented
Page 58

QC
Introduction Definition Cost of Quality QC SQA Plan Tools Roles

QA
Introduction Definition Cost of Quality QC SQA Plan Tools Roles

QA Independence & Reporting


Senior Management
Independent Reporting
Project Manager Quality Manager If SQA does not report to someone high enough in the organization t give it i ti to i some clout, it will not work. QA should not report to the project manager.

QA is proactive. Defect QC is done after the p prevention oriented rather product is built. built than defect detection oriented. Hence it is usually We know defect prevention is reactive. always better than defect Expensive. For detection. example, correcting Intended to catch the defects as the design at the close to the point of injection as system testing stage. possible rather than let the Oriented towards defects trickle down to defect detection subsequent levels. at e than rather t a Applies to the process rather prevention. than the end-product. Both QA and QC take places throughout the entire software development process.
SQA

Project Team

QA

Page 59

Page 60

SQA

Different Roles
Introduction Definition Cost of Quality QC SQA Plan Tools Roles

Question
Introduction Definition Cost of Quality QC SQA Plan Tools Roles

Role of QA: identify process flaws and

weakness, weakness improve the process; QA planning, planning record keeping, analysis and reporting QA as a guide to improve the software development process, such as:
test process maintenance process p support process: quality, CM, and other

Which activity is QC, which QA :


(a) (b) (c) (d) (e) Add the code reviews as a means of defect prevention. Doing acceptance testing Audits for ISO9001 Running the tests for a product after it is built Verifying that all scheduled tests are run

Role of management: use information from

In small organization, software managers can do the work of SQA, in larger ones they cannot. Beyond 15 20 developers a SQA group is a must! 15-20 developers,
Page 61 SQA Page 62 SQA

A Story
In ancient China there was a family of doctors. A doctor was asked which of his family was the best. I tend to the sick and dying with drastic and dramatic treatments, I and on occasion someone is cured and many people know me. My elder brother cures sickness when it just begins begins, and his skills are known among the local peasants and neighbors. My eldest brother is able to sense the spirit of sickness and eradicate it before it takes form. His name is unknown outside our home.

Why Management Dont Support SQA


Introduction Definition Cost of Quality QC SQA Plan Tools Roles

Same Story (in Chinese)

Solving problems is a high-visibility p process. Preventing problems is low-visibility.

But, which is more beneficial?

Page 63

SQA

Page 64

SQA

Review Questions
1 What is the definition of quality? 2 How many quality attributes? 3 COQ has how many components? 4 What is the purpose of SQA? 5 Compare Audit and Technical Review.

Summary
Software quality is conformance to explicit stated and implicit requirements. Software quality may be modeled as a set of attributes, including correctness, reliability, , g , y,
efficiency, testability, usability. COF and COA.

Cost of quality includes 3 components: COP, Quality is free because the saving from improvement can be used to fund the improvement project. SQA focuses on the process process. To be successful, SQA should be independent of the project team
SQA Page 66 SQA

Page 65

Reference
Information technology - Software life cycle processes, ISO/IEC 12207 Lewis, W. E., Software Testing and Continuous Quality Improvement, CRC Press, 2008 O Regan, G ORegan G., A Practical Approach to Software Quality Springer Quality, SpringerVerlag, 2002 Schulmeyer, G. G., Handbook of Software Quality Assurance, 4th ed., A t h H d Artech House, 2008 Software Engineering Standards Committee of the IEEE Computer Society. IEEE Standard for Software Quality Assurance Plans, IEEE Std 730-2002. Software QA Testing and Test Tool Resources, http://www.aptest.com/resources.html http://www.rspa.com/reflib/QualityMgmt.html#SQA

Page 67

SQA

S-ar putea să vă placă și