Hva er et rammeverk for testautomatisering?
Et testautomatiseringsrammeverk er et sett med verktøy som brukes til å utføre automatisert programvaretesting. Testautomatiseringsrammer gir betydelige fordeler fremfor manuell testing og brukes ofte i rask programvareutvikling. Disse rammene lar programvareutviklere lage tester, utføre tester og analysere testresultater. Et rammeverk for testautomatisering kan være drevet av kode, data, et grafisk brukergrensesnitt (GUI) eller en kombinasjon av disse.
Testautomatiseringsrammer er nødvendige for å imøtekomme behovene for rask programvareutvikling. I den klassiske livssyklusen for fosterprogramvareutvikling var programvaretesting en diskret fase utført etter implementering eller koding. Som sådan var tester med menneskelig utførte typiske.
Mange utviklingsteam har erstattet fossefallsmodellen med forskjellige smidige programvareutviklingsmetodologier, som vanligvis krever rask, iterativ utvikling. Rask utvikling har skapt et behov for rask testing. Et rammeverk for testautomatisering tillater en programvare -tem for å utføre hyppig, automatisert testing på en kodebase. For eksempel, i stedet for å kreve en egen testfase etter utvikling, kan et team som bruker en testautomatiseringsramme, velge å kjøre en full serie tester over natten, samt mindre biter av automatiserte tester gjennom dagen ettersom endringer gjøres i kildekoden.
Den mest brukte typen rammeverk er det kodedrevne rammeverket, som brukes til å utføre hvitboks-testing. Kodedrevne rammer krever at utviklere skriver små kodebiter, i form av enhetstester, for å teste programvarefunksjonalitet eller ytelse. Utviklere som bruker kodedrevne rammer må passe på å skrive programvaren sin på en måte som er testbar-det vil si at koden må modulariseres slik at en enhetstest kan kalle et kodebit og bekrefte resultatet. Disse rammene inkluderer vanligvis en implementering av XUnit, der "X" variererbasert på programmeringsspråket som testes.
GUI-drevne testrammer brukes til å utføre svartboks-testing, ved å bruke et programvareverktøy som bruker, ville gjennom mus og tastaturinnganger. De kan bestå av skript skrevet av utviklere for å utøve en serie funksjonalitet, eller de kan bestå av verktøygenererte skript, for eksempel poster-og-spill-tilbake-skript. En potensiell ulempe med disse rammene er at skriptet vil gå i stykker når GUI endres. Noen GUI-automatiske rammer kan generere et skript som kan redigeres av en utvikler i tilfelle GUI-endringer, og andre kan kreve at brukeren lager en fersk journal-og-spill-back-økt.
Datadrevne testrammer utfører programvaretesting ved hjelp av data, og disse testene fungerer vanligvis med datatabell som spesifiserer både innganger og utganger. Dataene kan oppbevares på forskjellige steder, for eksempel databaser, regneark eller tekstfiler. Skript kan skrives for å utføre programvaremetoder som tar inngangene somparametere og for å validere programvaremetodens avkastningsverdi mot utdataene. Alt annet som kan varieres, for eksempel miljøet som testen utfører, kan også lagres med dataene og atskilt fra testskriptet. En fordel gitt av disse rammene er separasjon av data og logikk, noe som ofte fører til lavere langsiktig vedlikehold.