bugs – from finding to preventing

28
1 EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo

Upload: saad

Post on 20-Feb-2016

47 views

Category:

Documents


7 download

DESCRIPTION

Bugs – From Finding to Preventing. Jacky Guo. About this presentation. Overview Testing vs. Quality Engineering Start preventing bugs. Objectives. After this presentation, you'll be able to: Identify a phased approach for preventing bugs Identify two actions for tomorrow to prevent bugs. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Bugs – From Finding to Preventing

1EMC CONFIDENTIAL—INTERNAL USE ONLY

Bugs – From Finding to Preventing

Jacky Guo

Page 2: Bugs – From Finding to Preventing

2EMC CONFIDENTIAL—INTERNAL USE ONLY

About this presentation

•Overview

– Testing vs. Quality Engineering

– Start preventing bugs

Page 3: Bugs – From Finding to Preventing

3EMC CONFIDENTIAL—INTERNAL USE ONLY

Objectives

• After this presentation, you'll be able to:

– Identify a phased approach for preventing bugs

– Identify two actions for tomorrow to prevent bugs

Page 4: Bugs – From Finding to Preventing

4EMC CONFIDENTIAL—INTERNAL USE ONLY

Page 5: Bugs – From Finding to Preventing

5EMC CONFIDENTIAL—INTERNAL USE ONLY

Test vs. Quality Engineering (SQE)

"Test: to try something out… in order to find out… how well it works…"

"Engineering: the application of science in the design planning, construction and maintenance of…

manufactured things"

Page 6: Bugs – From Finding to Preventing

6EMC CONFIDENTIAL—INTERNAL USE ONLY

Test vs. Quality Engineering (SQE) (continued)

Test• Late in the timeline• Reactive• Find defects • Singular in affect

Quality Engineering• First in the timeline• Proactive and

reactive• Understand defects• Multiplicative in affect

Page 7: Bugs – From Finding to Preventing

7EMC CONFIDENTIAL—INTERNAL USE ONLY

Phased approach

• 3 elements– Clearly written requirements/specs– "Look" at code– "Test" early

Page 8: Bugs – From Finding to Preventing

8EMC CONFIDENTIAL—INTERNAL USE ONLY

Phase 1: how do I start?• Written requirements– Clarify user& user scenario– Have your design principle

• Simple– One Step instead of two or three– Avoid repeated things – Batch command

• Bug the documents– "Does everyone see the same picture?"– "Will" versus "might, should, desirable"

• Testability/ Sustainability• SMART

Page 9: Bugs – From Finding to Preventing

9EMC CONFIDENTIAL—INTERNAL USE ONLY

Page 10: Bugs – From Finding to Preventing

10EMC CONFIDENTIAL—INTERNAL USE ONLY

Page 11: Bugs – From Finding to Preventing

11EMC CONFIDENTIAL—INTERNAL USE ONLY

Page 12: Bugs – From Finding to Preventing

12EMC CONFIDENTIAL—INTERNAL USE ONLY

Page 13: Bugs – From Finding to Preventing

13EMC CONFIDENTIAL—INTERNAL USE ONLY

Page 14: Bugs – From Finding to Preventing

14EMC CONFIDENTIAL—INTERNAL USE ONLY

Phase 1: how do I start? (continued)"Look" at Dev Design• Understand dev design

AssumptionDependencyWork flowData flowError/Exception handling/Log system

• Cover different user scenario• Testability• Risk

Page 15: Bugs – From Finding to Preventing

15EMC CONFIDENTIAL—INTERNAL USE ONLY

Page 16: Bugs – From Finding to Preventing

16EMC CONFIDENTIAL—INTERNAL USE ONLY

Phase 1: how do I start? (continued)"Look" at code• Code inspections or reviews– Reviews are light-weight– Target code subsets– Inspect only the most critical/difficult sections.

• Static analysis– Built into VS2005– Find Bugs

• Compiler warnings• Debugging skill

Page 17: Bugs – From Finding to Preventing

17EMC CONFIDENTIAL—INTERNAL USE ONLY

Page 18: Bugs – From Finding to Preventing

18EMC CONFIDENTIAL—INTERNAL USE ONLY

Page 19: Bugs – From Finding to Preventing

19EMC CONFIDENTIAL—INTERNAL USE ONLY

Phase 1: how do I start? (continued)

Set the example• Test requirements• Test design– Archive/version control(Testlink)– Reviewed by program manager and developers

• Test code– Small code reviews

Page 20: Bugs – From Finding to Preventing

20EMC CONFIDENTIAL—INTERNAL USE ONLY

Phase 1: done

Congratulations• You have just grabbed low-hanging fruit• You have prevented countless bugs• You have risen above at least 50% of the Industry

Now what?

Page 21: Bugs – From Finding to Preventing

21EMC CONFIDENTIAL—INTERNAL USE ONLY

Phase 2: change the process

Learn about your bugs• Find the cause– Unexpected customer requirement?– Vague spec?– Rushed design?– Domain knowledge?– Code error?

• Be gentle, accurate and honest• Make a change

Page 22: Bugs – From Finding to Preventing

22EMC CONFIDENTIAL—INTERNAL USE ONLY

Phase 2: change the process (continued)

Assess the value/impact of that change• Hard Metrics– Defects per 1K LOC– Test cycles to ship criteria

• Soft Metrics– Less panic at the end– Fewer pizzas ordered– People are happier

Page 23: Bugs – From Finding to Preventing

23EMC CONFIDENTIAL—INTERNAL USE ONLY

Call to action

• Start small, get a win– What are people most upset about?– What is the low-hanging fruit?– What does the RCA data say?

• Be prepared to set the example

Page 24: Bugs – From Finding to Preventing

24EMC CONFIDENTIAL—INTERNAL USE ONLY

Call to action (continued)

What can you do tomorrow (pick 1)?• Get a best practice on the schedule• Document one requirement or design– Get it reviewed

• Code-review one critical section• RCA 10 bugs• Implement 10 unit tests

Page 25: Bugs – From Finding to Preventing

25EMC CONFIDENTIAL—INTERNAL USE ONLY

SUMMARYReview process

•Requirement spec review•Dev Design review•Test Plan review(involve Dev)•Code Review(including bug fix)•Release spec review

Page 26: Bugs – From Finding to Preventing

26EMC CONFIDENTIAL—INTERNAL USE ONLY

SUMMARYTest case Management

• TC from Bugs by customer/external users• TC from review dev design• TC from user scenario• TC from Bugs review in case of regression• Regression Test strategy("diff" VS "full")• BVT runs before Dev Check in

Page 27: Bugs – From Finding to Preventing

27EMC CONFIDENTIAL—INTERNAL USE ONLY

SUMMARYBug Management

•Map to TC•Bug quality•Root cause(process may needs change)•Bug fix review to evaluate the risk•Control the bar to fix bug(potential risk)

Page 28: Bugs – From Finding to Preventing

28EMC CONFIDENTIAL—INTERNAL USE ONLY