De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Workshop FitNesse & Selenium Waardevolle spelers bij Agile Ontwikkeling 1.

Verwante presentaties


Presentatie over: "Workshop FitNesse & Selenium Waardevolle spelers bij Agile Ontwikkeling 1."— Transcript van de presentatie:

1 Workshop FitNesse & Selenium Waardevolle spelers bij Agile Ontwikkeling 1

2 Wie ben ik? Wat doe ik? Gijs Sijpesteijn Consultant ICT In dienst bij Ordina sinds 2006 Sinds 2007 bezig met Agile Ontwikkeling Agile projecten bij Microbais, SNS en Rabobank Cursus: Agile testen voor Java Ontwikkelaars 2

3 Onderwerpen Introductie van FitNesse Oefenen met FitNesse Introductie van Selenium Oefenen met Selenium (ism FitNesse) 3

4 FitNesse Stukje achtergrond FitNesse is ontwikkeld onder aanvoering van Robert C. Martin FitNesse was gebouwd als uitbreiding op FIT FIT zorgt voor een gemeenschappelijke taal en maakt de testcases voor alle disciplines makkelijk begrijpbaar FIT interpreteert HTML pagina’s als testcases FitNesse genereert HTML pagina’s aan de hand van WIKI pagina’s 4

5 5 FitNesse Architectuur

6 Fixture naamUitleg Decision TableNoteer de input -en output waarden voor de test. Output waarden kolommen worden aangegeven met een '?' achter variabele naam Query TableAlle kolommen worden als output gezien. Alle rijen worden gecontroleerd tegen de uitkomst van de query. VB een lijst van klanten. Subset Query TableZelfde als een Query table, maar nu kan je aangeven welke subset je verwacht in de query. VB een of meer klanten uit een lijst van klanten Ordered Query TableZelfde als een Query table, maar nu wil je de volgorde van de verschillende elementen ook controleren Script TableElke rij vormt een script. ImportVergelijkbaar met java import, namespace. Table Kan alles zijn wat je wilt. Fixture heeft een method: doTable. CommentVoeg commentaar toe. Scenario TableKan worden aangeroepen vanuit een Decision en een Script tabel Library TableDefinieer een fixture die voor alle onderliggende pagina’s beschikbaar is. Generieke delen kan je hier in kwijt. Vb schonen database. FitNesse Fixture Library

7 FitNesse Wat is het? “FitNesse is a software development collaboration tool” FitNesse is een software testing tool. FitNesse bestaat uit: Webserver(tje) Wiki (om testpagina’s op te stellen) 7

8 FitNesse Oefening 1 – FitNesse test schrijven 8 Opdrachten: FitNesse opstarten. Werken met FitNesse interface. FitNesse test opstellen in Wiki notatie. Business methode testen mbv FitNesse test.

9 Download: (nu te vinden in C:\WorkshopFitNesse\ ) Huidige versie: Start commando: java -jar fitnesse.jar Belangrijkste opties: Voor de workshop, gebruik de link op het bureaublad: start_fitnesse.bat om FitNesse te starten. (NOTE: Dosbox niet afsluiten. Dan stopt FitNesse) 9 FitNesse Opstarten.-d /path/to/fitNesse/root 80-p DefaultOptie

10 10 FitNesse Opstart process Na het opstarten van start_fitnesse.bat opent er een dosbox met de hiernaast getoonde output. We zien hier o.a. poort nummer (9090) waarop FitNesse bereikbaar is.

11 11 FitNesse Interface FitNesse is gestart en we kunnen de webserver (=FitNesse) benaderen op url: en zien dan de homepage zoals hiernaast afgebeeld. Gebruik de 'FitNesse' link op het bureaublad.

12 FitNesse Onze eerste FitNesse test. Wat gaan we testen? 12 Een requirement voor ons SUT (System under Test), is het optellen van twee getallen en het resultaat retourneren. We willen deze functionaliteit gaan testen m.b.v. een FitNesse test. Aanwezig Deze wiki-pagina gaan wij nu schrijven. De business methode en fixture zijn reeds aanwezig. Wij schrijven voor deze oefening enkel de wiki-pagina.

