Hva er Adhoc-testing? Typer med eksempel

Hva er Adhoc-testing?

Hva er ad hoc-testing?

Ad hoc-testing er en spontan og fleksibel mรฅte รฅ teste programvare uten รฅ fรธlge noen fastlagt plan eller dokumentasjon. I stedet for รฅ forberede testtilfeller pรฅ forhรฅnd, dykker du rett inn og begynner รฅ utforske applikasjonen. Begrepet ยซad hocยป betyr ยซfor et bestemt formรฅlยป eller ยซuplanlagtยป, noe som virkelig gjenspeiler denne teststilen.

La meg si det enkelt. Tenk deg at jeg nettopp har installert en ny app pรฅ enheten min. I stedet for รฅ krysse av i en liste med testtrinn, begynner jeg รฅ trykke litt rundt. Jeg kan prรธve รฅ legge inn merkelige data, bruke appen pรฅ uventede mรฅter, eller til og med prรธve รฅ avbryte flyten med vilje. Mรฅlet mitt her er รฅ se hvordan appen hรฅndterer det. virkelig, uforutsigbar brukโ€“ ikke bare de ideelle scenariene.

Eksempel pรฅ Adhoc-testing

Ad-hoc-testing skiller seg ut fordi den ofte avdekker problemer som formelle tester kan overse. Ved รฅ tenke kreativt og sette meg inn i forskjellige brukeres situasjoner, kan jeg finne bugs og brukervennlighet problemer som andre kan overse. Denne metoden er avhengig av testernes intuisjon, erfaring, og en dyp forstรฅelse av applikasjonen. Det er en fin mรฅte รฅ oppdage feil tidlig, spesielt nรฅr tiden er knapp eller dokumentasjonen er begrenset.

Selv om ad hoc-testing kan virke uformell, kommer den virkelige verdien fra testerens ekspertise og evne til รฅ tenke utenfor boksenDet blir ofte sett pรฅ som en type svart boks testing siden den fokuserer pรฅ hvordan programvaren oppfรธrer seg pรฅ overflaten, ikke hvordan den er bygget under. Brukt sammen med strukturert testing, bidrar adhoc-testing til รฅ sikre en mer pรฅlitelig og brukervennlig produkt.

Fรธlgende video guider deg hvordan du utfรธrer adhoc-testing

Klikk her. hvis videoen ikke er tilgjengelig

Nรฅr skal man utfรธre ad hoc-testing?

ร… vite det beste tidspunktet รฅ utfรธre ad hoc-testing kan utgjรธre en stor forskjell i kvaliteten pรฅ programvaren din. Gjennom รฅrene har jeg lรฆrt at timing er nรธkkelen til denne fleksible og spontane testtilnรฆrmingen. Ad hoc-testing passer perfekt nรฅr du raskt trenger รฅ sjekke for problemer som strukturerte testtilfeller kan overse. La oss utforske de viktigste situasjonene nรฅr ad hoc-testing er mest verdifull:

  • Tidlig i utviklingen: Det fungerer bra nรฅr formelle testtilfeller ikke er klare ennรฅ. Du kan raskt oppdage feil i nye funksjoner fรธr de offisielle testplanene er opprettet.
  • Fรธr den offisielle testingen starter: Bruk ad hoc-testing som en rask skanning for รฅ sikre at det grunnleggende fungerer. Dette bidrar til รฅ forhindre at man kaster bort tid pรฅ รธdelagte bygg under formelle testsykluser.
  • Etter fullfรธrt formell testing: Selv etter รฅ ha fulgt alle testtilfeller, kan noen feil fortsatt slippe gjennom. Ad hoc-testing lar deg lete etter feil som strukturert testing kan overse, spesielt de som ligger utenfor de dokumenterte kravene.
  • Nรฅr du har lite tid: Noen ganger er det rett og slett ikke nok tid til en fullstendig testrunde. I slike tilfeller kan erfarne testere bruke ad hoc-testing for รฅ finne de viktigste problemene raskt.
  • For รฅ utforske en funksjon i dybden: Hvis du virkelig vil forstรฅ hvordan en bestemt del av programvaren oppfรธrer seg, lar ad hoc-testing deg undersรธke fritt uten รฅ holde deg til et manus.
  • For brukervennlighetskontroller: Du kan sette deg inn i brukerens sted for รฅ se om det er noen forvirrende eller frustrerende deler av programvaren. Dette bidrar til รฅ forbedre den generelle opplevelsen.
  • Under betatesting: Mange betatestere bruker naturlig nok ad hoc-testing nรฅr de tester programvaren i reelle situasjoner, og avdekker problemer som bare dukker opp i bruk i den virkelige verden.

Typer ad hoc-testing

Ad hoc-testing fรธlger kanskje ikke en formell plan, men over tid har det dukket opp flere nyttige stiler. Dette er ikke strenge kategorier, men de gjenspeiler hvordan testere tilpasser seg basert pรฅ reelle behov. Etter min erfaring kan bruk av disse metodene i riktig situasjon avdekke skjulte feil raskere og mer effektivt.

