Скачать презентацию Integrating Quality Assurance into the Software Development Life Скачать презентацию Integrating Quality Assurance into the Software Development Life

50aff1f20d912a911152e6af31b792d2.ppt

  • Количество слайдов: 65

Integrating Quality Assurance into the Software Development Life Cycle Leslie Tierstein, STR LLC Hilary Integrating Quality Assurance into the Software Development Life Cycle Leslie Tierstein, STR LLC Hilary Benoit, W R Systems, Ltd. 1

Overview (1) z. Why bother with QA? z. QA and the SEI CMM/CMMI z. Overview (1) z. Why bother with QA? z. QA and the SEI CMM/CMMI z. Defining the Software Development Process z. Setting up the QA Function z. Selecting the Pilot Project Integrating Quality Assurance. . . 2

Overview (2) z. Tools, Procedures and Activities z. Lessons Learned z. The next step Overview (2) z. Tools, Procedures and Activities z. Lessons Learned z. The next step - from pilot project to all projects z. Summary Integrating Quality Assurance. . . 3

What is Quality? z. Quality - “The totality of features and characteristics of a What is Quality? z. Quality - “The totality of features and characteristics of a product or service that bears on its ability to satisfy given features. ” (American Society for Quality, 1978) Integrating Quality Assurance. . . 4

What is Quality Assurance? z. Quality Assurance - “consists of all the planned and What is Quality Assurance? z. Quality Assurance - “consists of all the planned and systematic activities implemented within the quality system that can be demonstrated to provide confidence that a product or service will fulfill requirements for quality. ” Integrating Quality Assurance. . . 5

Why Bother with QA? z. Need to produce quality software products in a repeatable Why Bother with QA? z. Need to produce quality software products in a repeatable and consistent manner z. Checks and Balances z. Customer Assurance z. Carnegie Mellon’s Software Engineering Institute’s Capability Maturity Model (SEI CMM) - requires Software Quality Assurance (SQA) Integrating Quality Assurance. . . 6

SEI CMM and CMMI z. Model to gauge the maturity of the software development SEI CMM and CMMI z. Model to gauge the maturity of the software development process z. Superceded by CMM Integration (CMMI), incorporating ISO-9000 principles z. Software Process framework y. Five maturity levels y. Key Process Areas (KPAs) Integrating Quality Assurance. . . 7

SEI CMM Maturity Levels z. Level 1 - Ad hoc (chaotic) z. Level 2 SEI CMM Maturity Levels z. Level 1 - Ad hoc (chaotic) z. Level 2 - Repeatable (disciplined) z. Level 3 - Defined (standard; consistent) z. Level 4 - Managed (predictable) z. Level 5 - Optimizing (continuously improving) Integrating Quality Assurance. . . 8

SEI CMMI Maturity Levels z. Level 1 2 3 4 5 - Ad hoc SEI CMMI Maturity Levels z. Level 1 2 3 4 5 - Ad hoc Managed Defined Quantitatively Managed Optimizing Integrating Quality Assurance. . . 9

CMM/CMMI KPAs z 80 - 90% of all software development organizations z. Informal Integrating CMM/CMMI KPAs z 80 - 90% of all software development organizations z. Informal Integrating Quality Assurance. . . 10

CMM/CMMI KPAs Integrating Quality Assurance. . . 11 CMM/CMMI KPAs Integrating Quality Assurance. . . 11

CMM/CMMI KPAs Integrating Quality Assurance. . . 12 CMM/CMMI KPAs Integrating Quality Assurance. . . 12

CMM/CMMI KPAs z. Measures to quantify quality, process, and improvements Integrating Quality Assurance. . CMM/CMMI KPAs z. Measures to quantify quality, process, and improvements Integrating Quality Assurance. . . 13

CMM/CMMI KPAs z. Proactive measures to improve quality z 4 -5 organizations nationwide Integrating CMM/CMMI KPAs z. Proactive measures to improve quality z 4 -5 organizations nationwide Integrating Quality Assurance. . . 14

Define and Document the Development Process z. Software development process is the foundation to Define and Document the Development Process z. Software development process is the foundation to the QA process z. Should be: ywell-defined ysimple yclear phases yentry and exit criteria Integrating Quality Assurance. . . 15

Software Development Process/Methodology z. Strategy z. Analysis z. Design z. Build and Test z. Software Development Process/Methodology z. Strategy z. Analysis z. Design z. Build and Test z. Deploy z. Maintain Integrating Quality Assurance. . . 16

