Søgeordsdrevet test - Keyword-driven testing

Søgeordsdrevet test , også kendt som handlingsordbaseret test (må ikke forveksles med handlingsdrevet test ), er en softwaretestmetode , der er velegnet til både manuel og automatiseret test . Denne metode adskiller dokumentationen af testsager  - inklusive både data og funktionalitet, der skal bruges - fra recept på den måde, testsagerne udføres på. Som et resultat adskiller den testoprettelsesprocessen i to forskellige faser: et design- og udviklingsstadium og et eksekveringsstadium. Designet underbordets dækker analysen kravet og vurdering og dataanalyse, definition, og befolkning.

Oversigt

Denne metode bruger nøgleord (eller handlingsord) til at symbolisere en funktionalitet, der skal testes, såsom Enter Client . Nøgleordet Enter Client er defineret som det sæt handlinger, der skal udføres for at indtaste en ny klient i databasen. Dens nøgleordsdokumentation vil indeholde:

  • starttilstanden for det testede system (SUT)
  • vinduet eller menuen til at starte fra
  • nøglerne eller museklik for at komme til det rigtige dataindtastningsvindue
  • navnene på de felter, der skal findes, og hvilke argumenter der skal indtastes
  • de handlinger, der skal udføres, hvis yderligere dialoger dukker op (som bekræftelser)
  • knappen for at klikke for at sende
  • en påstand om, hvordan SUT-tilstanden skal være, når handlingerne er afsluttet

Søgeordsdrevet testsyntaks viser testtilfælde (data og handlingsord) ved hjælp af et tabelformat (se eksemplet nedenfor). Den første kolonne (kolonne A) indeholder nøgleordet, Enter Client, som er den funktionalitet, der testes. Derefter indeholder de resterende kolonner, BE, de data, der er nødvendige for at udføre nøgleordet: Navn, adresse, postnummer og by.

EN B C D E
. Navn Adresse Postnummer By
Indtast klient Jane Smith 6 High Street SE25 6EP London

For at indtaste en anden klient opretter testeren en anden række i tabellen med Enter Client som nøgleord og den nye klients data i de følgende kolonner. Der er ikke behov for at genliste alle de inkluderede handlinger.

I det kan du designe dine testsager ved at:

  • Angivelse af de trin på højt niveau, der er nødvendige for at interagere med applikationen og systemet for at udføre testen.
  • Angiver, hvordan man validerer og certificerer, at funktionerne fungerer korrekt.
  • Specificering af forudsætningerne for testen.
  • Specificering af acceptkriterierne for testen.

I betragtning af softwareudviklingens iterative karakter er testdesignet typisk mere abstrakt (mindre specifikt) end en manuel implementering af en test, men det kan let udvikle sig til en.

Fordele

Søgeordsdrevet test reducerer følsomheden over for vedligeholdelse forårsaget af ændringer i System / Software under Test (SUT). Hvis skærmlayout ændres, eller systemet migreres til et andet operativsystem, skal der næppe foretages ændringer i testsagerne: ændringerne foretages i nøgleordsdokumentationen, et dokument for hvert nøgleord, uanset hvor mange gange nøgleordet bruges i testcases, og det indebærer en dyb proces med testdesign.

På grund af den meget detaljerede beskrivelse af måden til eksekvering af nøgleordet (i nøgleordsdokumentationen) kan testen udføres af næsten alle. Således kan nøgleordsstyret test bruges til både manuel test og automatiseret test .

Desuden er denne tilgang en åben og udvidelig ramme, der forener alle de værktøjer, aktiver og data, der er relateret til og produceret af testindsatsen. Under denne fælles ramme kan alle deltagere i testindsatsen definere og forfine de kvalitetsmål, de arbejder hen imod. Det er her holdet definerer den plan, det vil implementere for at nå disse mål. Og vigtigst af alt giver det hele holdet et sted at gå for at bestemme systemets tilstand til enhver tid.

Test er feedbackmekanismen i softwareudviklingsprocessen. Det fortæller dig, hvor der skal foretages korrektioner for at holde kursen ved en given iteration af en udviklingsindsats. Det fortæller dig også om den aktuelle kvalitet af det system, der udvikles. Aktiviteten ved implementering af tests involverer design og udvikling af genanvendelige test-scripts, der implementerer testsagen. Efter implementeringen kan det knyttes til testsagen.

