Documente Academic
Documente Profesional
Documente Cultură
Quality Model
Page 1
SQA
Page 2
SQA
Learning Objectives
Introduction
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
8 10 20 35 45 65 80
Source: PM Magazine
SQA
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
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
45% Unusable
Page 6
SQA
Ref: Mary J. Foley, BugFest! Win2000 has 63,000 defects , ZDNet News, Feb 2000 J Foley BugFest! 63 000 defects News Feb,
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
Quality ?
Page 9
SQA
Page 10
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?
STABILO $9
SQA
Page 12
SQA
Quality Definitions 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 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
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
Subtes attribut
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
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
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
Reusability
Page 17
SQA
Quality Attributes y
Introduction Definition Quality Q Model Cost of Quality QC SQA
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 Costs y
Introduction Definition
For any product (including software products): C Cost of Quali f ity Pr roduct Cost t
Failure Cost
(internal, external)
Software released
failure costs that arise after releasing the product to the customer p Examples: customer service costs, the cost of patch.
Page 26
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
Page 27
SQA
Page 28
SQA
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
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
Failure Cost
COQ
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
Common Misconceptions
Introduction Definition Cost of Quality QC SQA Introduction
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
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
Page 37
Quality Planning y g
Introduction Definition Cost of Quality QC SQA
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
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
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
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
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
Physical Audit (software and documents In-Process Audit In Process Managerial Reviews
are consistent and ready)
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
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.
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
D f t b P Defects by Program
Pareto Chart
84% Defect ts 100 % 96%
27
Program B P
Page 47
4
Program A
1
Program C
SQA Page 48 SQA
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
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
audit
SQA Plan
Project team
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
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.
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 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
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 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
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
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.
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