Ad hoc-testtyper

  • Buddy testing: Denne metoden kobler en utvikler og en tester til รฅ jobbe side om side. Utvikleren forklarer hvordan funksjonen ble bygget. I mellomtiden utforsker testeren den fra brukerens perspektiv. Denne blandingen av kodekunnskap og testferdigheter bidrar til รฅ fange opp problemer tidlig, ofte rett etter at kodingen er avsluttet.
  • Partesting: To testere jobber sammen pรฅ samme enhet. Den ene utforsker appen, mens den andre foreslรฅr forskjellige innspill og observerer atferd. De bytter pรฅ รฅ dele notater. Dette samarbeidet i sanntid รธker kreativiteten og finner ofte flere feil enn testing alene.
  • Apetesting: Dette er den mest uforutsigbare tilnรฆrmingen. En tester eller et verktรธy klikker, skriver eller navigerer tilfeldig gjennom appen. Mรฅlet er รฅ presse systemet til det slutter รฅ virke. Selv om dette kan virke kaotisk, er det en fin mรฅte รฅ finne krasj eller svake punkter pรฅ. Bare husk at det kan vรฆre vanskelig รฅ reprodusere feil som finnes pรฅ denne mรฅten.

Hver av disse tilnรฆrmingene har sin egen styrke. ร… velge den rette avhenger av prosjektets behov, teamdynamikken og hvor raskt tilbakemelding er nรธdvendig. Ut fra det jeg har sett, kan en kombinasjon av disse metodene fรฅ det beste ut av ad hoc-testing โ€“ รฅ avdekke problemer som skriptbasert testing kan overse.

Fordeler med ad-hoc-testing

AdHoc-testing tilbyr en unik verdi som strukturert testing ofte gรฅr glipp av. Den er fleksibel, rask og er avhengig av testerens instinkter snarere enn faste prosedyrer. Min erfaring er at denne typen testing er en kraftig fรธlgesvenn til formelle metoder, spesielt i utviklingsmiljรธer med rask utvikling.

  • Avdekker skjulte feil: Uten begrensningene til forhรฅndsdefinerte testtilfeller utforsker den uventede veier der feil ofte gjemmer seg.
  • Raskt og enkelt oppsett: Ikke behov for detaljerte testplaner eller dokumentasjon, noe som sparer mye tid nรฅr rask tilbakemelding er nรธdvendig.
  • Kostnadseffektivt nรฅr tiden er knapp: Ideelt for situasjoner der ressursene er begrensede, men kritiske feil fortsatt mรฅ finnes raskt.
  • Innsikt fra virkelige brukere: Fordi testere oppfรธrer seg som sluttbrukere, kan testprosessen fremheve brukervennlighetsfeil som formelle tester kan overse.
  • Bruker testerens intuisjon: Dyktige testere kan stole pรฅ sin erfaring for รฅ avdekke subtile feil som verktรธy eller skript kan overse.
  • Forbedrer formell testing: Det erstatter ikke formell testing. I stedet gir det et ekstra lag med trygghet ved รฅ utvide testdekningen.
  • ร˜yeblikkelig tilbakemeldingslรธkke: Spesielt nyttig i smidige oppsett der feil mรฅ finnes og fikses raskt for รฅ holde ting i gang.

Ulemper med ad-hoc-testing

Ad hoc-testing har flere begrensninger som kan pรฅvirke bรฅde testkvaliteten og produktresultatet. La meg forklare disse tydelig ut fra min egen testerfaring.

  • Vanskelig รฅ reprodusere feil: Siden det ikke finnes noen strukturert tilnรฆrming eller trinnvis oversikt, kan det vรฆre vanskelig รฅ gjenskape et problem. Dette gjรธr det vanskeligere for utviklere รฅ lรธse problemet.
  • Avhenger av testerens erfaring: Hvor vellykket denne metoden er, avhenger mye av hvor dyktig eller kjent testeren er med produktet. En nybegynner kan overse viktige feil som en erfaren tester ville oppdage.
  • Ingen full testdekning: Ad hoc-testing fรธlger ikke en planlagt bane. Det betyr at noen viktige omrรฅder kan bli stรฅende utestet uten at noen merker det fรธr det er for sent.
  • Mangler sporing og beregninger: Uten testtilfeller eller logger er det vanskelig รฅ mรฅle fremgang, identifisere mรธnstre eller forstรฅ hva som er testet. Dette reduserer synligheten for team og interessenter.
  • Ikke egnet for hรธyrisikoapplikasjoner: Prosjekter innen helsevesen, bankvirksomhet eller sikkerhetskritiske systemer krever grundig dokumentasjon og validering. Ad hoc-testing alene oppfyller ikke disse strenge standardene.
  • Kan kaste bort tid uten fokus: Hvis testeren ikke har i det minste uformelle mรฅl, kan de ende opp med รฅ bruke for mye tid pรฅ รฅ utforske lavprioriterte funksjoner. Dette forsinker den generelle testsyklusen.

