Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Quality Engineering

Similar presentations


Presentation on theme: "Software Quality Engineering"— Presentation transcript:

1 Software Quality Engineering
Instructor: Afifa Wajid

2 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.

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

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

5 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.

6 Quality Assurance Written Definition Reporting pathways Authority
Product Standards

7 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.

8 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.

9 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.

10 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.

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

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

13 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

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

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

16 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.

17 Waterfall Model

18 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.

19 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.

20 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.

21 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.

22 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.

23 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

24 Quality Planning 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

25 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.

26 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

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

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

29 Perform Quality Control
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.

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

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

32 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

33 Verification & Validation
The basic quality expectations of a user are: a software performs the right functions as specified, and performs these specified functions correctly over repeated use or over a long period of time.

34 Validation Vs. Verification
The related QA activities to ensure that the right functions are performed are typically grouped as validation activities. The ones to ensure the correct or reliable performance of these specified functions are typically grouped as verification activities.


Download ppt "Software Quality Engineering"

Similar presentations


Ads by Google