Define and Set up the QA Function (1) z. Purpose and Goals y. Control Define and Set up the QA Function (1) z. Purpose and Goals y. Control cost, schedule, quality y“Time box” of development z. Activities - vary with life cycle phase y. QA <> Testing z. How to staff? y. Programmers or non-programmers z. Skills required Integrating Quality Assurance. . . 17

Define and Set up the QA Function (2) z. Resources y. Corporate y. Per Define and Set up the QA Function (2) z. Resources y. Corporate y. Per project z. Independent Organization z. Management Support Integrating Quality Assurance. . . 18

Select the Pilot Project z. Oracle full life cycle development project z. Oracle Designer/Developer Select the Pilot Project z. Oracle full life cycle development project z. Oracle Designer/Developer z. Client-Server - Windows and HP-UNIX z. Government contract - customer requirement to achieve SEI CMM Level 2 z. Opportunity to integrate software quality assurance into the full life cycle Integrating Quality Assurance. . . 19

Integrate QA into Life Cycle Phases z. Phase entry and exit criteria - inputs Integrate QA into Life Cycle Phases z. Phase entry and exit criteria - inputs and outputs z. Quality Checkpoints z. Audits and reviews of products and processes z. Timely management notification of problems - Risk Management Integrating Quality Assurance. . . 20

Strategy Phase Integrating Quality Assurance. . . 21 Strategy Phase Integrating Quality Assurance. . . 21

QA and the Strategy Phase (1) z. Develop the QA Plan and Procedures y. QA and the Strategy Phase (1) z. Develop the QA Plan and Procedures y. MIL-STD-498 y. ISO-9000 z. Create QA records z. Determine Metrics z. Review and Analyze Requirements z. Establish the Deliverable Review Process Integrating Quality Assurance. . . 22

QA and the Strategy Phase (2) z. Project Standards and Procedures y. Shared components QA and the Strategy Phase (2) z. Project Standards and Procedures y. Shared components and their management y. Externally developed coding standards y. Internally developed standards and procedures Integrating Quality Assurance. . . 23

Tools and Techniques z. QA Records - Word templates z. QA Activities Tracking System Tools and Techniques z. QA Records - Word templates z. QA Activities Tracking System (QATS) z. Deliverable Review Route Sheets z. Quality Control Reports z. Requirements Traceability Matrix (RTM) z. Checklists and Forms Integrating Quality Assurance. . . 24

Keep QA records z Document all QA reviews and audits z Audit trail of Keep QA records z Document all QA reviews and audits z Audit trail of activity z Metrics z Sample form Integrating Quality Assurance. . . 25

Quality Assurance Tracking System (QATS) z Database z Reports z Metrics z QA activities Quality Assurance Tracking System (QATS) z Database z Reports z Metrics z QA activities tracking Integrating Quality Assurance. . . 26

Deliverable Review Process Integrating Quality Assurance. . . 27 Deliverable Review Process Integrating Quality Assurance. . . 27

Deliverable Review Route Sheet (Sample) Integrating Quality Assurance. . . 28 Deliverable Review Route Sheet (Sample) Integrating Quality Assurance. . . 28

QA and the Analysis Phase z. Begin Technical & QA Reviews and Audits y. QA and the Analysis Phase z. Begin Technical & QA Reviews and Audits y. Requirements Document y. Function Hierarchy/Process Flow Diagram y. Requirements Traceability Matrix (RTM) y. Logical Database Design y. Other deliverables, dependent on methodology and technology Integrating Quality Assurance. . . 29

Requirements (1) z. Reviewed for clarity, completeness, redundancy, and testability z. Specific enough to Requirements (1) z. Reviewed for clarity, completeness, redundancy, and testability z. Specific enough to be testable yspecify what needed to be done, ynot how to do it z. Uniquely identified - for later traceability Integrating Quality Assurance. . . 30

Requirements (2) Integrating Quality Assurance. . . 31 Requirements (2) Integrating Quality Assurance. . . 31

Requirements (3) z. Categorized by: y. Functionality y. Usability y. Performance Integrating Quality Assurance. Requirements (3) z. Categorized by: y. Functionality y. Usability y. Performance Integrating Quality Assurance. . . 32

Requirements (4) z. Verified by QA as implemented in finished application and that every Requirements (4) z. Verified by QA as implemented in finished application and that every feature of the application corresponds to a requirement z. Possible defects y. Missing functionality y. Functionality with no requirement (“creeping featurism”) Integrating Quality Assurance. . . 33