13 FitNesse OptellenTest 13 De test voor de business methode zien we hiernaast afgebeeld. Naam van fixture In- en output definitie Test gevallen

14 FitNesse OptellenTest – het verwachte testresultaat 14 Na het uitvoeren van de test door FitNesse, ver- wachten we het volgende test resultaat.

15 Gebruik de 'add child' link naast de wiki pagina naam. Voorwaarde: Namen van FitNesse test pagina’s moeten wikiwords zijn. 15 FitNesse Testpagina’s toevoegen aan FitNesse

16 Wiki-words zijn woorden die voldoen aan volgende regels: Begint met één of meerdere hoofdletter. Gevolgd door één of meerdere kleine letters of getallen. Gevolgd door één of meerdere hoofdletter. 16 FitNesse Wiki Woord Voorbeelden: BobMartin is een wiki woord. SalesReport1972 is een wiki woord. USAforEver niet, omdat er drie kapitalen elkaar opvolgen. Usa1776 niet, omdat het woord maar een kapitaal heeft. ItDoesNotMatterHowManyCapitalsThereAreYouCanHave1000IfYouLike

17 17 FitNesse OptellenTest pagina toevoegen. Toevoegen van de OptellenTest pagina. Klik op de 'add child' link naast FrontPage. Kies voor 'Test' als type pagina. Name = OptellenTest Klik op 'Add'

18 18 FitNesse De OptellenTest pagina toevoegen De pagina is aangemaakt, maar nog niet zichtbaar op de homepage. Op de homepage, klik 'Edit' in het menu rechts. Voeg onderaan de pagina toe: !contents Klik op de 'Save' button.

19 19 FitNesse De OptellenTest pagina opstellen Door op de link 'OptellenTest' te klikken, komen we op de nieuwe wiki-pagina. Klik op 'Edit' in het menu rechts en we komen wederom in de edit mode. We kunnen nu de test in wiki notatie opstellen. Verwijder '!contents' en voeg de test toe. Klik op de 'Save' button.

20 20 FitNesse De OptellenTest pagina opstellen Je pagina moet er nu zo uit zien. Onze pagina is nog niet volledig. We hebben enkel de requirements van de test ingevoerd. We moeten FitNesse nu extra informatie geven om de test te kunnen uitvoeren tegen onze SUT.

21 21 FitNesse Testpagina van extra informatie voorzien. We moeten FitNesse vertellen welk test systeem we gebruiken. We moeten FitNesse vertellen waar onze fixture code classes staan. FIT Slim

22 22 FitNesse Testpagina van extra informatie voorzien. Klik op 'Edit' in het menu. Voeg toe: !define TEST_SYSTEM {slim} Voeg toe: !path C:/WorkshopFitNesse/target/classes/ Voeg het java package toe aan de Optellen fixture, wijzig | Optellen | in | nl.ordina.workshopfitnesse.fixtures.Optellen | Klik op de 'Save' button

23 23 FitNesse De volledige testpagina. Je 'OptellenTest' pagina ziet er nu zo uit en is volledig voor FitNesse om de test uit te voeren. Klik nu op 'Test' in het menu.

24 FitNesse OptellenTest - resultaat 24 Na het uitvoeren van de test door FitNesse, ver- wachten we het volgende test resultaat.

25 25 FitNesse Gebruik van import fixture Het is extra werk om telkens het java package op te nemen. We kunnen hiervoor de build-in fixture ‘Import' gebruiken.

26 26 FitNesse Gebruik van import fixture Klik op 'Edit' in het menu en wijzig de wiki tekst in het volgende: Java package is verdwenen en verplaatst naar de import fixture. Klik na de aanpassingen op de 'Save' button.

