software quality assurance lecture #4 by: faraz ahmed

26
Software Quality Assurance Lecture #4 By: Faraz Ahmed

Upload: lorraine-bell

Post on 11-Jan-2016

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Software Quality Assurance

Lecture #4By: Faraz Ahmed

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

Contents

Page 3: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Projects

1. Ecommerce Website2. Inventory Management System3. Point of Sale system4. Employee Management System5. Patient Management System

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

Pareto Principle

080% of the problems stem from 20% of causes

0This applies to many aspects of life such as sales.

Richest 20% Income 82.70%

Page 5: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Walkthroughs

0 Informal meetings

0Peer reviews

0Code Reviews

0Advantages0 Exchanging ideas0 Getting team on board

Page 6: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Software Inspections

0After the popular Fagan Inspection0 Planning:0 Overview: Focus and role definition0 Preparation: Reviewing of roles0 Inspection Meeting: Finding of defect0 Rework0 Follow-up: moderator verifies.

Page 7: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Roles in inspections

0Moderator

0Author/Designer/Coder

0Tester (many people possible)

Page 8: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Defect

0An error, flaw, mistake, failure, or fault in a computer program that prevents it from behaving in the intended way.

Page 9: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Defect Management Process

0A multi-step approach to defect management.

0Defects cannot be removed altogether

0But we can suppress their negative effect to some extent.

Page 10: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Defect Management Process (contd.)

0 Defect Prevention

0 Deliverable baseline

0 Defect Discovery

0 Defect Resolution

0 Process Improvement

0 Management Reporting

Page 11: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Defect Prevention

0 Identify ‘critical’ risks

0Estimate expected impact

0Minimize expected impact

Page 12: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Identify Risks

0Risks that could effect the successful completion of project.

0E.g. 0 Missing a key requirement0 A key component not working as expected0 Technology not available (e.g. as in avatar)

0Only those risks that are specific to project

Page 13: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Estimate Expected Impact

0Two important aspects: Probability and Cost

0E(stimate) = P(robability) x I(mpact)

0The impact is only low when there are reasons justifying it.

Page 14: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Minimize Impact

0 The impact becomes severe if it is left for long.

0 Eliminate the Risk

0 Reduce the Probability of a Risk Becoming a Problem:  Most strategies will fall into this category.  Inspections and testing are examples of approaches that reduce, but do not eliminate, the probability of problems.

0 Reduce the Impact if there is a Problem:  In some situations, the risk can not be eliminated, and even when the probability of a problem is low, the expected impact is high.  

Page 15: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Deliverable Baselined

0Baselined after reaching a milestone/increment

0Changes are more expensive.

0Activities0 Identify key deliverables 0Define standards for each deliverable

Page 16: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Defect Discovery

0A defect is only realized once the software engineers acknowledge a problem

0This mechanism of reporting should be available reducing the time.

0Activities0 Find Defect0 Report Defect0 Acknowledge Defect

Page 17: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Find Defect

0Ways0During development ( SQA, inspections, testing etc)

0Three categories 0 Static Techniques: Testing without running software. E.g.

Code review. 0 Dynamic Techniques: Physical execution. E.g. test cases,

unit tests. 0 Operational Techniques: found in a deliverable

Page 18: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Fact Finding!

0When Shell Oil followed the inspection process, they recorded the following results:

0 For each hour spent in the inspection process, ten hours were saved!

0 Their defect removal efficiency with inspections was 95-97% versus roughly 60% for systems that did not use inspections.

Page 19: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Report Defect

0Easier to report within team

0What happens when you are a user? 0Developers do not accept mistake0Users not sure whether it is really a problem or CHANGE

0A process is needed to facilitate this understanding.

Page 20: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Acknowledge Defects

0One hurdle is to replicate the user environment.

0Trap events as they occur!

0May lead to friction and might need arbitration!

Page 21: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Defect Resolution Process

0After a valid defect has been acknowledged

0Prioritize Risk: ‘Age’, priority and actions to be taken while fixing.

0Schedule Fix and Fix defect: In additions, artifacts might be updated.

0Report resolution

Page 22: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Report Resolution

0The nature of the fix

0When the fix would be released

0How the fix would be released.

Page 23: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Process Improvement

0The retrospective aspect of the whole process.

0 If this defect has gotten so far undetected, can their be others?

0How to minimize a similar defect way before?

Page 24: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Communicating

0Defect rates, defect trends, types of defects, failure costs.

0Changes in timeline

0Negotiations with client?

0For forecasting new projects.

Page 25: Software Quality Assurance Lecture #4 By: Faraz Ahmed

QUIZ!!

0What are non-goals?

0 In “Joel on Software”, what were the recommendations for writing a functional spec? Mention atleast one.

Page 26: Software Quality Assurance Lecture #4 By: Faraz Ahmed

Thank you for showing up early!