Bug Free Development
-
Upload
stefano-fornari -
Category
Software
-
view
201 -
download
0
Transcript of Bug Free Development
![Page 3: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/3.jpg)
WHY?(manager hat on)
IT IS ALL ABOUT QUALITY!
… AND ...
MORE QA =
LESS QUALITY
![Page 4: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/4.jpg)
IT IS ALL ABOUT CONFIDENCE!
… AND ...
MORE QA =
LESS CONFIDENCE
WHY?(developer hat on)
![Page 5: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/5.jpg)
STEP 1 – SEND YOUR QA TEAM TO THE BEACH
![Page 6: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/6.jpg)
DEFECT?
![Page 7: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/7.jpg)
POOR DESCRIPTION OF/WRONG REQUIREMENTSMISUNDERSTANDINS
WRONG ASSUMPTRIONSCHANGING REQUIREMENTS
LACK OF KNOWLEDGE/INFORMATIONENHANCEMENTS
...
DEFECT ROOT CAUSES
![Page 8: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/8.jpg)
DEFECT ROOT CAUSESPOOR DESCRIPTION OF/WRONG REQUIREMENTS
MISUNDERSTANDINSWRONG ASSUMPTRIONS
CHANGING REQUIREMENTSLACK OF KNOWLEDGE/INFORMATION
ENHANCEMENTS...
CODE MISTAKES:BUGS!
![Page 9: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/9.jpg)
BUGS vs MISTAKES
MISTAKE unplanned behaviour given my current understanding and knowledge of the problem
BUG unexpected behaviour given my current understanding and
knowledge of the problem
![Page 10: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/10.jpg)
EXAMPLES
![Page 11: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/11.jpg)
EXAMPLES
![Page 12: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/12.jpg)
STEP 2 – BUGS ARE UNACCEPTABLE
(PERIOD!)
![Page 13: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/13.jpg)
DEFECTS TREND
OpenOffice bug statistics
!!!!
![Page 14: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/14.jpg)
STEP 3 – DAILY BUG REVIEW
![Page 15: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/15.jpg)
BUG REVIEW GOAL
MISTAKE handled as usual(too bad...)
BUG must be fixed immediately(remember: bugs are unacceptable!)
![Page 16: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/16.jpg)
STEP 4 – BUILD QUALITY IN
![Page 17: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/17.jpg)
HOW?
MISTAKE testing → prevention (quality assurance → user advocates)
BUG unconfidence → confidence(bug free development)
![Page 18: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/18.jpg)
STEP 5 – BUG FREE DEVELOPMENT
![Page 19: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/19.jpg)
CONFIDENCE ZONE
1 do not write code...… unless you need it
![Page 20: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/20.jpg)
CONFIDENCE ZONE
2 what do you want to do?...… write a specification
specif
caton
![Page 21: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/21.jpg)
CONFIDENCE ZONE
3 run the specification… it fails, now we need to write code
specif
caton
the spec is not satsfed
![Page 22: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/22.jpg)
CONFIDENCE ZONE
4 write the simplest code possible...… and satisfy the specification
specif
caton
the spec is not satsfed
the s
pec i
s sa
tsfed
![Page 23: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/23.jpg)
ISN'T TDD?
YES but...“Test” of T... Driven
Development is BANNED!
the Kent Beck way, literally!
it is a coding practice (i.e. not a unit testing technique)
![Page 24: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/24.jpg)
DOES IT WORK?
![Page 25: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/25.jpg)
BENEFITSQUALITY IS ANYONE RESPONSIBILITY ATTITUDENO “DON'T TOUCH WHAT WORKS” ANYMORE
ENJOYABLE FEELING WHILE WRITING CODECONFIDENCE TO CHANGE SHARED CODE
CONFIDENCE TO CHANGE ANYONE'S CODEBETTER CODE, BETTER ARCHITECTURE
REDUCED/NO USE OF DEBUGGERSREDUCED/NO NEED OF LOGGING
REDUCED/NO NEED OF EMULATORSREDUCED/NO NEED OF BROWSERS
...
![Page 26: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/26.jpg)
CAN WE MEASURE?
![Page 27: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/27.jpg)
Q=f(# of bugs, severity, component priority)
Q FACTOR
![Page 28: Bug Free Development](https://reader031.fdocuments.us/reader031/viewer/2022022413/58ec87f11a28ab8b498b473b/html5/thumbnails/28.jpg)
Q=f(# of bugs, severity, component priority)
Q FACTOR (the real one 2)