Beste praksis for effektiv ad hoc-testing

For รฅ maksimere fordelene med ad hoc-testing til tross for dens uformelle natur, bรธr du vurdere disse fremgangsmรฅtene:

1) God forretningskunnskap

Testere bรธr ha god kjennskap til virksomheten og klar forstรฅelse av kravene - Detaljert kunnskap om ende-til-ende forretningsprosessen vil hjelpe รฅ finne defekter enkelt. Erfarne testere finner flere feil ettersom de er flinkere til รฅ gjette feil.

2) Testnรธkkelmoduler

Sentrale forretningsmoduler bรธr identifiseres og mรฅlrettes for ad hoc-testing. Forretningskritiske moduler bรธr testes fรธrst for รฅ fรฅ tillit til kvaliteten pรฅ systemet.

3) Registreringsfeil

Alle defekter mรฅ registreres eller skrives i en notisblokk. Mangler mรฅ tilordnes utviklere for utbedring. For hver gyldig defekt mรฅ tilsvarende testtilfeller skrives og legges til planlagte testtilfeller.

Disse Defekt funn bรธr gjรธres som lรฆrdom og disse bรธr gjenspeiles i vรฅrt neste system mens vi planlegger testcaser.

4) Par opp

Som sett i Buddy eller partesting, samarbeid kan bringe frem ulike perspektiver og forbedre feildeteksjon.

Eksempler pรฅ Adhoc-tester

Adhoc-testing handler om รฅ utforske en applikasjon uten en fast plan. I stedet for รฅ fรธlge skript, stoler vi pรฅ intuisjon og tidligere erfaring. Jeg har ofte funnet denne tilnรฆrmingen nyttig nรฅr jeg prรธver รฅ fange opp uvanlige eller uventede feil som skripttester kan overse.

  • Stresstest av pรฅloggingsfunksjonen: En tester logger gjentatte ganger inn og ut med forskjellige pรฅloggingsinformasjoner, noen feil, for รฅ se om systemet krasjer eller reagerer merkelig.
  • Uvanlig brukerinndata: ร… legge inn symboler, ekstremt lange strenger eller uventede filformater for รฅ sjekke hvordan systemet reagerer. Det hjelper med รฅ finne ut hvor godt validering av inndata hรฅndteres.
  • Tilfeldige klikk og navigasjon: Testeren klikker seg tilfeldig gjennom appen โ€“ hopper mellom sider, utlรธser knapper i feil rekkefรธlge โ€“ for รฅ oppdage uventet atferd.
  • Kaos ved filopplasting: Laster opp filtyper som ikke stรธttes eller som er รธdelagte for รฅ teste robustheten til opplastingsfunksjonen.
  • Avbruddstesting: Avbryte en prosess (som รฅ lukke en fane midt i lagring eller kutte internettforbindelsen) for รฅ se hvordan systemet gjenoppretter seg.

Sammenlignende analyse med utforskende testing

Selv om de ofte blandes sammen, viser ad hoc- og utforskende testing distinkte driftsparametere:

Karakteristisk Ad hoc-testing Utforskende testing
Teknisk dokumentasjon Kun etter utfรธrelse Kontinuerlig innspilling
Planlegging none Lett charterbasert
Sesjonsstruktur Helt ustrukturert Tidsbestemte iterasjoner
Reproduksjon av feil 33 % reproduserbarhet 78 % reproduserbarhet
Automatisering Integrasjon Begrenset anvendelighet 42 % verktรธyinnarbeidelse

Konklusjon

Ad hoc-testing er fortsatt en effektiv mรฅte รฅ finne skjulte feil som andre testmetoder kan overse. Den er avhengig av testerens erfaring, instinkter og kreativitet. Gjennom mine tiรฅr innen testing har jeg sett hvordan denne tilnรฆrmingen ofte avdekker problemer i den virkelige verden som strukturerte tester overser.

Det er imidlertid viktig รฅ bruke ad hoc-testing med forsiktighet. Uten planlegging eller dokumentasjon kan det vรฆre vanskelig รฅ gjenta resultater eller dele funn. Derfor anbefaler jeg alltid รฅ kombinere det med skikkelige notater og bruk av verktรธy som sporer hva som testes. Dette skaper en balanse mellom frihet og kontroll.

Etter hvert som AI fortsetter รฅ vokse, tror jeg vi vil se smartere ad hoc-testing stรธttet av maskinlรฆring. Disse verktรธyene kan hjelpe testere med รฅ fokusere instinktene sine der de er mest nรธdvendige. Selv om ad hoc-testing startet som en fleksibel, menneskedrevet praksis, blir den raskt mer mรฅlbar og verdifull i dagens kvalitetssikringsarbeidsflyter.

Oppsummer dette innlegget med: