Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Test-Drevet Utvikling Bowling med

Liknende presentasjoner


Presentasjon om: "Test-Drevet Utvikling Bowling med"— Utskrift av presentasjonen:

1 Test-Drevet Utvikling Bowling med

2 Hvem er vi •Trond Pedersen –Seniorkonsulent, ObjectWare –Medlem av styret i extremeprogramming.no •Johannes Brodwall –Softwarearkitekt for BBS’s fornyelsesprogram –Medlem av styret extremeprogramming.no –Organisator av

3 Extreme Programming & TDD •Foredraget er en introduksjon til TDD •TDD er en teknikk i XP •TDD står også utmerket på egen hånd eller som tillegg til din favorittmetodikk •TDD: –Write a test, make it pass

4 JUnit & Eclipse •JUnit – testrammeverk for Java •NUnit – testrammeverk for.NET •Eclipse har utmerket støtte for JUnit, men det har også for eksempel IntelliJ •TDD: –Write a test, make it pass!

5 PRAKTISK DEMO

6 Agile software development •Effektive teknikker til daglig bruk: –Test-driven development –Pair programming –Continuous Integration –Stand-up meetings

7 DUnit – TDD i Delphi unit Project1TestCases; interface uses TestFrameWork; type TTestCaseFirst = class(TTestCase) published procedure TestFirst; end; implementation procedure TTestCaseFirst.TestFirst; begin Check(1 + 1 = 2, 'Catastrophic arithmetic failure!'); end; initialization TestFramework.RegisterTest(TTestCaseFi rst.Suite); end.

8 Demo: Simpel GUI-test

9 Demo: Simpel GUI-test private JFrameOperator frame; private JLabelOperator resultLabel; public void testNoProducts() { frame = new JFrameOperator( new NameComponentChooser("CheckOutRegister")); resultLabel = new JLabelOperator( frame, new NameComponentChooser("resultLabel")); assertEquals("0.00", resultLabel.getText()); }

10 Advanced: Testing GUI with DAO mocks

11 Å teste GUI med Mock backend public void testAddProducts() { daoMock.getByName("stockings"); daoControl.setReturnValue( new ProductDescription("stockings", 100)); daoControl.replay(); productNameField.enterText("stockings"); enterButton.push(); assertEquals("100.00", resultLabel.getText()); daoControl.verify(); } Kodeeksempel

12 Oppsummering •Hva er utfordringene? –Hva taper du? –Hva er vanskelig med TDD? •Hva vinner du? –Endringer –Innfallsvinkel –Design –Trygghet •Veien videre Skriv testen først!

13 Spørsmål?

14 Mer info •Original Bowling Artikkel: –http://c2.com/cgi/wiki?ObjectMentorBowlingGamehttp://c2.com/cgi/wiki?ObjectMentorBowlingGame –Robert Martins bok ”Agile Software Development” •Ytterligere TDD/Bowling Artikler (i C#): –http://xprogramming.com/xpmag/http://xprogramming.com/xpmag/ •Bøker –Test-Driven Development: By Example (Kent Beck) –Test-Driven Development: A Practical Guide (Dave Astels) •eXtremeProgramming.no har kildekoden til eksempelet, og du kan spørre oss spørsmål på forumet vårteXtremeProgramming.no •http://xp.meetup.com/13/http://xp.meetup.com/13/ •http://dunit.sourceforge.nethttp://dunit.sourceforge.net


Laste ned ppt "Test-Drevet Utvikling Bowling med"

Liknende presentasjoner


Annonser fra Google