Automatisering Testing Tutorial: Komme I Gang

Innholdsfortegnelse

Hva Er Automatisering Testing?

Som navnet antyder. automatisering testing tar programvare testing aktiviteter og utfører dem via en automatisering verktøysett eller rammeverk. I enkle ord er det en type testing der et verktøy utfører et sett med oppgaver i et definert mønster automatisk.

det tar trykket av manuelle testere, og lar dem fokusere på høyere verdi oppgaver-utforskende tester, gjennomgang av testresultater, etc. I hovedsak tar en maskin over og implementerer, verdslige, repeterende, tidsforvirrende oppgaver som regresjonstester. Automatiseringstesting er avgjørende for å oppnå større testdekning innen kortere tidslinjer, samt større nøyaktighet av resultatene.

Hvorfor er Automatiseringstesting kritisk i En Programvarelivssyklus?

Tenk deg dette.

på din første dag SOM QA må du teste et program som inneholder ca 100 felt som krever inndata. Når du utfører utforskende testing, må du sette inn input manuelt i hvert felt. Dette tar omtrent 10 minutter å gjøre hvis du er veldig rask.

du trykker På Send. En feilmelding vises. Det ser ut som et ubehandlet unntak. Du rapporterer feilen og føler deg veldig bra om en godt utført jobb. Du gjentar prosessen, finner noen flere feil og har en generelt produktiv første dag.

neste dag løser utvikleren problemene, og du må teste den nye versjonen av programvaren, og gjenta de samme trinnene som dagen før. Feilen er løst. Godt utført jobb. En god brukeropplevelse sikret, takket være din innsats.

på den tredje dagen har utviklere gitt ut en nyere versjon med nyere funksjoner. Men for å sikre at de nye funksjonene ikke har brutt de eldre arbeidsfunksjonene, må du gjenta prosessen igjen. Ingen problemer funnet.

i løpet av en måned slipper utviklere nyere versjoner kontinuerlig, noe som betyr at du må fortsette å teste programvaren, gjenta den samme prosessen (sette inn feltinngang) hver gang. Du kjeder deg og er sliten. Din nøyaktighet begynner å vakle, noe som resulterer i at du til slutt ender opp med å savne en feil-muligens en ganske åpenbar.

Tro det eller ei, dette er et ganske vanlig scenario for De Fleste QAs. Det er ikke mulig å gjøre det samme om og om igjen og være perfekt på det hver gang. Det er her automatiseringstesting kommer inn.

kan en programvare teste en annen programvare?

Ja. Det er hele poenget med automatiseringstesting. Når det gjelder regresjonstesting, er investering av manuell innsats ubrukelig og sløsing. I stedet for å forvente at mennesker skal gjenta de samme trinnene med samme hastighet, nøyaktighet og energi, er det langt mer logisk å programmere en maskin til å gjøre det samme.

Hvilke tester skal automatiseres?

før du lager en testautomatiseringsstrategi, la oss se på hvilke tester som er mest mulige for automatisering:

  • Regresjonstesting: Regresjonssuiter er stadig økende, og krever at de samme variablene fylles mange ganger for å sikre at nye funksjoner ikke tukler med eldre funksjoner. Dette kan enkelt automatiseres.
  • Testing av komplekse funksjoner: Automatiser alle tester som krever komplekse beregninger, noe som er utsatt for menneskelig feil.
  • røyktesting: Kjør automatiserte suiter for å verifisere kvaliteten på viktige funksjoner. Dette sparer tid ved å tilby en rask analyse av om en bygning krever mer grundig testing.
  • datadrevet testing: Automatiser tester for å validere funksjoner som må testes gjentatte ganger med mange datasett.
  • Ytelsestesting: Automatiser tester som overvåker programvarens ytelse under forskjellige omstendigheter. Å gjøre dette manuelt ville være svært møysommelig og tidkrevende.
  • Funksjonell testing: Hver gang en utvikler sender INN EN PR, må funksjonell testing utføres raskt og gi umiddelbar tilbakemelding. Dette er umulig å oppnå uten automatisering, spesielt når organisasjoner skalere opp.

Komme i Gang Med Automatiseringstesting

