Web Application Security Testing - Aware in BugDay Bangkok 2012
Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)
-
Upload
prathan-d -
Category
Technology
-
view
1.537 -
download
0
description
Transcript of Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)
![Page 1: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/1.jpg)
Achieving Zero Defect with Agile Methods
Varokas Panusuwan (Agile66)- Bug Day Bangkok 2012 -
![Page 2: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/2.jpg)
Agenda
● Context● TDD● QA Role in Agile● Continuous Delivery● Q & A
![Page 3: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/3.jpg)
About My Team
![Page 4: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/4.jpg)
![Page 5: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/5.jpg)
My Team
● 10 Devs (5+5)● 2 Product Owner● 3 QAs● Agile !! -- 2 Years from 0 ● Inherited Legacy code● Web Application● Release Weekly● Zero Defect*
PMs Love Us !! * in TDDed code
![Page 6: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/6.jpg)
Zero Defect
![Page 7: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/7.jpg)
Test Driven Development
![Page 8: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/8.jpg)
Test Driven Development (TDD)
<Test 1><Test 2><Test 3>
#1
[Code 1][Code 2][Code 3]
Le Write Code
<Test 1><Test 2><Test 3>
Test Failed !!
#2
#3
<Test 1><Test 2><Test 3>
Test Passed!!
#4
Le Write Test
Writing Code Like a Sir
Code Always Tested
![Page 9: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/9.jpg)
TDD == Testable Specification
![Page 10: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/10.jpg)
Create Login Page(1) Email has correct format(2) Password required...
Le Spec
Story
Acceptance Criteria
testEmailFormat() testPasswordRequired()
Le Test
TDD
QA DEV
#2 fail.
B**** PLEASE !!
Automate Tested
Oh... setup wrong
![Page 11: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/11.jpg)
Interface
Code?
[Code 1][Code 2][Code 3]
Req?
Test
REQUIREMENT
● Specific● Measurable● Actionable● Realistic● Time-bound●
https://github.com/varokas/tdd-examples/blob/master/src/test/java/com/huskycode/stack/StackImplTest.java
![Page 12: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/12.jpg)
Bug
MismatchSpec
Not in Spec
TDD ???
F***
YEAH!!
![Page 13: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/13.jpg)
TDD == Better Modular Design == Easier to Test
![Page 14: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/14.jpg)
public billing() {date = new Date(); //Get Todayif(date == endOfMonth)
sendBillToCustomer();}
QA... U MAD ??
QA
![Page 15: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/15.jpg)
public billing(dateService) {date = dateService.getToday();if(date == endOfMonth)
sendBillToCustomer();}
Le Dev
MOCK
1. Let todayService.getToday == 302. runTest --> billing(todayService)3. SUCCESS !!
Le Test Code
Le QATWEAK
![Page 16: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/16.jpg)
QA Role in Agile Team?
![Page 17: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/17.jpg)
Bug
Spec Mismatch
Not in Spec
???Exploratory Testing
![Page 18: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/18.jpg)
Story (Spec) Writing
PM
DEV(3) SAD PATH(4) EDGE CASE(5) EXCEPTION
SPEC (1) HAPPY PATH(2) HAPPY PATH
QA
#2 Conflict with ...
What about ...
![Page 19: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/19.jpg)
1. PM & Dev & QA Write Story2. QA Review Acceptance Criteria [ TESTs !!! ]3. Dev implement Story4. QA Exploratory TestDONE !!!
Agile All The Way
Regression Test
QA Like a Sir
Quality Up Front
![Page 20: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/20.jpg)
QA >> Testing
![Page 21: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/21.jpg)
Continuous Delivery
![Page 22: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/22.jpg)
"Responding to Change over Following a Plan"
- Agile Manifesto #4 -
http://agilemanifesto.org/
![Page 23: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/23.jpg)
Order Management System
User Management System
Following Big Plan...
Big Gigantic Module System Thingie
..
..
..
BRANCHMERGE
REGRESSION
TESTING HOTFIX
RELEASE PLANNING
SCHEDULED DOWNTIME
REPLAN !!!
RE-ESTIMATE TEST ALL
BRANCH
week 1
week 2
Bug in legacy code found !!Need fix in 1 week
[Release 1]
[Release 2]
![Page 24: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/24.jpg)
Cancel Order
Add Order
Responding to Change
week 1
week 2
Weekly Releases
week 3
week 4
week 5
...
...
Edit Order
P1 Bug ... Have to fix in 1 week !!
Cancel Order
DEV QA
PM
DeliverValue OverTime
View All Orders
Fix Bug
Shuffle priorities like a sir
![Page 25: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/25.jpg)
One Thing At A Time
![Page 26: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/26.jpg)
Devs
QAs
PM
Work 1
Work 2
Work 3
![Page 27: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/27.jpg)
Devs
QAs
PM
Work 1
Work 2
Work 3
![Page 28: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/28.jpg)
Code Review / Pair Programming
![Page 29: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/29.jpg)
"given enough eyeballs, all bugs are shallow"
- Linus' Law -
![Page 30: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/30.jpg)
Pair Programming == Real time code review
Does not have to be all the time !!
![Page 31: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/31.jpg)
● Test Harder?● Test More?● Don't Change Anything?
Better Quality
![Page 32: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/32.jpg)
Agile == Simplify
● No spec mismatch● 100% code coverage● Document always match code● Automated regression test● Less bug inducing activities/useless tasks,
More delivering good quality code.● "Do the right thing, at the right time"
![Page 33: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/33.jpg)
"The only way to go fast is to go well."
Uncle Bob
![Page 34: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/34.jpg)
Agile66: www.facebook.com/groups/agile66
Thank you !!
Me:www.facebook.com/varokas
Questions?
![Page 35: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/35.jpg)
Please:
Feel free to view and distribute
Use/Modify this slide only under permission from the author
![Page 36: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/36.jpg)
Additional Topics
![Page 37: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/37.jpg)
More About Agile ??
Agile Thailand 2012
(17/06/2012)http://agilethailand2k12.eventbrite.com/
![Page 38: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/38.jpg)
TDD == 100% Coverage
![Page 39: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/39.jpg)
Test 1
Test 2
Test 3
Le Code
Code 1
Code 2
Code 3
.....
.....(Le Wild Code appears)
....
....
Y UNO TEST?
![Page 40: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/40.jpg)
Incremental Design
![Page 41: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/41.jpg)
![Page 42: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/42.jpg)
![Page 43: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/43.jpg)
![Page 44: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/44.jpg)
Trunk development?
![Page 45: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/45.jpg)
You Ain't Gonna Need It
![Page 46: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/46.jpg)
TDD == Safety Net
![Page 47: Achieving Zero Defect with Agile Methods BugDay Bangkok 2012 โดย Varokas Panusuwan (Agile66)](https://reader034.fdocuments.net/reader034/viewer/2022051816/545b7dd8b1af9f33608b5da2/html5/thumbnails/47.jpg)
Whole Team == reduced bug