27 27 FitNesse Gebruik van import fixture Het resultaat zal eruit zien zoals de afbeelding hiernaast.

28 FitNesse Special pages O.a.: SetUp & TearDown Subwiki’s die respectievelijk voor en na de test worden uitgevoerd. SuiteSetUp & SuiteTearDown Subwiki’s die respectievelijk voor en na de suite worden uitgevoerd. root Wiki pagina waarin globale variabelen kunnen worden gezet. 28

29 29 FitNesse Optimalizeren van FitNesse. Opdrachten: !define TEST_SYSTEM {slim} verplaatsen naar 'root' wikipagina. !path c:/workshopfitnesse/target/classes verplaatsen naar 'root' wikipagina. Toevoegen van 'SetUp' wiki-pagina. Verplaatsen van Import fixture uit ‘OptellenTest’ naar 'SetUp' wiki-pagina.

30 30 FitNesse Optimalizeren van FitNesse - root pagina. Link onderaan pagina opent de 'root' wiki pagina. Klik op de link.

31 31 FitNesse Optimalizeren van FitNesse - root pagina. Klik op 'Edit' in het menu. Voeg de twee onderstaande regels toe. Klik op de 'Save' button.

32 32 FitNesse Optimalizeren van FitNesse - root pagina. De 'root' wiki pagina ziet er nu zo uit. De informatie geldt nu voor elke wiki test pagina.

33 33 FitNesse Optimalizeren van FitNesse – Toevoegen 'SetUp'. Klik op het logo om naar de homepagina te navigeren. Klik op de 'add child' link naast FrontPage. Kies voor 'Normal' als type pagina. Name = SetUp Klik op 'Add'

34 34 FitNesse Optimalizeren van FitNesse – 'SetUp' bewerken. Klik op de 'SetUp' link op de homepagina. Klik 'Edit' in het menu. Voeg de onderstaande regels toe. Klik op de 'Save' button

35 35 FitNesse Optimalizeren van FitNesse – 'SetUp' resultaat. De 'SetUp' wiki pagina ziet er nu zo uit. Deze wiki pagina wordt voor iedere FitNesse test uitgevoerd. We kunnen nu de inmiddels overbodige informatie uit de 'OptellenTest' FitNesse test verwijderen.

36 36 FitNesse Optimalizeren van FitNesse – Opschonen OptellenTest. Navigeer naar de homepagina door op het logo te klikken. Klik op de link 'OptellenTest' Klik 'Edit' in het menu. Verwijder alle code, behalve de fixture tabel. Klik op de 'Save' button.

37 37 FitNesse Optimalizeren van FitNesse – Opschonen OptellenTest. De 'OptellenTest' pagina ziet er nu zo uit. Let op de automatisch toegevoegde 'SetUp' wiki.

38 38 FitNesse De gangbare werkwijze. We hebben nu enkel de FitNesse test moeten opstellen, maar normaal zal de procedure zijn: SUT uitbreiden met functionaliteit. FitNesse testpagina opstellen die de requirements van de nieuwe functionaliteit testen. Fixture code schrijven die de wiki pagina verbindt met het SUT. Of in een TDD ( Test Driven Design ) omgeving: FitNesse testpagina opstellen die de requirements van de nieuwe functionaliteit testen. Fixture code schrijven die de wiki pagina verbindt met het SUT. SUT uitbreiden met functionaliteit.

39 39 FitNesse De fixture code en business methode nader bekeken. Open Eclipse d.m.v. link op het bureaublad. Navigeer naar: WorkshopFitNesse/src/main/java/nl/ordina/workshopfitnesse/fixtures/Optellen Of gebruik shortkey: + +r en type 'Optellen' De fixture Optellen opent.

40 40 FitNesse De fixture code nader bekeken.

41 41 FitNesse De business methode nader bekeken. In Eclipse, navigeer naar: WorkshopFitNesse/src/main/java/nl/ordina/workshopfitnesse/aandelen/ business/OptellenBusiness Of gebruik shortkey: + +r en type 'OptellenBusiness' De business service OptellenBusiness opent.

