Top Presentation
Top Presentation
Creating better quality software using Agile Acceptance Testing and Fitnesse
Clare McLennan clare.mclennan gmail.com
http!""cra#y$it$ad%entures.blogspot.com http!""twitter.com"claremclennan
Contents
& & & & & & The Challenge 'hat means Testability( Fitnesse ) to *)+ in * months ,ur -ystem Test Toolbo. -uccess Factors
The Challenge
The Challenge
& /n the beginning0 time to market was e%erything & As our customer base grew it became important that the system always worked & Big culture change & **.**+ uptime target & 1eleases wee2ly & -ystem was hard to test
Testability
& Any wor2ing system is testable & Aim for Easy to Test & 3ow much
4 -etup 4 5nowledge
is needed to test one aspect of the system( & -ee podcast0 Test 6ri%en 6e%elopment is 6esign
Automated Testing System Test System Knowledge Debugging Methods Predictability Status Tools
Installer
System Test
Auto Test
Installer
Fitnesse
-ample Fi.ture
-ample Fi.ture
-ample Fi.ture
-cript Fi.ture
Buery Fi.ture
Test ,rganisation
& & & & & Tests organised into heirachy of suites -et=p and Tear6own run before each test Test 3istory of success"failures Tests can ha%e e.planatory te.t Fi.ture toolbo. documentation
Test uses magic numbers from database 4 canDt see what this test is about
3ang on0 these 9ust set up data and donDt test anythingG Ah better.. 'e still arenDt finished..
) to *)+ in CE months
3ighly successfulGG
After initial teething in sprint >; wee2s? e%eryone was positi%e about the change
As2 =ser
As2 =ser
& Mi. and match human and automated processes & Allows tests to be written and run before all automation is ironed out
4 :.ample! Gui testing will e%entually be automated with -elenium
& =ser created ob9ects can be referred to in Fitnesse tests & -imple idea but really practicalG
Business Time
& Changes the current time in the system & Allows testing of scenarios that ta2e a long time & ,nly in testing mode & Low ris20 as if forgotten system still wor2s correctly in production en%ironment
-taged 6eployment
& Thin2 Beta testing & Test throughly0 then do a partial release to
4 ,nly some customers0 or 4 For a small proportion of the daily impressions0 or 4 1un old and new system side by side
Types of testing
Unit 4 7rogrammers tests. 7inpoint bugs quic2ly. unctionality 4 7ure0 automatic testing of the whole system. All processes triggered !ui unctionality 4 Test functionality of Gui page at a time. All other ob9ects required are generated as for functionality testing
Types of Testing
!ui "ayout 4 7ure gui test of layout0 updating. "oad 4 =se real database0 or e.tra large database ull System 4 Main functionality0with processes on timers0 as in production Sanity #heck 4 Final chec2 performed before a each release
-uccess Factors
,utcomes
& Automated testing of the system ta2es one hour0 plus some quic2 manual tests & 7rogrammers attitude has changed from e.pecting outsiders to %alidate the system0 to sharing responsibility for this tas2 & -ystem more easy to test0 deploy0 monitor and manage & A self$running BA process which is continually impro%ed by de%elopment teams
-uccess Factors
& 1ealistic time frame >CE months? & Treated building automated testing system as a pro9ect of it8s own & /nfluence o%er design of system to be tested & -tarted with high 1,/0 hard to manual test0 functionality & Get tests wor2ing0 then perfect & Gently challenged company culture
Future /mpro%ements(
& Automate G=/ functionality tests with -elenium & -tart sprints with a -pecification 'or2shop & /mpro%e Load tests $ run them on a cloud & Mo%e system 2nowledge from Fitnesse0 bac2 into the system & Ma2e tests more user orientated
1eferences
itnesse http!""www.fitnesse.org $ridging the #ommunications !a% by Go92o Ad#ic Test Dri&en De&elo%ment is Design - The "ast 'ord on TDD0 3ansel Minutes 7odcast starring -cott Bellware and -cott 3anselman (ints and Ti%s Hfor writing acceptance testsI by 6a%id 7eterson http!""www.concordion.org"Technique.html