Implementeringen er forskellig i hvert testprojekt. I et projekt kan du muligvis beslutte at bygge både automatiske testskripter og manuelle testskripter . Designe tests er i stedet en iterativ proces. Du kan begynde at designe tests før enhver systemimplementering ved at basere testdesignet på brugsspecifikationer, krav, prototyper og så videre. Da systemet bliver mere præcist specificeret, og du har builds af systemet til at arbejde med, kan du uddybe detaljerne i designet. Aktiviteten med at designe test svarer på spørgsmålet: "Hvordan skal jeg udføre testen?" Et komplet testdesign informerer læserne om, hvilke handlinger der skal udføres med systemet, og hvilken adfærd og egenskaber de kan forvente at overholde, hvis systemet fungerer korrekt.

Et testdesign er forskelligt fra det designarbejde, der skal udføres for at bestemme, hvordan du bygger din testimplementering.

Metodologi

Den søgeordsdrevne testmetode opdeler testprocesudførelsen i flere faser:

  1. Modelbasis / prototyping: analyse og vurdering af krav.
  2. Definition af testmodel: i forbindelse med vurdering af resultatkrav skal du nærme dig en egen softwaremodel.
  3. Testdatadefinition: på basis af den definerede egen model, start nøgleord og hoved- / komplement-datadefinition.
  4. Testforberedelse: basis for indtagningstest osv.
  5. Testdesign: analyse af testbasis, test case / procedure design, test data design.
  6. Manuel testudførelse: manuel udførelse af testsagerne ved hjælp af nøgleordsdokumentation som udførelsesretningslinje.
  7. Automatisering af testudførelse: oprettelse af automatiseret script, der udfører handlinger i henhold til nøgleordsdokumentationen.
  8. Automatiseret testudførelse.

Definition

Et nøgleord eller handlingsord er en defineret kombination af handlinger på et testobjekt, der beskriver, hvordan testlinjer skal udføres. Et handlingsord indeholder argumenter og defineres af en testanalytiker.

Testen er et nøgletrin i enhver udviklingsproces og skal anvende en række tests eller kontrol på et objekt (system / SW test - SUT). Husk altid, at testen kun kan vise tilstedeværelsen af ​​fejl, ikke deres fravær. I RT-systemtesten er det ikke tilstrækkeligt at kontrollere, om SUT producerer de korrekte output. Det skal også kontrollere, at den tid, det tager at producere denne produktion, er som forventet. Desuden kan timingen af ​​disse udgange også afhænge af timingen af ​​indgangene. Til gengæld bestemmes timingen for fremtidige input, der gælder, ud fra output.

Automatisering af testudførelsen

Implementeringsstadiet varierer afhængigt af værktøjet eller rammen. Ofte implementerer automatiseringsingeniører en ramme, der giver nøgleord som "check" og "enter". Testere eller testdesignere (som ikke behøver at vide, hvordan man programmerer) skriver testcases baseret på de nøgleord, der er defineret i planlægningsfasen, og som er implementeret af ingeniørerne. Testen udføres ved hjælp af en driver, der læser nøgleordene og udfører den tilsvarende kode.

Andre metoder anvender en alt-i-en implementeringsfase. I stedet for at adskille opgaverne med testdesign og testteknik er testdesignet testautomatisering. Nøgleord såsom "rediger" eller "afkryds" oprettes ved hjælp af værktøjer, hvor den nødvendige kode allerede er skrevet. Dette fjerner nødvendigheden af ​​ekstra ingeniører i testprocessen, fordi implementeringen af ​​nøgleordene allerede er en del af værktøjet. Eksempler inkluderer GUIdancer og QTP .

Fordele

  • I det lange løb er vedligeholdelsen lav:
    • Test tilfælde er kortfattede
    • Testcases kan læses for stakeholderne
    • Testcases er nemme at ændre
    • Nye testsager kan lettere genbruge eksisterende søgeord
  • Genbrug af søgeord på tværs af flere testtilfælde
  • Ikke afhængig af et bestemt værktøj eller programmeringssprog
  • Arbejdsdivision
    • Test case konstruktion har brug for stærkere domæne ekspertise - mindre værktøj / programmering færdigheder
    • Keyword implementering kræver stærkere værktøj / programmering færdigheder - med relativt lavere domæne færdigheder
  • Abstraktion af lag

Ulemper

  • Længere tid til markedsføring (sammenlignet med manuel test eller optagelse og gentagelse)
  • Moderat høj læringskurve i starten

Se også

Referencer

eksterne links