42 Selenium Stukje achtergrond Selenium IDE – Firefox plugin om gebruikers acties op te nemen en af te spelen. Selenium Server – Afspelen selenium scripts. Selenium Client Drivers – Aansturen van selenium server. Support voor Java, Ruby, C#, Python. 42 In een notendop: Selenium automatiseert browsers. Selenium levert een set van tools om tests uit te voeren tegen een webapplicatie.

43 Selenium Architectuur 43 SUT in een browser Selenium Server (web-acties op SUT) Selenium Client Driver (programma code of selenium script)

44 Selenium - Fitnesse Architecture 44 Selenium server com.neuri.webfixture.WebTest http(s) Selenium Client Driver Maken wij.

45 Selenium Oefening 1 – Selenium test schrijven 45 Opdrachten: Test applicatie starten. Selenium Server starten. FitNesse test opstellen.

46 46 Selenium Oefening 1 – Test applicatie starten Gebruik start_app.bat op het bureaublad om de test applicatie te starten. Na het opstarten van start_app.bat opent er een dosbox met de hieronder getoonde output. We zien o.a. het poort nummer (9999) waarop de test applicatie is gestart.

47 47 Selenium Oefening 1 – Test applicatie starten De test applicatie is nu bereikbaar op: Of gebruik de link ‘open_app’ op het bureaublad.

48 Download: (nu te vinden in C:\WorkshopFitNesse\ ) Huidige versie: Start commando: java -jar selenium-server.jar Belangrijkste opties: Voor de workshop, gebruik de link op het bureaublad: start_selenium.bat om de Selenium Server te starten. (NOTE: Dosbox niet afsluiten. Dan stopt Selenium Server) 48 Selenium Opstarten Selenium Server 4444-p DefaultOptie

49 49 Selenium Oefening 1 – Selenium Server starten Gebruik start_selenium.bat op het bureaublad om de Selenium Server te starten. Na het opstarten van start_selenium.bat opent er een dosbox met de hieronder getoonde output. We zien o.a. het poort nummer (4444) waarop de Selenium Server is gestart.

50 Selenium Oefening 1 – FitNesse test toevoegen. 50 Selecteer de FitNesse webinterface in de browser. Klik op de 'add child' link naast FrontPage. Kies voor 'Test' als type pagina. Name = WebTest Klik op 'Add'

51 Selenium Oefening 1 – FitNesse test toevoegen. 51 Klik op de link ‘WebTest’ op de homepagina. Klik op ‘Edit’ in het menu. Klik op de ‘webtest’ link op het bureaublad. Kopieer de inhoud van het bestand. (ctrl+a, ctrl+c) Selecteer FitNesse en plak de inhoud van het clipboard. (ctrl+v) Klik op de ‘Save‘ button.

52 Selenium Oefening 1 – FitNesse test toevoegen. 52 De ‘WebTest' wiki pagina ziet er nu (deels) zo uit.

53 Selenium Oefening 1 – FitNesse test nader bekeken. 53

54 Selenium Oefening 1 – FitNesse test nader bekeken. 54

55 Selenium Hoe vindt Selenium elementen? 55

56 Selenium Oefening 1 – FitNesse test afspelen. 56

57 Selenium Opschonen WebTest. 57 Deze kunnen mooi naar ‘root’ wiki pagina. Deze definities zijn specifiek voor Selenium tests. Je kan ze opnemen in een aparte ‘SetUp’ voor Selenium Tests.

58 Links: FitNesse: FitNesse tutorial: Selenium: WebTest: FitNesse tutorials: Agile tools: FitLibrary: Literatuur: FIT for Software Development Websites en literatuur: 58

59 59


Download ppt "Workshop FitNesse & Selenium Waardevolle spelers bij Agile Ontwikkeling 1."

Verwante presentaties


Ads door Google