Hvad er agurktestværktøj? Indledning af rammen

Indholdsfortegnelse:

Anonim

Hvad er agurk?

Agurk er et testværktøj, der understøtter Behavior Driven Development (BDD). Det giver en måde at skrive tests, som alle kan forstå, uanset deres tekniske viden. I BDD skriver brugere (forretningsanalytikere, produktejere) først scenarier eller acceptstest, der beskriver systemets opførsel ud fra kundens perspektiv, til gennemgang og afmelding af produktejere, før udviklere skriver deres koder. Agurkeramme bruger Ruby programmeringssprog.

I denne vejledning til agurkrammer lærer du:

  • Hvordan BDD fungerer i agurkeautomatisering?
  • Fordele ved agurk
  • Agurk vs Selen vs ALM

Hvordan BDD fungerer i agurkeautomatisering?

Overvej, at du har til opgave at oprette Funds Transfer-modul i en Netbank-applikation.

Der er flere måder at teste det på i agurketest-rammen

  1. Pengeoverførsel skal finde sted, hvis der er nok balance på kildekontoen
  2. Pengeoverførsel skal finde sted, hvis destinationens AC-oplysninger er korrekte
  3. Pengeoverførsel bør finde sted, hvis transaktionskodeord / rsa-kode / sikkerhedsgodkendelse for den af ​​brugeren indtastede transaktion er korrekt
  4. Pengeoverførsel skal finde sted, selvom det er en helligdag
  5. Pengeoverførsel skal finde sted på en fremtidig dato som fastsat af kontoindehaveren

Testscenariet bliver mere detaljeret og komplekst, da vi overvejer yderligere funktioner som overførselsbeløb X i et interval Y dage / måneder, stop overførsel af tidsplanen, når det samlede beløb når Z osv.

Den generelle tendens hos udviklere er at udvikle funktioner og skrive testkode senere. Som det fremgår af ovenstående tilfælde, er Test Case-udviklingen i denne sag kompleks, og udvikleren udsætter Testing indtil frigivelse, på hvilket tidspunkt han foretager hurtig, men ineffektiv testning.

For at løse dette problem blev agurk BDD (Behavior Driven Development) undfanget. Det gør hele testprocessen let for en udvikler

I agurk BDD skal alt, hvad du skriver, gå ind i trin -givet-hvornår . Lad os betragte det samme eksempel ovenfor i BDD

I betragtning af at der er udviklet et fondoverførselsmodul i netbankapplikationOg jeg får adgang til det med korrekt godkendelse
Når jeg overfører med tilstrækkelig saldo på min kildekontoEller jeg overfører på en helligdagEller jeg overfører en fremtidig datoOg destinations a / c detaljer er korrekteOg transaktionskodeord / RSA-kode / sikkerhedsgodkendelse for transaktionen er korrektOg tryk eller klik på send-knappen
Derefter skal beløbet overføresOg begivenheden logges i logfilen

Er det ikke let at skrive og læse og forstå? Det dækker alle mulige testcases for fondoverførselsmodulet og kan let ændres for at rumme flere. Det ligner også mere at skrive dokumentation til fondoverførselsmodulet.

Fordele ved agurk

  1. Det er nyttigt at involvere forretningsinteressenter, der ikke let kan læse kode
  2. Agurktestværktøj fokuserer på slutbrugeroplevelse
  3. Typen af ​​skrivetest giver mulighed for lettere genbrug af kode i testene
  4. Hurtig og nem opsætning og udførelse
  5. Agurktestværktøj er et effektivt værktøj til testning

Agurk vs Selen vs ALM

I dette afsnit vil vi undersøge forskellen mellem agurk, selen og UFT.

Agurk HP ALM (QTP) Selen
  • Agurksoftware er gratis
  • QTP er dyrt
  • Det er gratis
  • Agurksoftware er et adfærdsdrevet udviklingsværktøj
  • Det er et funktionelt automatiseringsværktøj
  • Det er et funktionelt og ydeevne (Selenium Grid) testværktøj
  • Plugin i agurktestværktøj fungerer hurtigere
  • Plugin er langsommere sammenlignet med agurk og selen
  • Plugins er langsommere end agurk
  • Agurk Framework understøtter andet sprog såvel ud over Ruby som Java, Scala, Groovy osv.
  • QTP understøtter kun VB-script
  • Selenium understøtter Java, .Net og mange andre sprog
  • Skrivningsautomatiseringstrin er fælles indsats fra testere og udviklere
  • I QTP skriver kun tester automatiseringstrin
  • Ligesom agurkværktøj er skrivning af automatiseringstrin fælles indsats for testere og udviklere
  • Agurktestværktøj understøtter kun webmiljø
  • Understøtter web, desktop og ethvert klientserverprogram
  • Understøtter kun webmiljø