Software Quality Engineering INSTRUCTOR AFIFA WAJID What is

  • Slides: 32
Download presentation
Software Quality Engineering INSTRUCTOR: AFIFA WAJID

Software Quality Engineering INSTRUCTOR: AFIFA WAJID

What is software quality? May generate many different answers depending on circumstances. Alternative question:

What is software quality? May generate many different answers depending on circumstances. Alternative question: What are the characteristics for high-quality software? ØPerspective and Expectations of users involved in development, management, marketing, & maintenance of software.

Perspective & Expectations Major views of quality §Transcendental §User §Manufacturing §Product §Value based

Perspective & Expectations Major views of quality §Transcendental §User §Manufacturing §Product §Value based

Reading Task Why do you need a Quality System ? Or The need for

Reading Task Why do you need a Quality System ? Or The need for a culture of Quality?

Quality Assurance Definition: The maintenance of a desired level of quality in a product,

Quality Assurance Definition: The maintenance of a desired level of quality in a product, especially by means of attention to every stage of the process of production.

Quality Assurance Written Definition Reporting pathways Authority Product Standards

Quality Assurance Written Definition Reporting pathways Authority Product Standards

Quality Assurance Vs. Quality Control QA is a process oriented and focuses on defect

Quality Assurance Vs. Quality Control QA is a process oriented and focuses on defect prevention Quality Control is product oriented and focuses on defect identification.

QA Vs. Qc QA is a set of activities for ensuring quality in the

QA Vs. Qc QA is a set of activities for ensuring quality in the processes by which products are developed. QC is a set of activities for ensuring quality in products. The activities focus on identifying defects in the actual products produced.

Focus on QA aims to prevent defects with a focus on the process used

Focus on QA aims to prevent defects with a focus on the process used to make the product. It is a proactive quality process. QC aims to identify defects in the finished product. Quality control is a reactive process.

Goal The goal of QA is to improve development and test processes so that

Goal The goal of QA is to improve development and test processes so that defects do not arise when the product is being developed. The goal of QC is to identify defects after a product is developed and before it’s released.

Example Verification is an example of QA. Validation/Software Testing is an example of QC.

Example Verification is an example of QA. Validation/Software Testing is an example of QC.

As a tool QA is a managerial tool QC is a corrective tool.

As a tool QA is a managerial tool QC is a corrective tool.

Quality Assurance in Software Projects QA activities form an integral part of the overall

Quality Assurance in Software Projects QA activities form an integral part of the overall software process. Examining different ways that software QA activities are carried and integrated into software processes. Main Focus: Defect Handling §Problem logged, analyzed and resolved

QA in Software Projects We examine different QA activities in the general context of

QA in Software Projects We examine different QA activities in the general context of several commonly used software development processes q. Waterfall q. Spiral q. Incremental q. Iterative development processes

QA in waterfall process A typical sequence includes, in chronological order: o Product planning

QA in waterfall process A typical sequence includes, in chronological order: o Product planning o Requirement analysis o Specification o Design o Coding o Testing o Release o Post-release product support. Testing is considered to be an integral part of the waterfall development process

Defect Prevention Activities Various defect prevention activities are typically concentrated in the earlier phases

Defect Prevention Activities Various defect prevention activities are typically concentrated in the earlier phases of software development. The reason is: ØThe error sources are typically associated with activities in these early phases, such as conceptual mistakes by designers and programmers, unfamiliarity with the product domain, inexperience with the specific development methodologies, etc. ØThe vast majority of faults are injected in the early development phases, particularly in detailed design and implementation phases. Therefore, effective defect prevention through error blocking needs to be carried out during these phases.

Waterfall Model

Waterfall Model

Different QA Activities in Waterfall Model ØThe phase with QA as the focus: Testing

Different QA Activities in Waterfall Model ØThe phase with QA as the focus: Testing phase. ØQA activities carried out at the transitions from one phase to the next are shown as barriers or gates to pass. The exception to this is between testing and release, where the reviews are typically accompanied by acceptance testing. ØOther QA activities scatter over all other development phases: The general distribution scope is shown by the dotted bracket, with a focus on defect prevention in the early phases, a focus on defect removal during coding and testing phases, and a focus on defect containment in operational support.

QA in other software processes In incremental and iterative processes, the overall process can

