Test Driving Your S-Wing
-
Upload
rose-hudson -
Category
Documents
-
view
27 -
download
3
description
Transcript of Test Driving Your S-Wing
![Page 1: Test Driving Your S-Wing](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a88550346895d8e288a/html5/thumbnails/1.jpg)
Test Driving Your S-Wing
By Patrick Kuaemailpat <at> thekua.com || pkua <at>
thoughtworks.com
![Page 2: Test Driving Your S-Wing](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a88550346895d8e288a/html5/thumbnails/2.jpg)
The The AgendaAgenda
![Page 3: Test Driving Your S-Wing](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a88550346895d8e288a/html5/thumbnails/3.jpg)
Developer LoopDeveloper Loop
Acceptance Tests x1Acceptance Tests x1
Unit Tests x 100sUnit Tests x 100s
Unit Integration Tests x 10Unit Integration Tests x 10
0010110101010110
1010001011010101
1010100010110101
0101101010001012
1010101011010100
1011010101011100
1010001011000010CodeCode
![Page 4: Test Driving Your S-Wing](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a88550346895d8e288a/html5/thumbnails/4.jpg)
Writing Acceptance Tests
![Page 5: Test Driving Your S-Wing](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a88550346895d8e288a/html5/thumbnails/5.jpg)
As an author I would like to be prompted for confirmation on exit so that I do not lose any
unsaved changes
Confirm Exit
![Page 6: Test Driving Your S-Wing](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a88550346895d8e288a/html5/thumbnails/6.jpg)
VS
SourcSourcee
TestTest
![Page 7: Test Driving Your S-Wing](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a88550346895d8e288a/html5/thumbnails/7.jpg)
public void testOnExitIAmAskedForConfirmation() { MainApplication application =
TestHelper.getMainApplication(); ConfirmationDialog dialog = application.clickExit(); assertNotNull(dialog); assertEquals(“Are you sure you want to Exit?”, dialog.getMessage()); dialog.clickCancel(); assertTrue(application.isShowing());}
![Page 8: Test Driving Your S-Wing](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a88550346895d8e288a/html5/thumbnails/8.jpg)
How To Implement
• No Frameworks (yay!)• Model View Presenter• Test Things Only Worth Testing• Unit Test as Much as Possible• Code Changes Based on Tests• Demonstration…
![Page 9: Test Driving Your S-Wing](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a88550346895d8e288a/html5/thumbnails/9.jpg)
Glue
Presenters
Views
How it all works (Yawn… I mean Architecture)
Layout Managers
Repository
![Page 10: Test Driving Your S-Wing](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a88550346895d8e288a/html5/thumbnails/10.jpg)
Implementing Confirmation of Exit
Actually Exit
![Page 11: Test Driving Your S-Wing](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a88550346895d8e288a/html5/thumbnails/11.jpg)
Abbot & Costello
http://abbot.sourceforge.net/
Alternatives include:
• Marathon Man– http://marathonman.sourceforge.net
• Jemmy (Netbeans)– http://jacareto.sourceforge.net
• Jacreto– http://jacareto.sourceforge.net
• JFC Unit– http://jfcunit.sourceforge.net
• Pounder– http://pounder.sourceforge.net
![Page 12: Test Driving Your S-Wing](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a88550346895d8e288a/html5/thumbnails/12.jpg)
Robust Acceptance
Tests
![Page 13: Test Driving Your S-Wing](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a88550346895d8e288a/html5/thumbnails/13.jpg)
Top Tips
![Page 14: Test Driving Your S-Wing](https://reader035.fdocuments.in/reader035/viewer/2022062407/56812a88550346895d8e288a/html5/thumbnails/14.jpg)
Questions?
The resources for this presentation can be found at:
http://www.thekua.com/conferences/xp2006