getting started with fitnesse collaboration tool
Nå flytter verden til Agile. Tidlig og kontinuerlig tilbakemelding er viktig for ethvert scrumteam. Fordi verden endrer seg, må tankesett til testere også endres.
I stedet for å 'finne feil, bryte programvare, måle krav', tenker testere nå på 'å levere kvaliteten, rett ved første gang, test uten brukergrensesnittet eller test selv før brukergrensesnittet er tilgjengelig'.
Det kreves også at testere reagerer på endringer, og det er derfor viktig å komme ut av svart boks testteknikk og ikke vente til brukergrensesnittet er utviklet. I stedet begynner du også å teste mellomleveringene.
Hva du vil lære:
c ++ grunnleggende intervjuspørsmål
- Men hvorfor?
- Hva er FitNesse?
- Hvorfor skal jeg bruke FitNesse?
- Så hva kan jeg lage?
- Laste ned og konfigurere FitNesse:
- FitNesse Eksempel - Ting å teste:
- Skrive testen i FitNesse:
- Noen innsikter i Fixture / Table styles:
- Anbefaling:
- Konklusjon
- Anbefalt lesing
Men hvorfor?
“NÅ ER DETTE VELDIG PERSPEKTIVT”.
Når vi bygger programvare, holdes de laveste testlagene på enhets- / komponentnivå. Enhetstester utføres av utviklingsteamet. Disse enhetstestene er veldig mye teknologiorientert og for det meste skrevet på samme språk i systemet som testes er skrevet.
Disse enhetstestene er skrevet med “ X-enhet ”Testverktøy. Vi sier i testverdenen at hvis enhetstesten vår er bunnsolid defekter ble identifisert mye tidligere, og testingen over enhetstestingslaget blir lett i et stabilt miljø. Og når vi snakker i Agile, sier vi at hvis et team mestrer kunsten TDD (Test Driven Development), gir enhetsnivå-testene den raskeste tilbakemeldingen.
Laget over enhets- / komponentlaget er Acceptance tests-laget som utføres virksomheten. Dette er funksjonelle tester som har mer dekning enn enhetstestene og blir ofte utført av ikke-utviklere. Disse testene tester laget bak presentasjonslaget eller API-ene. Disse APIene eller metodene når de blir testet gir rask tilbakemelding, og når GUI er utviklet, blir de fleste funksjonene testet.
FitNesse er et eksempel på dette Automated Acceptance Tests Layer.
Hva er FitNesse?
FitNesse er 'En fullintegrert frittstående wiki og akseptrammeverk'. Det er wiki-webserveren med åpen kildekode. Wiki- fordi det gjør det mulig å lage dine egne websider som testtabeller er opprettet på. Disse testtabellene er ikke annet enn testdata .
Hensikten er å støtte smidig stil med svart boks aksept og regresjonstesting. Det er også et samarbeidsverktøy fordi testere samarbeider med utviklere for å forberede testpakken.
Hvorfor skal jeg bruke FitNesse?
Agilt testteam kan bruke FitNesse til å forberede testdrakter som vil teste metodene i koden. FitNesse er analog med Junit på en måte som det også tester metodene, men det er annerledes enn Junit fordi testene er i form av enkle tabeller som kan brukes av både utviklere og ikke-utviklere.
Fordeler:
- Tidlig tilbakemelding, ved å utføre automatiserte akseptstester så ofte som nødvendig.
- Testresultatene er deterministiske fordi de er markert i rødt eller grønt.
- Testdata kan utformes for å dekke kvalitetsbehovene.
- Testene er skrevet på enkelt språk og lett å forstå da de er skrevet i tabellform.
- Disse tabellene er definert i form av input og forventede output.
- Se alt FitNesse har her.
Så hva kan jeg lage?
I FitNesse kan du opprette tester og suite. Begrepene er veldig de samme som brukt i testverdenen. Testene er enkelt manus og drakten er samling / gruppe tester. Når du lager en drakt og utfører den, er fordelen at alle testene i den drakten blir utført. Så du trenger en ordentlig planlegging for å ordne testene dine i dress.
Laste ned og konfigurere FitNesse:
=> For å laste ned FitNesse, Klikk her
(Merk: Klikk på et hvilket som helst bilde for forstørret visning)
Last ned den nyeste versjonen av fitnesse-standalone.jar og lagre den på din lokale stasjon.
Åpne en ledetekst og kjør jar-filen. For enkelhets skyld har jeg opprettet en batchfil:
Når jar-filen er utført, startes FitNesse som vist nedenfor: (klikk på bildet for forstørret visning)
For å åpne FitNesse, åpne nettleseren din og skriv: http: // lokal vert: . I dette tilfellet er portnummeret 2222.
Den mottatte siden vises nedenfor: (klikk på bildet for forstørret visning)
Så her, hvis du kan se rullegardinmenyen Tester, kan vi opprette en 'Suite-side' samt en 'Test Page'. Når du oppretter en suite, blir alle testskriptene i den suiten utført.
Av forklaringsformål tar jeg et eksempel på testsiden.
FitNesse Eksempel - Ting å teste:
Fra nå av tester vi et enkelt kalkulatorprogram vist nedenfor.
Her er koden i java, som har 4 metoder:
- tillegg ()
- minus ()
- multiplisere ()
- dele opp ()
(Vennligst se at FitNesse fungerer med hvilket som helst språk du ønsker. For forklaring har jeg brukt java)
Denne koden i FitNesse-verdenen kalles “Fixture”.
Inventar er ikke annet enn eksempelkoden - eller en kobling mellom FitNesse og applikasjonen som testes. Så når vi vil teste en metode, må vi skrive en inventar, og denne inventar vil påberope seg og teste metoden.
Så 'Fixture' -koden for vårt eksempel er som følger:
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 formørkelse vises som: (klikk på bildet for forstørret visning)
Vi trenger klassefilen, så sørg for at du kompilerer den.
Skrive testen i FitNesse:
Trinn 1) La oss gå tilbake til nettleseren der vi har FitNesse-forsiden.
På forsiden klikker du på “Test Page”, skriver inn navnet på testen og klikker på “Save” -knappen. I vårt tilfelle er det 'Kalkulator'
Steg 2) I nettadressen din legger du til navnet på testen din med punktet “.” Operatør.
Som: http: // localhost: 2222 / FrontPage.Calculator
Trinn 3) Klikk på Rediger-knappen og skriv inn linjene vist nedenfor
Her er linjene som er lagt inn:
! definer TEST_SYSTEM {slank}
! bane F: Eclipse TestFitness bin
! | Kalkulator |
| første | andre | tillegg? | minus? | multiplisere? | dele? |
| 4 | 2 | 6 | 2 | 8 | 2.0 |
topprangerte gratis programvare for fjerning av skadelig programvare
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
La oss forstå linjene en etter en.
til) Første linje sier FitNesse å bruke SLIM-testsystem.
( SLANK - Står for Simple List Invocation Method. Ved å si SLIM-testsystem gjøres all bordbehandlingen av FitNesse. SLIM har SLIM Runner og SLIM Executer. SLIM Runner deler testsidene inn i enkle instruksjoner, og disse instruksjonene blir sendt til SLIM Executer som styrer fixture-koden for å ringe systemet under tester)
b) Den andre linjen definerer plasseringen til klassefilen. I dette tilfellet blir Java-koden kompilert og klassefilen holdes på stedet “bane F: Eclipse TestFitness bin'
c) Den tredje linjen oppgir navnet på klassen. I vårt tilfelle er det “Kalkulator'
d) Nå kommer den fjerde linjen:
De to første kolonnene| første | andre |er parametrene eller inngangene til java-metoden.
De neste 4 kolonnene som blir fulgt av “?”tillegg? | minus? | multiplisere? | dele? | er metodene i java-klassen. Disse metodene vil gi en verdi som vil bli sammenlignet med de forventede verdiene.
er) Linjene:
| 4 | 2 | 6 | 2 | 8 | 2.0 |
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
Er testtilfellene, eller skal jeg si testdata for metoden vår.
Første linje:
| første | andre | tillegg? | minus? | multiplisere? | dele? |
| 4 | 2 | 6 | 2 | 8 | 2.0 |
Tar 4 som første parameter og 2 som andre parameter og vil passere disse to verdiene i tilleggsmetoden til Java-klassen. Metoden kjøres og returnerer en verdi. Denne returnerte verdien vil bli sammenlignet med den forventede verdien skrevet under 'tillegg?' som er| 6 |
På samme måte vil FitNesse passere de to første parameterne i minus? Metode for Java-klassen og returnerer en verdi. Denne verdien vil bli sammenlignet med den forventede verdien mot | 2 |
På samme måte multiplisere? og dele? vil fungere ved å ta verdiene til den første og andre parameteren og returnerer verdien som sammenlignes mot| 8 | 2.0 |henholdsvis
På samme måte blir nedenstående 2 rader (eller jeg skal si testtilfellene) utført.
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
Trinn 4) Når du har redigert testene dine, klikker du på lagringsknappen for å se siden din:
Trinn 5) For å kjøre testene, klikk på Test-knappen, og vi får resultatet som følger: (klikk på bildet for forstørret visning)
For den første raden (som er vårt første testtilfelle) fremhever den grønne fargen at verdiene, returnert fra metodetillegg (), minus (), multipliser () og del () samsvarer med det som forventes, dvs. 6, 2 , Henholdsvis 8 og 2.0. På samme måte samsvarer alle verdiene som returneres fra metodene for den andre raden (som er det andre testtilfellet).
Trinn # 6) Nå for å demonstrere, la meg endre noen av de forventede verdiene til noen andre verdier (verdiene er feil, men jeg har gjort det målrettet for forklaring)
Per nå har jeg:
- Endret forventet verdi for tillegg () for første testtilfelle til å være 7
- Endret forventet verdi for minus () for den andre testsaken
- Endret forventet verdi for deling () for den tredje testsaken.
Trinn 7) Kjør testen ved å klikke på “Test” -knappen. Ovennevnte tester skal mislykkes. (klikk på bildet for forstørret visning)
Den røde fargen fremhever at disse testene mislyktes.
Noen innsikter i Fixture / Table styles:
Vi har sett at testene utføres i FitNesse ved å utføre rader i en tabell. Derfor for å utføre forskjellige typer tester (eller jeg skulle si for å teste forskjellige typer metoder), ville vi trenge å bruke forskjellige typer tabeller. Vi bruker nedenstående inventar / tabellstiler ofte:
- Kolonnearmatur - er mest brukt (og brukes i eksemplet ovenfor). Her representerer dataradene forskjellige sett med input og forventet output.
- Row Fixtures - Den brukes til å teste spørsmål som returnerer noen verdisett.
- Action-inventar - Den brukes til å kjøre tester for en sekvens av hendelser. Disse hendelsene kan være som å klikke på en knapp, sjekke verdier
Anbefaling:
Jeg har prøvd å demonstrere konseptene slik at vi kan begynne å utforske mer på FitNesse. Testerens tankesett må også endres og må utvides. Vi må slutte å begrense oss til å se inne i koden. Jeg føler; til slutt tester vi koden, så hvorfor prøver vi ikke å se koden og tester der og da?
Begynn å skjerpe programmeringsferdighetene dine og legg vekt på å bygge logikken og heller lære syntaksen. Når du er godt kjent med programmeringskonsepter og har praksis for å implementere det, vil det bli enklere å utforske FitNesse.
Konklusjon
Testing i smidig kommer i 4 smaker:
- Automatisert enhetstesting - Ved å bruke Junit
- Automatisert godkjenningstest - Ved å bruke FitNesse
- Automatiserte UI / regresjonstester - ved bruk av Selen eller QTP
- Manuell testing
Vi bør prøve å presse maksimalt av testingen vår i enheten og akseptanselaget . Til nå har vi prøvd å beholde det meste av testingen vår for brukergrensesnittlaget ved hjelp av verktøy som QTP og selen, men ulempen her er at disse funksjonene ikke kunne testes med mindre brukergrensesnittet er utviklet. Når du finner en feil, har utviklerne flyttet inn i en annen funksjonsutvikling.
På den annen side, hvis vi kan teste API-ene snart etter at den er skrevet, kan utviklere fikse det umiddelbart. Dette vil også resultere i mindre innsats når vi tester GUI. Fordi alle funksjonene er testet, blir det enkelt å teste GUI.
Med Agile trenger tankesett til testere også en endring, og de må komme ut av deres rutinemessige sett med testing, og nå bør du se på koden og prøve å identifisere feil, selv om brukergrensesnittet ikke er tilgjengelig.
Om forfatteren: Dette er en gjesteartikkel av STH-teammedlem Shilpa C. Roy. Hun jobber med programvaretesting de siste 9+ årene innen domener som internettannonsering, investeringsbank og telekom.
Gi oss beskjed om dine spørsmål i kommentarene nedenfor.
Anbefalt lesing
- Utviklere er ikke gode testere. Hva sier du?
- Nyttig gratis skjermopptak og kommentatorverktøy for testerne - qSnap Review
- Topp 10 mest populære kodeverktøy for utviklere og testere
- WebLOAD Review - Komme i gang med WebLOAD Load Testing Tool
- Topp 15 SOA-testverktøy for testere
- Hvordan holder jeg motivasjonen levende i programvaretestere?
- TestLodge Test Management Tool Review
- Soft Skill for Testers: Hvordan forbedre kommunikasjonsferdighet