vær oppmerksom på følgende punkter når du går over fra manuell til automatiseringstesting:

  • ikke mål for 100% testautomatisering. Ikke alle tester kan automatiseres. Selv blant tester som kan automatiseres, må du ikke angi et innledende mål for fullstendig automatisering.
  • Sett et realistisk mål. For eksempel, start med å flytte noen tester til automatisering. Skriv mindre testtilfeller som lett kan gjenbrukes i fremtidige tester av samme programvare. Kart testtilfeller med tilsvarende funksjoner for å gi bedre testdekning. Merk testtilfeller slik at team kan ha klarhet om hva som skal automatiseres og rapportere mer effektivt.
  • Utforsk nye områder av applikasjonen med automatisering. Når du kalker ut automatiseringsstrategier, må du sørge for at forretningsbehov tas like alvorlig som tekniske hensyn.
  • Vet hva som ikke skal automatiseres. Dette bidrar til å bestemme omfanget av automatisering tidlig i ideasjonsprosessen. Følgende tester er best overlatt til manuell dekning:
  1. Brukeropplevelsestesting: Verktøy kan ikke gjenskape noen brukerreise i sin helhet. Det er umulig for en algoritme å forutsi hvordan enkelte brukere vil samhandle med et program. For å faktisk bedømme kvaliteten på brukeropplevelsen, hold deg til menneskelige testere. Prøv å bruke manuelle interaktive testverktøy som BrowserStack Live.
  2. tilgjengelighetstesting: Når du tester hvor tilgjengelig et program er, er det ingen erstatning for menneskelig bruk. Et verktøy kan ikke måle tilgjengelighet fordi folk ofte har ulike meninger om hva som teller som tilgjengelig. Det er ikke mulig for et verktøy å gjenkjenne om programvare arbeidsflyt gir enkel tilgang for faktiske mennesker.

  • Velg de riktige verktøyeneautomasjonstesting er helt avhengig av verktøy. Her er hva du bør vurdere når du velger riktig verktøy:
  1. programvarens natur: blir applikasjonen testet nettbasert eller mobilbasert?
    for å teste den tidligere, bruk et verktøy som Selen for å automatisere testene dine. For sistnevnte Er Appium et av de beste mulige verktøyene for automatisering.
  2. Programmereropplevelse: Velg rammer, språk og verktøy som samsvarer med testernes komfort og erfaring. Noen av de mest populære språkene som brukes til automatiseringstesting inkluderer Java, JavaScript,Ruby, C#, etc.
  3. Åpen Kildekode eller ikke: avhengig av budsjettbegrensninger, kan man velge å bruke åpen kildekode verktøy Som Selen eller Appium for automatisering formål. Det er imidlertid viktig å huske at alle open source-verktøy ikke er dårligere enn deres kommersielt tilgjengelige kolleger. For Eksempel Er Selenium Webdriver et open source-verktøy som er mest favorisert av automatiserte testere rundt om i verden.
  • Velg riktig testnett

testnettet refererer til infrastrukturen som alle automatiserte tester vil kjøre på. Den består av en rekke enheter, nettlesere og operativsystemer (flere versjoner) som programvaren skal testes på. Det er alltid best å automatisere tester på ekte enheter og nettlesere. Dette vil sikre at programvaren blir testet i reelle brukerforhold.

i Tillegg bør det ideelle testnettet aktivere parallell testing. Dette betyr at testere skal kunne kjøre flere tester på flere enheter samtidig. Dette reduserer testtiden, fremskynder resultatene og gir resultater innen kortere tidsfrister.

noe annet å bestemme er om testnettet skal være vert på stedet eller på skyen. Husk at on-premise infrastruktur er nesten alltid dyrt å sette opp og vedlikeholde. Det krever å holde styr på nye enheter, nettlesere og operativsystemer, oppdatere og vedlikeholde dem tilsvarende. Dette er en utfordring siden flere versjoner av hver blir utgitt hver måned.

Omvendt er det enklere å teste på et skybasert rutenett, siden oppdatering og vedlikehold vil bli tatt vare på av organisasjonen som tilbyr rutenettet. BrowserStack tilbyr For eksempel et sky Selen rutenett som er koblet til 2000 + ekte enheter og nettlesere for testing. Brukere må bare registrere seg og begynne å teste på et robust Selenett som kontinuerlig oppdateres for best mulig resultat.

Browserstacks real device cloud gir 2000 + ekte nettlesere og enheter for umiddelbar, on-demand testing. Skyen gir også integrasjoner med populære CI / CD verktøy Som Jira, Jenkins, TeamCity, Travis CI, Og mye mer. I tillegg er det innebygde feilsøkingsverktøy som lar testere identifisere og løse feil umiddelbart. BrowserStack forenkler Også Cypress testing på 30 + nettleserversjoner med umiddelbar, problemfri parallellisering.

Prøv Automatiseringstesting Gratis

Eksempel På Testautomatisering

ved manuell testing av programvare bruker testeren et feste og tastatur til å samhandle med det. Automatiseringsskript og verktøy replikerer denne interaksjonen, trinn for trinn.

i dette eksemplet testes en kalkulator for å se om den kan legge til to tall og vise resultatet. Manuelt vil trinnene for å gjøre det være følgende:

Trinn 1: Start Kalkulator
Trinn 2: Trykk 2
Trinn 3: Trykk +
Trinn 4: Trykk 3
Trinn 5: Trykk =
Trinn 6: skjermen viser 5
Trinn 7: Lukk Kalkulator

et automatiseringsverktøy kan utføre de samme trinnene med følgende skript:

//the example is written in MS Coded UI using c# language.public void TestCalculator(){//launch the applicationvar app = ApplicationUnderTest.Launch("C:\Windows\System32\calc.exe");//do all the operationsMouse.Click(button2);Mouse.Click(buttonAdd);Mouse.Click(button3);Mouse.Click(buttonEqual); //evaluate the resultsAssert.AreEqual("5", txtResult.DisplayText,"Calculator is not showing 5");//close the applicationapp.Close();}

