Software Quality Assurance Lecture #2 By: Faraz Ahmed.

26
Software Quality Assurance Lecture #2 By: Faraz Ahmed

Transcript of Software Quality Assurance Lecture #2 By: Faraz Ahmed.

Page 1: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

Software Quality Assurance

Lecture #2By: Faraz Ahmed

Page 2: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

Contents

0 Personnel Requirements0 SQA Tasks0 Improving SQA

Page 3: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

What qualities should an SQA engineer have???

Page 4: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

What is an SQA Engineer?

An SQA engineer is a software engineer trained in the disciplines of SQA.

Page 5: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

Traits

0 Approximately 3 to 5 years developing software;

0 Experienced software engineer who has seen it all and has survived the software battles;

0 Individual seeking to advance to management or a program manager’s position;

0 Good communication skills;

0 Computer science academic background;

0 Willingness to meet and accept new challenges.

Page 6: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

0 Why would an experienced software engineer be a good candidate?

Page 7: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

0 Someone who believes he/she has had a limited role.

0 Wants to get in touch with the management more often.

0 Is not in love with technology and does not crave challenges.

Page 8: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

0 Should be a good communication-ist.

0 Must be willing to EVOLVE the methodology depending on the needs of the organization. A research-oriented individual.

0 Objectivity in assessments.

Page 9: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

SQA Process

1. Establish SQA Organization

2. Select SQA Tasks

3. Create/Maintain SQA Plan

4. Implement SQA Plan

Page 10: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

SQA Process (contd.)

5. Create/Maintain SQA Procedures

6. Identify SQA Training

7. Identify/Select SQA Tools

8. Improve Project SQA Processes.

Page 11: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

SQAactivitiesidentified:1.2.

SELECT SQATASKS

Section 3

PAR

Paragraph2.1QUALITYPPROGRAMQUALITYPROGRAM

CREATE/MAINTAINSQA PLAN

Section 4

PARAGParagraph

CREATE/MAINTAINSQA PROCEDURES

Section 6

IDENTIFY SQATRAININGSection 7

IDENTIFY/SELECTSQA TOOLS

Section 8

IMPROVE PROJECTSQA PROCESSES

Section 9

Select the SQA Tasks that SQA willperform - Identified SQA tasks are inputsto the SQA Plan.

SQA PROCESS ACTIVITY SQA PROCESS DESCRIPTION

Document the procedures for performingSQA activities - Repeatability ofperforming a specific task

Identify required trainingto perform the SQA tasks -inputs to training budget

Identify tools to ensure quality -compatibility with the softwareengineering environment

Look for efficiencies and areasfor improvement - changes to SQA policy,plan, processes, and procedures

SQA PROCESS OUTPUTS

Trained Personnel

Purchase Tool

ProjectSQAPlan

SQAProcedures

Improved process,policy, procedures

ESTABLISH SQAORGANIZATION

Section 2

Define and establish the SQAorganization

IMPLEMENTSQA PLANSection 5

PARAGParagraph

Plan the SQA activities inphase with the software development lifecycle

Implement the SQA tasks as definedin the approved Project SQA Plan

SQA tasks beingimplemented

Project Organization

Page 12: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

Establish SQA Organization

0 A Level of independence for the team.

0 Reporting possible to report higher.

Page 13: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

SQA Tasks

0 Review of Software Products, tools and facilities. 0Outline standards with which to compare softwares0Outline review process. 0E.g informal Walkthrough and Formal Inspections.

Page 14: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

0 Evaluation of Software Tools

0 Evaluation of facilities.

Page 15: Software Quality Assurance Lecture #2 By: Faraz Ahmed.
Page 16: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

Process Audits- SQA Tasks

0 Software Process Audits 0Scope of the Audit0Compliance 0Non-Compliance

Page 17: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

Software ProcessAudits

Section 3.2

PAR

Paragraph2.1QUALITYPPROGRAMQUALITYPROGRAM

SQA TASK SQA TASKS - SoftwareDevelopment Processes

SQA TASKS - SEI SW-CMM KPAs

Evaluate Software Product Review Process

Evaluate Project Planning and OversightProcess

Evaluate System Requirements AnalysisProcess

Evaluate System Design Process

Evaluate Sofware Requirements AnalysisProcess

Evaluate Software Design Process

Evaluate Coding and Unit Testing Process

Evaluate Unit Integration and Testing, CSCIQualification Testing, CSCI/HWCI Integrationand Testing, and System Qualification TestingProcess

Evaluate End-item Delivery Process

Evaluate the Corrective Action Process

Media Certification

Nondeliverable Software Certification

Evaluate Storage and Handling Process

Evaluate Subcontractor Control Process

Evaluate Deviations and Waivers Process

Evaluate Configuration Management Process

Evaluate Software Development LibraryControl Process

Evaluate Non-Developmental Software Process

Perform Configuration AuditsVerify Implementation - RequirementsManagement

Verify Implementation - Software ProjectPlanning

Verify Implementation - Software ProjectTracking and Oversight

Verify Implementation - SoftwareSubcontract Management

Verify Implementation - SoftwareConfiguration Management

Verify Implementation - OrgranizationProcess Definition

Verify Implementation - Training

Verify Implementation - IntegratedSoftware Management

Verify Implementation - Software ProjectEngineering

Verify Implementation - IntergroupCoordination

Verify Implementation - Peer Reviews

Verify Implementation – QuantitativeProcess Management

Verify Implementation – Software QualityManagement

Verify Implementation – Defect Prevention

Verify Implementation – TechnologyChange Management

Verify Implementation – Process ChangeManagement

Page 18: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

SQAP

0 Quality objectives, expressed in measurable terms whenever possible.

0 Identification of types of test, verification and validation activities to be carried out on product specification, plans and test specifications together with the methods and tools to be employed.

0 Defined entry and exit criteria for each development phase.

Page 19: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

SQAP

0 Detailed planning of test verification and validation activities to be carried out, including schedules, resources and approval authorities.

0 Specific responsibilities for quality activities such as inspections, reviews and tests,

0 configuration management and change control, measurement and reporting, defect control and corrective action.

Page 20: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

SQAP

0 Responsibilities and authority of the SQA group.

0 Resource requirements for the SQA group (including staff, tools, and facilities).

0 Schedule and funding of the project’s SQA group activities.

Page 21: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

SQAP

0 The SQA group’s participation in establishing the software development plan, standards, and procedures for the project.

0 Evaluations to be performed by the SQA group.

0 Audits and reviews to be conducted by the SQA group.

Page 22: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

SQAP

0 Project standards and procedures used as the basis for the SQA group’s reviews and audits.

0 Procedures for documenting and tracking noncompliance issues to closure.

Page 23: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

SQAP

0 Documentation that the SQA group is required to produce.

0 Method and frequency of providing feedback to the software engineering group and other software-related groups on SQA activities.

Page 24: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

SQA improving

0 Understanding project and SQA processes

0 Determining where inefficiencies or defects occur (root causes of defects)

0 Recommending changes to project processes to improve efficiency or reduce defects

Page 25: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

SQA Improving

0 Recommending improvements to eliminate the root causes of defects

0 Recommending training courses for the project team

Page 26: Software Quality Assurance Lecture #2 By: Faraz Ahmed.

0 Thank you!