Hva er agurk testverktøy? Rammeverk Introduksjon

Innholdsfortegnelse:

Anonim

Hva er agurk?

Agurk er et testverktøy som støtter Behavior Driven Development (BDD). Det tilbyr en måte å skrive tester som alle kan forstå, uavhengig av teknisk kunnskap. I BDD skriver brukere (forretningsanalytikere, produkteiere) først scenarier eller godkjenningstester som beskriver systemets oppførsel fra kundens perspektiv, for gjennomgang og avlogging av produkteierne før utviklere skriver kodene sine. Agurk rammeverk bruker Ruby programmeringsspråk.

I denne Cucumber framework tutorial vil du lære:

  • Hvordan BDD fungerer i agurkeautomatisering?
  • Fordeler med agurk
  • Agurk vs Selen vs ALM

Hvordan BDD fungerer i agurkeautomatisering?

Vurder at du har tildelt deg å opprette en overføringsmodul i en nettbankapplikasjon.

Det er flere måter å teste det på i agurkertesting-rammeverket

  1. Fondsoverføring bør skje hvis det er nok saldo på kildekontoen
  2. Fondsoverføring bør skje hvis destinasjonens a / c-detaljer er riktige
  3. Overføring av fond bør skje hvis transaksjonspassord / rsa-kode / sikkerhetsautentisering for transaksjonen som er angitt av brukeren er riktig
  4. Overføring av penger bør skje selv om det er en helligdag
  5. Fondsoverføring bør skje på en fremtidig dato som er angitt av kontoinnehaveren

Testscenariet blir mer forseggjort og komplekst ettersom vi vurderer tilleggsfunksjoner som overføringsbeløp X for et intervall Y dager / måneder, stopp planoverføring når totalbeløpet når Z, og så videre

Den generelle tendensen til utviklere er å utvikle funksjoner og skrive testkode senere. Som det fremgår av saken ovenfor, er utviklingen av Test Case for denne saken komplisert, og utvikleren vil utsette Testing til utgivelsen, på hvilket tidspunkt han vil gjøre rask, men ineffektiv testing.

For å overvinne dette problemet ble Cucumber BDD (Behavior Driven Development) unnfanget. Det gjør hele testprosessen enkel for en utvikler

I agurk BDD må alt du skriver gå inn i trinnene Gitt-Når-Så . La oss se på det samme eksemplet ovenfor i BDD

Gitt at det er utviklet en fondoverføringsmodul i nettbankapplikasjonOg jeg får tilgang til den med riktig autentisering
Når jeg skal overføre med nok saldo på kildekontoen minEller jeg skal overføre på en helligdagEller jeg skal overføre på en fremtidig datoOg destinasjon a / c detaljer er korrekteOg transaksjonspassord / RSA-kode / sikkerhetsautentisering for transaksjonen er riktigOg trykk eller klikk send-knappen
Da må beløpet overføresOg hendelsen blir logget inn i loggfilen

Er det ikke lett å skrive og lese og forstå? Den dekker alle mulige testtilfeller for overføringsmodulen og kan enkelt endres for å imøtekomme flere. Også, mer som å skrive dokumentasjon for fondoverføringsmodulen.

Fordeler med agurk

  1. Det er nyttig å involvere forretningsinteressenter som ikke lett kan lese kode
  2. Agurktestingverktøy fokuserer på sluttbrukeropplevelse
  3. Skriftstypestil muliggjør enklere gjenbruk av kode i testene
  4. Rask og enkel oppsett og utførelse
  5. Agurk testverktøy er et effektivt verktøy for testing

Agurk vs Selen vs ALM

I denne delen vil vi studere forskjellen mellom agurk, selen og UFT.

Agurk HP ALM (QTP) Selen
  • Agurkprogramvare er gratis
  • QTP er dyrt
  • Det er gratis
  • Agurkprogramvare er et atferdsdrevet utviklingsverktøy
  • Det er et funksjonelt automatiseringsverktøy
  • Det er et funksjonelt og ytelses (Selenium Grid) testverktøy
  • Plugin i agurk testverktøy fungerer raskere
  • Plugin er tregere sammenlignet med agurk og selen
  • Plugins er tregere enn agurk
  • Agurk Framework støtter andre språk så vel utover Ruby som Java, Scala, Groovy etc.
  • QTP støtter bare VB-skript
  • Selenium støtter Java, .Net og mange andre språk
  • Skriver automatiseringstrinn er felles innsats av testere og utviklere
  • I QTP skriver bare tester automatiseringstrinn
  • I likhet med agurkverktøy er skriving av automatiseringstrinn felles innsats av testere og utviklere
  • Agurktestingverktøy støtter bare nettmiljø
  • Støtter nett, stasjonær og hvilken som helst klientserverapplikasjon
  • Støtter bare nettmiljø