1emc confidential—internal use only bugs – from finding to preventing jacky guo
TRANSCRIPT
![Page 1: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/1.jpg)
1EMC CONFIDENTIAL—INTERNAL USE ONLY
Bugs – From Finding to Preventing
Jacky Guo
![Page 2: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/2.jpg)
2EMC CONFIDENTIAL—INTERNAL USE ONLY
About this presentation
•Overview
– Testing vs. Quality Engineering
– Start preventing bugs
![Page 3: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/3.jpg)
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: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/4.jpg)
4EMC CONFIDENTIAL—INTERNAL USE ONLY
![Page 5: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/5.jpg)
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: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/6.jpg)
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: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/7.jpg)
7EMC CONFIDENTIAL—INTERNAL USE ONLY
Phased approach
• 3 elements– Clearly written requirements/specs– "Look" at code– "Test" early
![Page 8: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/8.jpg)
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: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/9.jpg)
9EMC CONFIDENTIAL—INTERNAL USE ONLY
![Page 10: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/10.jpg)
10EMC CONFIDENTIAL—INTERNAL USE ONLY
![Page 11: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/11.jpg)
11EMC CONFIDENTIAL—INTERNAL USE ONLY
![Page 12: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/12.jpg)
12EMC CONFIDENTIAL—INTERNAL USE ONLY
![Page 13: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/13.jpg)
13EMC CONFIDENTIAL—INTERNAL USE ONLY
![Page 14: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/14.jpg)
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: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/15.jpg)
15EMC CONFIDENTIAL—INTERNAL USE ONLY
![Page 16: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/16.jpg)
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: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/17.jpg)
17EMC CONFIDENTIAL—INTERNAL USE ONLY
![Page 18: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/18.jpg)
18EMC CONFIDENTIAL—INTERNAL USE ONLY
![Page 19: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/19.jpg)
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: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/20.jpg)
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: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/21.jpg)
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: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/22.jpg)
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: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/23.jpg)
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: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/24.jpg)
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: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/25.jpg)
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: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/26.jpg)
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: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/27.jpg)
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: 1EMC CONFIDENTIAL—INTERNAL USE ONLY Bugs – From Finding to Preventing Jacky Guo](https://reader035.vdocuments.us/reader035/viewer/2022062221/56649e405503460f94b321a7/html5/thumbnails/28.jpg)
28EMC CONFIDENTIAL—INTERNAL USE ONLY