getting started with fitnesse collaboration tool
Nu flyttar världen till Agile. Tidig och kontinuerlig feedback är viktig för alla scrumteam. Eftersom världen förändras, måste tänkesättet också testas.
Istället för att 'hitta buggar, bryta programvara, mäta krav' tänker testare nu på 'att leverera kvaliteten, direkt vid första gången, testa utan gränssnittet eller testet redan innan gränssnittet är tillgängligt'.
Testare är nu också skyldiga att svara på förändringar, och därför är det viktigt att komma ut ur black box-testteknik och inte vänta tills användargränssnittet har utvecklats; istället börja testa även de mellanliggande leveranserna.
Vad du kommer att lära dig:
skapa en makefile c ++
- Men varför?
- Vad är FitNesse?
- Varför ska jag använda FitNesse?
- Så vad kan jag skapa?
- Hämta och konfigurera FitNesse:
- FitNesse Exempel - De saker som ska testas:
- Skriva ditt test i FitNesse:
- Några insikter om Fixture / Table-stilar:
- Rekommendation:
- Slutsats
- Rekommenderad läsning
Men varför?
”DETTA ÄR MYCKET AGILE PERSPEKTIV”.
När vi bygger programvara hålls de lägsta testlagren på enhets- / komponentnivå. Enhetstester utförs av utvecklingsteamet. Dessa enhetstester är väldigt mycket teknikorienterade och mestadels skrivna på samma språk som systemet som testas är skrivet.
Dessa enhetstester är skrivna med “ X-enhet ”Testverktyg. Vi säger i testvärlden att om vårt enhetstest är bergfast defekter identifierades mycket tidigare och testningen ovanför enhetstestskiktet blir lätt i en stabil miljö. Och när vi pratar i Agile säger vi att om ett team behärskar konsten att TDD (Test Driven Development), ger enhetsnivåtesterna den snabbaste feedbacken.
Skiktet ovanför enhets- / komponentlagret är Acceptance-testskiktet som utför verksamheten. Dessa är funktionella tester som har mer täckning än enhetstesterna och utförs oftast av icke-utvecklare. Dessa tester testar lagret bakom presentationslagret eller API: erna. Dessa API: er eller metoder när de testas ger en snabb feedback och när GUI utvecklas testas de flesta funktionerna.
FitNesse är ett exempel på detta Automated Acceptance Tests Layer.
Vad är FitNesse?
FitNesse är 'En helt integrerad fristående wiki och ramverk för godkännandeprovning'. Det är wiki-webbservern med öppen källkod. Wiki - eftersom det gör att du kan skapa dina egna webbsidor där testtabeller skapas. Dessa testtabeller är inget annat än testdata .
Dess avsikt är att stödja smidig stil för svartbox-acceptans och regressionstestning. Det är också ett samarbetsverktyg eftersom testare samarbetar med utvecklare för att förbereda testsviten.
Varför ska jag använda FitNesse?
Agilt testteam kan använda FitNesse för att förbereda testdräkter som testar metoderna i koden. FitNesse är analog med Junit på ett sätt som också testar metoderna, men det är annorlunda än Junit eftersom testerna är i form av enkla tabeller som kan användas av både utvecklare och icke-utvecklare.
Fördelar:
- Tidig återkoppling genom att utföra de automatiserade godkännandeprovningarna så ofta som krävs.
- Testresultaten är avgörande eftersom de är markerade i antingen rött eller grönt.
- Testdata kan utformas för att passa kvalitetsbehoven.
- Testerna är skrivna på ett enkelt språk och lätta att förstå eftersom de är skrivna i tabellform.
- Dessa tabeller definieras i termer av input och förväntade output.
- Se allt FitNesse har här.
Så vad kan jag skapa?
I FitNesse kan du skapa test och svit. Termerna är mycket desamma som används i testvärlden. Testerna är ett skript och kostymen är samling / testgrupp. När du skapar en kostym och utför den är fördelen att alla tester i den dräkten utförs. Så du behöver en ordentlig planering för att ordna dina tester i kostym.
Hämta och konfigurera FitNesse:
=> För att ladda ner FitNesse, Klicka här
(Notera: Klicka på valfri bild för förstorad vy)
Ladda ner den senaste versionen av fitnesse-standalone.jar och spara den på din lokala enhet.
Öppna en kommandotolk och kör jar-filen. För enkelhetens skull har jag skapat en batchfil:
När jar-filen har körts startas FitNesse enligt nedan: (klicka på bilden för förstorad vy)
För att öppna FitNesse, öppna din webbläsare och skriv: http: // lokal värd: . I det här fallet är portnumret 2222.
Den mottagna sidan visas nedan: (klicka på bilden för förstorad vy)
Så här, om du kan se rullgardinsmenyn Tester kan vi skapa en 'Suite-sida' samt en 'Test Page'. När du skapar en svit kommer alla testskript i den sviten att köras.
För förklaringsändamål tar jag ett exempel på testsida.
FitNesse Exempel - De saker som ska testas:
Från och med nu testar vi ett enkelt räknarprogram som visas nedan.
Här är koden i java, som har fyra metoder:
- tillägg ()
- minus ()
- multiplicera ()
- dela upp ()
(Se till att FitNesse fungerar med vilket språk du än väljer. Förklaring har jag använt java)
Den här koden i FitNesse-världen kallas 'Fixture'.
Inventarier är inget annat än exempelkoden - eller en länk mellan FitNesse och applikationen som testas. Så när vi vill testa en metod måste vi skriva en fixtur och denna fixtur åberopar och testar metoden.
Så 'Fixture' -koden för vårt exempel är som följer:
publicclass Calculator { privateint first,second; publicvoid setFirst(int first) { this.first=first; } publicvoid setSecond(int second) { this.second=second; } publicint addition() { return (first+second); } publicint minus() { return (first-second); } publicint multiply() { return (first*second); } publicfloatdivide() { return (first/second); } }
Koden i förmörkelse visas som: (klicka på bilden för förstorad vy)
Vi skulle behöva klassfilen, så se till att du kompilerar den.
Skriva ditt test i FitNesse:
Steg 1) Låt oss gå tillbaka till webbläsaren där vi har FitNesse-förstasidan.
Klicka på “Test Page” på förstasidan, ange testets namn och klicka på “Save” -knappen. I vårt fall är det 'Kalkylator'
Steg 2) Lägg till testets namn i din webbadress med en punkt '.' Operatör.
Tycka om: http: // localhost: 2222 / FrontPage.Calculator
Steg 3) Klicka på knappen Redigera och ange raderna nedan
Här är de angivna linjerna:
! definiera TEST_SYSTEM {smal}
sökväg F: Eclipse TestFitness bin
! | Kalkylator |
| första | andra | tillägg? | minus? | multiplicera? | dela? |
| 4 | 2 | 6 | 2 | 8 | 2.0 |
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
Låt oss förstå raderna en efter en.
till) Den första raden säger att FitNesse använder SLIM-testsystem.
( SMAL - Står för enkel anropsmetod för listan. Genom att säga SLIM-testsystem görs all bordsbehandling av FitNesse. SLIM har SLIM Runner och SLIM Executer. SLIM Runner delar upp testsidorna i enkla instruktioner och dessa instruktioner skickas till SLIM Executer som styr fixturkoden för att anropa systemet under test)
b) Den andra raden definierar platsen för klassfilen. I detta fall kompileras java-koden och klassfilen förvaras på plats “sökväg F: Eclipse TestFitness bin'
pl sql scenariobaserade intervjufrågor
c) Den tredje raden anger namnet på klassen. I vårt fall är detKalkylator'
d) Nu kommer den fjärde raden:
De två första kolumnerna| första | andra |är parametrarna eller ingångarna till java-metoden.
De nästa fyra kolumnerna som följs av “?”tillägg? | minus? | multiplicera? | dela? | är metoderna i Java-klassen. Dessa metoder returnerar ett värde som skulle jämföras med de förväntade värdena.
är) Linjerna:
| 4 | 2 | 6 | 2 | 8 | 2.0 |
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
Är testfallet eller ska jag säga testdata för vår metod.
Den första raden:
| första | andra | tillägg? | minus? | multiplicera? | dela? |
| 4 | 2 | 6 | 2 | 8 | 2.0 |
Tar 4 som första parameter och 2 som andra parameter och skickar dessa två värden i tilläggsmetoden för java-klassen. Metoden körs och returnerar ett värde. Det returnerade värdet kommer att jämföras med det förväntade värdet skrivet under 'tillägg?' vilket är| 6 |
På liknande sätt kommer FitNesse att skicka de två första parametrarna i minus? Metod för Java-klassen och returnerar ett värde. Detta värde kommer att jämföras med det förväntade värdet mot | 2 |
På samma sätt, multiplicera? och dela? fungerar genom att ta värdena för den första och andra parametern och returnerar värdet som jämförs mot| 8 | 2.0 |respektive
På liknande sätt körs nedanstående 2 rader (eller jag borde säga testfallet).
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
Steg 4) När du har redigerat dina tester klickar du på spara-knappen så ser din sida ut:
Steg # 5) För att köra testerna, klicka på Test-knappen så får vi resultatet enligt följande: (klicka på bilden för förstorad vy)
För den första raden (som är vårt första testfall) markerar den gröna färgen att värdena, returnerade från metodadditionen (), minus (), multiplicera () och dividera () matchar det som förväntas, dvs. 6, 2 8 respektive 2,0. På samma sätt för den andra raden (som är det andra testfallet) matchar alla värden som returneras från metoderna.
Steg # 6) Nu för att demonstrera, låt mig ändra några av de förväntade värdena till några andra värden (värdena är felaktiga, men jag har gjort det målmedvetet för förklaring)
Från och med nu har jag:
- Ändrade det förväntade värdet för addition () för första testfallet till 7
- Ändrade det förväntade värdet för minus () för det andra testfallet
- Ändrade det förväntade värdet för divide () för det tredje testfallet.
Steg 7) Kör testet genom att klicka på “Test” -knappen. Ovanstående tester bör misslyckas. (klicka på bilden för förstorad vy)
Den röda färgen framhäver att dessa tester misslyckades.
Några insikter om Fixture / Table-stilar:
Vi har sett att i FitNesse utförs testerna genom att köra rader i en tabell. Därför skulle vi behöva använda olika typer av tabeller för att utföra olika typer av tester (eller jag skulle säga för att testa olika typer av metoder). Vi använder nedanstående Fixture / tabellstilar oftast:
- Kolumn Fixture - används mest (och används i exemplet ovan). Här representerar datorraderna olika uppsättningar input och dess förväntade output.
- Radarmaturer - Den används för testning av frågor som returnerar en uppsättning värden.
- Action fixturer - Den används för att köra tester för en sekvens av händelser. Dessa händelser kan vara som att klicka på en knapp och kontrollera värden
Rekommendation:
Jag har försökt demonstrera koncepten så att vi kan börja utforska mer på FitNesse. Testarens tankesätt måste också ändras och måste utvidgas. Vi måste sluta begränsa oss själva för att titta in i koden. Jag känner; i slutändan testar vi koden, så varför försöker vi inte se koden och testa då och då?
Börja skärpa dina programmeringskunskaper och betona mer på att bygga logiken och snarare att lära dig syntax. När du väl är väl insatt i programmeringskoncept och har praxis i att implementera det blir det enklare att utforska FitNesse.
Slutsats
Test i smidigt finns i fyra smaker:
- Automatiserad enhetstestning - Genom att använda Junit
- Automatiskt godkännandestest - Genom att använda FitNesse
- Automatiserade användargränssnitt / regressionstest - med Selen eller QTP
- Manuell testning
Vi bör försöka trycka maximalt på våra tester i enheten och acceptanslagret . Hittills har vi försökt behålla det mesta av våra test för UI-skiktet med hjälp av verktyg som QTP och Selen, men nackdelen här är att dessa funktioner inte kunde testas om inte UI utvecklades. När du hittar en defekt har utvecklarna flyttat in i någon annan funktionsutveckling.
Å andra sidan, om vi kan testa API: erna snart efter att det har skrivits, kan utvecklare fixa det direkt. Detta skulle också resultera i mindre ansträngning när vi testar GUI. Eftersom alla funktioner testas blir det enkelt att testa GUI.
Med Agile behöver också testarnas tankesätt förändras och de måste komma ur sin rutinmässiga testuppsättning och nu bör du titta på koden och försöka identifiera defekter även att gränssnittet inte är tillgängligt.
Om författaren: Detta är en gästartikel av STH-teammedlem Shilpa C. Roy. Hon arbetar inom programvarutestning de senaste 9+ åren inom domäner som Internetannonsering, Investment Banking och Telecom.
Låt oss veta dina frågor i kommentarerna nedan.
Rekommenderad läsning
- Utvecklare är inte bra testare. Vad du säger?
- Användbart gratis skärmdump och kommentarverktyg för testarna - qSnap Review
- Topp 10 mest populära kodgranskningsverktyg för utvecklare och testare
- WebLOAD Review - Komma igång med WebLOAD Load Testing Tool
- Topp 15 SOA-testverktyg för testare
- Hur håller jag motivationen levande i programvarutestare?
- TestLodge Test Management Tool Review
- Mjuk skicklighet för testare: Hur man förbättrar kommunikationsförmågan