Quality Control Reports Integrating Quality Assurance. . . 34 Quality Control Reports Integrating Quality Assurance. . . 34

QA and the Design Phase (1) z. Technical and QA Reviews and Audits of QA and the Design Phase (1) z. Technical and QA Reviews and Audits of all Deliverables y. Physical Database Design y. Navigation/menus y. Module Specifications y. Prototypes x. User Interface x. Scenarios/walkthroughs Integrating Quality Assurance. . . 35

QA and the Design Phase (2) z. Updated RTM y. Configuration Control Board (CCB) QA and the Design Phase (2) z. Updated RTM y. Configuration Control Board (CCB) y. Requirements Management - Mo. SCo. W List z. PDRs and CDRs attendance (Quality Checkpoints) z. Verification of Corrective Action y. Action items y. Problem reports Integrating Quality Assurance. . . 36

Other QA Techniques (1) z. Code Walkthroughs ygroup activity z. Pair Programming z. Peer Other QA Techniques (1) z. Code Walkthroughs ygroup activity z. Pair Programming z. Peer Reviews yone-on-one yinspection Integrating Quality Assurance. . . 37

Peer Review Form Integrating Quality Assurance. . . 38 Peer Review Form Integrating Quality Assurance. . . 38

Other QA Techniques (2) z. Centers of Excellence (COE) ytraining forum yinformation exchange Integrating Other QA Techniques (2) z. Centers of Excellence (COE) ytraining forum yinformation exchange Integrating Quality Assurance. . . 39

Build and Test Phase (1) z. Configuration Management (CM) y. Version/build control through software Build and Test Phase (1) z. Configuration Management (CM) y. Version/build control through software y. Control software and documentation z. Peer Reviews and Code Walkthroughs z. Prototypes - customer demos y. Review form and follow-up z. Unit Test - formal z. Problem Tracking Integrating Quality Assurance. . . 40

Prototype Review Form Integrating Quality Assurance. . . 41 Prototype Review Form Integrating Quality Assurance. . . 41

Unit Test Checklist Integrating Quality Assurance. . . 42 Unit Test Checklist Integrating Quality Assurance. . . 42

Test Form (Sample) z Formal z “with a form” z with a review and Test Form (Sample) z Formal z “with a form” z with a review and approval process Integrating Quality Assurance. . . 43

Problem Tracking (1) Integrating Quality Assurance. . . 44 Problem Tracking (1) Integrating Quality Assurance. . . 44

Problem Tracking (2) Integrating Quality Assurance. . . 45 Problem Tracking (2) Integrating Quality Assurance. . . 45

Build and Test Phase (2) z. Integration Test y. Partially automated (“regression testing”) y. Build and Test Phase (2) z. Integration Test y. Partially automated (“regression testing”) y. Business scenarios via QA/Director z. System Test y. Customer/client involvement y. Acceptance test z. Performance Testing y. Especially for Internet web apps! Integrating Quality Assurance. . . 46

Build and Test Phase (3) z. Testing software y. Specific to target environment y. Build and Test Phase (3) z. Testing software y. Specific to target environment y. Warning: Any product list is instantly obsolete z. Performance Testing y. Mercury Interactive y. Stress tests, load tests, volume tests Integrating Quality Assurance. . . 47

Build and Test Phase (4) z. Integrated Project Teams z. Independent Validation and Verification Build and Test Phase (4) z. Integrated Project Teams z. Independent Validation and Verification (IV&V) Integrating Quality Assurance. . . 48

A Test Data Entry Screen in QA/Director Integrating Quality Assurance. . . 49 A Test Data Entry Screen in QA/Director Integrating Quality Assurance. . . 49

Entering Bugs into QA/Director Integrating Quality Assurance. . . 50 Entering Bugs into QA/Director Integrating Quality Assurance. . . 50

Deployment Phase z. Phased implementation (no “Big Bang”) y. By function/subsystem y. By organization/user Deployment Phase z. Phased implementation (no “Big Bang”) y. By function/subsystem y. By organization/user group z. QA reviews and test procedures continued z. Expedite test and delivery of modified code - fast turnaround required z. User training - review and test of training materials Integrating Quality Assurance. . . 51

Maintenance Phase z. Continue with established QA and CM procedures y. Action Items/User meetings Maintenance Phase z. Continue with established QA and CM procedures y. Action Items/User meetings y. Mo. SCo. W evaluation and followup y. Problem Reports - user accessible Integrating Quality Assurance. . . 52