QA in other software processes In incremental and iterative processes, the overall process can be viewed as consisting of several increments or iterations. Integration testing plays a very important role, to make sure that different parts can inter-operate seamlessly to fulfill the intended functionalities correctly together.

QA in other software processes In incremental and iterative processes, the overall process can

QA in other software processes In incremental and iterative processes, the overall process can be viewed as consisting of several increments or iterations. Integration testing plays a very important role, to make sure that different parts can inter-operate seamlessly to fulfill the intended functionalities correctly together.

Spiral Model The QA activities performed in the spiral process are similar to those

Spiral Model The QA activities performed in the spiral process are similar to those performed in incremental and iterative processes. The minor difference is typically in the risk focus adopted in spiral process, where risk identification and analysis play an important role on the decision as to which part to work on next in the subsequent spiral iteration.

Agile Model In Agile Development Phase: QA activities, particularly testing and inspection, play an

Agile Model In Agile Development Phase: QA activities, particularly testing and inspection, play an even more important role than in the traditional software development processes. For example: Test-driven development is an integral part of extreme programming. Inspection in the form of two person inspection, or programmer pairs, is extensively used.

Quality Management DEF: The processes that include all the activities of the performing organization

Quality Management DEF: The processes that include all the activities of the performing organization that determines quality policies, objectives, and responsibilities so that the project will satisfy the needs for which it was undertaken. Three critical Project Quality Management Processes: §Quality Planning §Performing Quality Assurance §Performing Quality Control

Quality Planning is defined as identifying which quality standards are relevant to the project

Quality Planning is defined as identifying which quality standards are relevant to the project and determining how to satisfy them. Inputs: Enterprise Environmental Factors, Organizational Process Assets, Project Scope Statement, and the Project Management Plan Tools and Techniques: Cost Benefit Analysis, Design of Experiments, Cost of Quality (COQ), and additional quality planning tools Outputs: Quality Management Plan, Quality Metrics, Quality Checklists, Process Improvement Plan, Quality Baseline, and Project Management Plan Updates

Perform Quality Assurance Definition: Quality Assurance is the application of planned, systematic, quality activities

Perform Quality Assurance Definition: Quality Assurance is the application of planned, systematic, quality activities to ensure that the project will employ all processes needed to meet requirements.

Input Quality Management Plan Quality Metrics Process Improvement Plan Work Performance Information Approved Change

Input Quality Management Plan Quality Metrics Process Improvement Plan Work Performance Information Approved Change Requests Quality Control Measurements Implemented Change Requests Implemented Corrective Actions Implemented Defect Repair Implemented Preventive Actions

Tools and Techniques: Quality Planning Tools/Techniques, Quality Audits, Process Analysis, and Quality Control Tools

Tools and Techniques: Quality Planning Tools/Techniques, Quality Audits, Process Analysis, and Quality Control Tools and Techniques

Outputs Requested Changes Recommended Corrective Actions Organizational Process Assets Updates and Project Management Plan

Outputs Requested Changes Recommended Corrective Actions Organizational Process Assets Updates and Project Management Plan Updates

Perform Quality Control involves monitoring specific project results to determine whether they comply with

Perform Quality Control involves monitoring specific project results to determine whether they comply with relevant quality standards and identifying ways to eliminate causes of unsatisfying results.

Input Quality Management Plan Quality Metrics Quality Checklists Organizational Process Assets Work Performance Information

Input Quality Management Plan Quality Metrics Quality Checklists Organizational Process Assets Work Performance Information Approved Change Requests, and Deliverables

Tools and Techniques: Cause and Effect Diagram, Control Charts, Flowcharting, Histogram, Pareto Chart, Run

Tools and Techniques: Cause and Effect Diagram, Control Charts, Flowcharting, Histogram, Pareto Chart, Run Chart, Scatter Diagram, Statistical Sampling, Inspection, and Defect Repair Review

Output Quality Control Measurements Validated Defect Repair Quality Baseline Updates Recommended Corrective Actions Recommended

Output Quality Control Measurements Validated Defect Repair Quality Baseline Updates Recommended Corrective Actions Recommended Preventive Actions Requested Changes Recommended Defect Repair Organizational Process Assets Updates, Validated Deliverables, and Project Management Plan Updates