når du utfører skriptet ovenfor, vises nøyaktig samme resultat (5). I stedet for å måtte gå gjennom de manuelle trinnene, skriv bare skriptet og la verktøyet ta seg av resten.

slik flytter Du Fra Manuell Til Automatiseringstesting

til å begynne med: still to spørsmål.

  1. Hva Skal Automatiseres?
  2. Hvordan Automatisere?

Hva Skal Automatiseres?

  • Automatiser tester som er nødvendige for en hyppig utgivelsessyklus. Det kan inkludere røyktester, regresjonstester og lignende. I utgangspunktet automatiserer tester som øker hele testsyklusen. Husk at lavere manuell intervensjon tilsvarer raskere resultater.
  • Automatiser tester basert på teknisk og forretningsmessig prioritet. Tenk slik: vil automatiseringen av denne testen hjelpe virksomheten? Vil automatisere denne testen bidra til å forenkle tekniske kompleksiteter? Hvis svaret er ja på begge spørsmål, automatiser.
  • Automatiser basert på brukervennlighet. Noen tester, for eksempel kompatibilitetstester på tvers av nettlesere, fungerer bare bedre når de utføres manuelt. Verktøyavhengighet kan også begrense automatiseringspotensialet for et bestemt testteam eller en bestemt organisasjon.

Les Mer: 10 Testautomatisering Beste Praksis å følge

Hvordan Automatisere?

Til å begynne med, husk at ikke alle tester kan automatiseres. Ved å følge de tre strategiene i forrige avsnitt, blir det lettere å starte automatisert testing på en praktisk måte.

  • Begynn liten. 100% automatisering er ikke målet, og heller ikke mulig. Skriv mindre testtilfeller fordi de er enklere å vedlikeholde og gjenbruke. Flytt et lite antall tester til en automatiseringsplattform, kjør testene, analyser resultatene og avgjøre om prosessen viste seg å være gunstig for programvareutviklingsprosessen.
  • hvis betydelige fordeler kommer fra operasjonen, flytt flere tester til automatisering. Begynn å flytte tester, ikke bare i volum, men også øke typen tester som blir automatisert. Husk at dette fortsatt er et eksperimentelt stadium. Det er mulig at enkelte tester vil vise seg å være ineffektive i automatisering, og må flyttes tilbake til manuell testing.
  • Kart testtilfeller med hver metode eller funksjon for å få bedre testdekning. Merk testtilfellene dine for enklere identifisering, slik at teamet raskt kan vite hvilke tester som skal automatiseres. Dette bidrar også til bedre rapportering.
  • når du starter automatiseringstesting, start med å utforske nye områder av applikasjonen manuelt. Deretter lager du en risikoplan som beskriver hva som må automatiseres, basert på forretningsmessige og tekniske prioriteringer.
  • Bruk analytics til å bestemme sluttbrukerinnstillinger. Lag en liste over nettlesere og enheter som brukerne mest sannsynlig vil få tilgang til programvaren med. Dette hjelper automatiseringstesting med å dekke de riktige grensesnittene og optimaliserer programvareytelsen på de riktige brukerveiene.

Prøv Automatisert Testing På Ekte Enhetssky

Vedlikehold Av Testautomatisering

når de er laget, må automatiseringstestpakker vedlikeholdes. Etter hvert som programvaren utvikler seg og kodebasen utvides, må automatiseringsskript endres og oppdateres for å innlemme nye funksjoner og funksjoner. Selv ørsmå endringer I UI kan forstyrre tester og føre dem til å mislykkes. Ved utforming av testtilfeller må automatiseringstestere ta hensyn til vedlikeholdsinnsats og kostnader.

testautomatiseringsvedlikeholdstilnærmingen fungerer fra to hovedperspektiver:

  • Testfeil: når feilsøking mislyktes tester, ser etter mulige vedlikeholdsproblemer. Var ikke testskriptet tilstrekkelig oppdatert? Har en endring i programvarekoden forstyrret testskriptet? Dette er en enkel måte å identifisere hvilke områder som krever vedlikehold.
  • Endring I Avhengigheter eller Verktøy: Har teamet eller organisasjonen endret Apier, rapporteringsverktøy, databaser, etc.? I så fall kan tester må endres eller oppdateres for å justere med nye verktøysett. For å oppnå dette må utviklere og testere åpenbart trenes på den nye infrastrukturen slik at de kan holde tritt med vedlikeholdsarbeidet i fremtiden.

Hva er nøkkelelementene i en effektiv testautomatiseringsstrategi?

Automatiseringstesting er en integrert del av ethvert testøkosystem. Uten å flytte til et automatiseringsoppsett blir omfattende testing vanskelig, og det samme gjør møtet med stadig kortere tidsfrister. Derfor er det viktig å starte protokoller for automatiseringstesting så tidlig som mulig på en måte som balanserer og utfyller manuell testing.

Prøv trinnene som er skissert ovenfor, og eksperimenter nok til å finne ut hvilke tilnærminger som gir optimale resultater. Ikke vær bekymret for å mislykkes noen ganger før du finner det søte stedet som gir effektiv automatisering uten å kompromittere menneskelig validering.

Write a Comment

Din e-postadresse vil ikke bli publisert.