Collect Project Metrics z. Areas of greatest problems/defects z. Number/results of QA audits and Collect Project Metrics z. Areas of greatest problems/defects z. Number/results of QA audits and reviews z. Test coverage and test results z. Problem Reports/Defects found - e. g. , per module, per subsystems, classification and type, time taken to resolve z. Development Time - Estimated vs. Actual z- SEI CMMI Level 4 Quantitatively Managed Integrating Quality Assurance. . . 53

Process Improvement z. Take existing process z. Analyze step-by-step z. Modify to improve ye. Process Improvement z. Take existing process z. Analyze step-by-step z. Modify to improve ye. g. , testing/QA/CM process yunit testing - formalized z Training - e. g. , COEs, Test Writing, Testing z - SEI CMMI Level 5 Optimizing Integrating Quality Assurance. . . 54

Lessons Learned z. Acceptance of QA z. What worked z. What didn’t work Integrating Lessons Learned z. Acceptance of QA z. What worked z. What didn’t work Integrating Quality Assurance. . . 55

Acceptance of QA z. QA function - perceived as “value added” z. Not confrontational/critical Acceptance of QA z. QA function - perceived as “value added” z. Not confrontational/critical z. Provide guidance, oversight, training z. Assistance in process improvement z. Well-designed QA Plan and procedures z. Concrete activities and reports z. QA Schedule z. Part of the team Integrating Quality Assurance. . . 56

What Worked z. Formal Review process of deliverables z. Strong Requirements Management and RTM What Worked z. Formal Review process of deliverables z. Strong Requirements Management and RTM z. Collaboration of QA with TM and CM z. Participation of QA in meetings z. QA sign-off in Testing z. Formal bug tracking z. Peer Reviews Integrating Quality Assurance. . . 57

What did NOT work z. Excessive paperwork for developers z. Anything causing lengthy turnaround What did NOT work z. Excessive paperwork for developers z. Anything causing lengthy turnaround on deliverables z. Expecting developers to read lengthy standards documents z. Assuming developers would enter all required RTM information z. Informal Unit Testing Integrating Quality Assurance. . . 58

Using QA on all Projects z“Clone” the process z. Use successful “artifacts” z. Target Using QA on all Projects z“Clone” the process z. Use successful “artifacts” z. Target training z. Use “Lessons learned” z. Expand the SQA group Integrating Quality Assurance. . . 59

Summary: QA activities to integrate into the SDLC (1) z Scheduled audits & reviews Summary: QA activities to integrate into the SDLC (1) z Scheduled audits & reviews of all project processes and deliverables z Maintenance of QA records of reviews and audits z Management notification of non-compliance with standards and procedures, or of notable problems z Resolution of Problem Reports and Verification of corrective action Manage the Requirements’ Traceability process Integrating Quality Assurance. . . 60

Summary: QA activities to integrate into the SDLC (2) z Managing the Requirement Traceability Summary: QA activities to integrate into the SDLC (2) z Managing the Requirement Traceability process z Peer Reviews, code walkthroughs z Including QA personnel in project and customer meetings z Providing training in standards, testing, or other QA -related topics z Independent Testing Integrating Quality Assurance. . . 61

Summary of Steps z Define and Document the Software Development Process z Verify/Obtain support Summary of Steps z Define and Document the Software Development Process z Verify/Obtain support of Top Management z Set up the QA function z Select the Pilot Project z Integrate QA activities into the development life cycle phases z Use Lessons Learned to implement QA on other projects z Expand QA group function, as required Integrating Quality Assurance. . . 62

Conclusion z. Successful deployment of pilot project z. Integration of software quality assurance into Conclusion z. Successful deployment of pilot project z. Integration of software quality assurance into the life cycle z. SEI CMM - Level 3 compliant Integrating Quality Assurance. . . 63

Quality-Related Web Sites z www. asq. org - American Society for Quality (ASQ) z Quality-Related Web Sites z www. asq. org - American Society for Quality (ASQ) z www. iqa. org - Institute of Quality Assurance z www. iso. ch - International Organization for Standardization (ISO) z www. nist. gov - National Institute of Standards and Technology (NIST) z www. qaiusa. com - Quality Assurance Institute (QAI) z www. sei. cmu. edu - Carnegie Mellon University's Software Engineering Institute (SEI CMM) z www. quality. org - Quality Resources Online Integrating Quality Assurance. . . 64

About the Authors zltierstein@earthlink. net zhbenoit@wrsystems. com Integrating Quality Assurance. . . 65 About the Authors zltierstein@earthlink. net zhbenoit@wrsystems. com Integrating Quality Assurance. . . 65