fbpx

Udforskende testning er en særlig type softwaretestning, der har mange fordele for en applikation, så den kan udnytte sit fulde potentiale.

Den måde, hvorpå et team integrerer udforskende testning i deres rutinekontrol, kan endda være afgørende for, hvor godt softwaren fungerer, især fordi testprocedurerne gribes an på nye og uventede måder. Dette hjælper testerne med at afdække problemer i applikationen, som ellers kan gå ubemærket hen indtil lanceringen og resultere i, at vigtige funktioner ikke fungerer.

Hvis du forstår processerne, typerne og tilgangen til udforskende testning, kan det hjælpe dig med at vejlede organisationen og dens testteams om, hvordan de kan integrere det i deres sædvanlige kontroller.

Der findes også en række gratis værktøjer, som teamet kan bruge til at lette disse inspektioner og opdage problemer, før de potentielt bliver til hindringer for udviklingen.

I denne vejledning viser vi fordelene ved udforskende testning og de vigtigste overvejelser, som et team bør overveje, inden de implementeres.

 

Table of Contents

Hvad er udforskende testning?

 

Eksplorativ testning kombinerer testdesign- og udførelsesfasen, hvilket sikrer testeren fuldstændig operationel frihed og giver ham mulighed for løbende at strømline sit arbejde.

Når disse teams kontrollerer softwaren, vil de sandsynligvis opdage nye komponenter, der kræver grundige inspektioner, og de kan nemt finde på nye tests, der vil gavne applikationen.

Udforskende testning ligner ad hoc-testning, men følger en meget mere stringent dokumentation og inkorporerer også en mere aktiv læringsproces.

Den mindre strukturerede tilgang hjælper testerne med at fastslå, hvordan en applikation sandsynligvis vil reagere på realistiske scenarier og testcases, og er et vigtigt supplement til scriptede test.

Kvaliteten af et teams udforskende testning afhænger ofte af de enkelte testeres færdigheder, da kontrollen kræver kreativitet og en grundig forståelse af softwaren. Dette er en proces med løbende opdagelse – en proces, hvor testerne bruger deduktive ræsonnementer til at styre deres overordnede teknik.

Udforskende test er særligt nyttige, fordi de afspejler, hvordan brugerne kan bruge softwaren. De fleste brugere finder fejl og problemer ved et uheld, så disse uscriptede processer kan hjælpe testerne med at finde problemer, som forudbestemte kontroller måske ikke afdækker.

Det er også muligt for et team at automatisere denne procedure for at sikre en højere grad af effektivitet.

 

1. Hvornår skal du lave udforskende testning?

 

Udforskende testning er generelt nyttig i næsten alle softwaretestprocesser, men den er især god til at give hurtig feedback om en applikation.

Holdet kan også indarbejde disse kontroller, hvis de løber tør for scriptede tests. Uden en klar retning for deres softwareinspektioner kan udforskende testning være med til at afdække problemer, der falder uden for standardkontrollen.

Ved at sikre forskellige testprocedurer kan testerne forstå softwaren på et langt dybere niveau på ethvert tidspunkt, men hvis de gennemføres tidligt, kan det give flere fordele.

Det er muligt for teamene at foretage nye udforskende tests senere, hvis det er nødvendigt, for at få mere ro i sindet.

 

2. Når du ikke har brug for at lave udforskende testning

 

Der er nogle få scenarier, hvor udforskende testning ikke giver nogen fordele, selv om det kan være mere nyttigt for testerne at vente, indtil softwaren har sin kernefunktionalitet.

Funktionerne i et program krydser eller interagerer typisk med hinanden, hvilket betyder, at udforskende test af en funktion kan være forældet, når udviklingsteamet tilføjer flere funktioner til softwaren.

Det er også muligt at udføre disse tests sammen med scriptede kontroller uden problemer, forudsat at testerne kan sikre et højt dokumentationsniveau for at undgå forvirring.

Exploratory testing er meget alsidig sammenlignet med andre testtyper, hvilket gør disse kontroller meget anvendelige.

 

3. Hvem er involveret i udforskende testning?

 

Udforskende testning involverer mange medarbejdere i en eller anden henseende, herunder:

– Softwaretestere på alle niveauer kan udføre disse tests, men teammedlemmer med et bedre kendskab til softwaren kan designe flere forskellige kontroller.

Erfaring kan også påvirke deres evne til at bestemme de mest nyttige test.

– Softwareudviklere, der anerkender resultaterne af disse tests, vil følge eventuelle forslag og ofte udvikle deres egen løsning på problemet.

Deres svar på testene er det, der gør det muligt for applikationen at nå en tilstand, hvor den er egnet til en vellykket frigivelse.

– Projektledere, der overvåger hele denne proces og kan endda være dem, der beslutter, hvilke testtyper holdene anvender.

De kan også være ansvarlige for at anskaffe software til teamene, som kan strømline eller endda automatisere testene.

 

Livscyklus for udforskende testning

 

Den eksplorative testproces har et stærkt fokus på testerens frihed, men følger stadig en bestemt struktur.

De tre vigtigste faser i denne tilgang er:

 

Etape 1: Læring

 

Testere begynder med at udvikle en stærk forståelse af softwaren og dens funktionalitet – de analyserer den kritisk for at finde ud af, hvordan den passer sammen.

Dette giver testeren mulighed for at finde ud af de sædvanlige input, som en bruger kan foretage, selv om vedkommende måske allerede kender programmet og ved, hvordan det fungerer.

Indlæringsfasen kan endda kræve en vejledning i, hvordan man bruger softwaren. Dette er udforskningsfasen og giver testeren alle de oplysninger, der er nødvendige for at kunne designe en bred vifte af nyttige tests.

 

Fase 2: Udformning af test

 

Udforskende testdesign involverer forskellige regler og parametre, men giver stadig betydeligt mere frihed sammenlignet med scriptede test, hvis detaljer allerede er kendt, før testen begynder.

Testeren kan udtænke kontroller, som han/hun mener passer mere præcist til applikationen, og kan potentielt afdække værdifulde data for udviklingsteamet, herunder bemærkelsesværdige fejl, som de skal rette.

Testteams bruger denne fase til at finde ud af, hvilken tilgang de skal vælge, og hvordan arbejdet skal fordeles mellem de forskellige testere på måder, der udnytter deres styrker.

 

Fase 3: Udførelse

 

Når testerne har udformet de kontroller, der skal bruges, kan de nu inspicere applikationen på de måder, de mener er mest effektive – de kan udføre dette umiddelbart efter at de har udarbejdet den specifikke test.

Dette er den fase, hvor testerne aktivt søger efter problemer, og hvordan de problemer, de afdækker, kan påvirke andre funktioner og features.

Selv om der er en vis grad af intuitivt arbejde involveret i udforskende testudførelser, følger de stadig faste processer og mål, hvilket giver mulighed for en flydende test, der nemt kan imødekomme de specifikke testmål.

 

Udforskende test vs. scriptet testning

 

Udforskende testning er faktisk det modsatte af scriptet testning, selv om begge dele kan være vigtige for at sikre, at en applikation er klar til frigivelse. Sidstnævnte er normalt mere formel og struktureret og omfatter mange brede tests i forhold til udforskende kontroller, som ofte er mere specifikke i forhold til applikationens funktionalitet.

Som en del af dette er udforskende test også betydeligt mere tilpasningsdygtige, mens scriptede test kan have svært ved at tilpasse sig, hvis der sker store ændringer i softwaren. Udforskende test kan afdække fejl og handle hurtigere mod dem, hvilket gør førstnævnte test særligt nyttige i tilfælde, hvor hurtig feedback er afgørende.

 

1. Aktiv udforskende testning

 

Aktiv udforskende testning indebærer, at en tester udarbejder et automatiseret script til sine kontroller, som en anden tester udfører. Disse scripts tager i givet fald hensyn til de tidligere tests.

De to testere skifter typisk rolle under hele inspektionsproceduren for at dobbelttjekke pålideligheden af disse scripts og processer.

Aktive tests har en bredere dækning uden at ofre den særlige karakter af de udforskende tests. Disse scripts giver også mulighed for bedre dokumentation, hvilket gør det lettere at reproducere eventuelle problemer, som testerne finder.

Dokumentation er en vigtig del af aktive tests, da det også hjælper interessenterne med at se applikationens overordnede fremskridt.

 

2. Passiv udforskende testning

 

Passiv udforskende testning kræver kun én tester, men ved at arbejde i par kan processen strømlines yderligere.

Denne tilgang involverer specifik software, der registrerer testernes handlinger og giver dem nemme trin til at gentage ethvert problem, de opdager. Dette sker normalt i form af en video, hvor testeren giver kommentarer, der forklarer deres handlinger trin for trin.

Optagelse af testprocessen giver også indsigt i applikationens ydeevne, herunder hvor hurtigt den reagerer på inputforespørgsler.

Passiv testning giver både testerne og udviklingsteamet et væld af detaljerede oplysninger om, hvordan softwaren fungerer.

 

Teknikker til udforskende testning

 

Udforskende testning følger typisk et “rundvisningsformat” – hvor testeren udforsker softwaren på den mest effektive måde.

Der er forskellige ture, som holdet kan vælge mellem, herunder:

 

– Rundvisninger i guidebøger

Denne tilgang prioriterer applikationens fremhævede funktionalitet, så den nøje gengiver, hvordan en gennemsnitlig bruger arbejder med softwaren, og afdækker problemer, som de naturligt ville finde.

 

– Historiske ture

Denne rundtur undersøger programmets ældste funktioner for at sikre, at de stadig fungerer; dette er især vigtigt, hvis udviklerne har tilføjet nye funktioner, som er i konflikt med programmet.

 

– Penge tur

Denne udforskende test tjekker de kritiske applikationsfunktioner, især dem, som kunder og klienter betaler penge for at få adgang til – det er typisk dem, der har højeste prioritet for testteamet.

 

– Tur med kriminalitetstogt

Testere arbejder nogle gange aktivt på at ødelægge en applikation eller fremkalde negative scenarier, f.eks. ved at indtaste ugyldige oplysninger og undersøge, hvordan applikationen reagerer på dette.

 

– Rundvisning i baggyder

Denne proces omfatter funktioner, som færre kunder sandsynligvis vil bruge; disse er lige så vigtige for enhver testmetode, især fordi de vil interagere med andre funktioner.

 

– Intellektuel rundvisning

På denne tur presses programmet yderligere, idet de mest komplicerede funktioner testes med højere (nogle gange maksimale) værdier for at bestemme softwarens behandlingshastighed.

 

Metoder til udforskende testning

 

Der er to hovedtilgange til udforskende testning:

 

1. Sessionsbaseret udforskende testning

 

Dette er en tidsbaseret teknik, der har til formål at kvantificere testprocessen ved at opdele den i “sessioner” med to komponenter: missioner og chartre.

Missionen er formålet med den pågældende session og dens varighed, hvilket giver en udforskende tester et klart fokus.

Et charter fastlægger hver sessions omfang og beskriver alle specifikke mål, som testeren har til hensigt at opfylde. Dette resulterer i et højere niveau af ansvarlighed (og dokumentation) ved at opdele disse kontroller i mere håndterbare komponenter.

Sessionsbaserede tests forbedrer også produktiviteten og giver testeren klare målinger og oplysninger om fejlfinding.

 

2. Parbaseret udforskende testning

 

Parbaseret testning ligner aktiv udforskende testning, da den primært involverer arbejde i par – normalt på den samme enhed – for løbende at kontrollere applikationen samtidigt. I dette arrangement foreslår den ene tester en række testcases og noterer fremskridtene, mens den anden tester softwaren.

Kommunikation er afgørende under hele den parbaserede testning, da det sikrer, at begge testere er klar over kontrollerne og deres formål.

Hvis du selv tildeler disse par, skal du sørge for at tage højde for hver enkelt testers styrker og svagheder, da du derved kan opbygge stærkere processer for udforskende testning.

 

Hvilke faktorer påvirker udforskende testning?

 

De faktorer, der kan påvirke kvaliteten af et teams udforskende testning, omfatter:

 

– Softwarens overordnede mål og centrale funktionalitet.

– De specifikke testmål for en applikations nuværende fase.

– De individuelle roller og evner for hver enkelt tester på holdet.

– De tilgængelige værktøjer, f.eks. gratis software til automatisering af test.

– Den støtte, som testerne får fra kolleger eller ledelsen.

– Kundens ønsker og markedets aktuelle generelle tendenser.

– Programmets brugervenlighed, f.eks. brugerfladen er flydende.

– Den tid, som testerne har til at gennemføre testfasen.

– De input og andre forskellige data, som testerne har til hensigt at bruge.

– De funktioner, som udviklerne tilføjer til softwaren med tiden.

 

Typer af udforskende testning

 

De tre hovedtyper af udforskende test, som et team kan indarbejde, er:

 

1. Freestyle udforskende test

 

Freestyle-testning omfatter en ad hoc-tilgang til kontrol af en applikation. Der er kun få regler at tage højde for, så effektiviteten kan variere; visse software og komponenter kræver en mere robust metode.

Disse kontroller kan stadig give mange fordele ved at hjælpe testerne med at blive fortrolige med applikationen og validere en tidligere testeres arbejde.

Selv uden strenge regler kan erfarne og dygtige testere nemt bruge dette format til deres fordel. De kan nemt bevæge sig gennem alle aspekter af softwaren – i nogle situationer er testreglerne restriktive og kan utilsigtet begrænse teamets resultater.

 

2. Scenariebaseret udforskende testning

 

Scenariebaseret testning bruger realistiske situationer som grundlag for hver test, f.eks. ved at kontrollere input, som brugerne sandsynligvis vil foretage under den typiske drift af softwaren.

Testerne arbejder hårdt for at sikre, at alle de scenarier, de udtænker, svarer til, hvordan en bruger arbejder med applikationen.

Tiden kan være en begrænsning, da teamets mål er at teste så mange scenarier som muligt; afhængigt af de kommende frister vil det sandsynligvis ikke være muligt at dække alle muligheder.

Testerne bør anvende en bred vifte af test på tværs af forskellige kategorier.

 

3. Strategibaseret udforskende testning

 

Strategibaseret testning omfatter en lang række specifikke metoder, herunder grænseværditestning, ækvivalensteknikker, risikobaserede teknikker og meget mere. Dette prioriterer generelt testere, der allerede er fortrolige med applikationen, da de kan udvikle skræddersyede strategier, der inkorporerer disse individuelle metoder.

En strategibaseret tilgang fokuserer primært på softwarens funktionalitet (og indre funktioner) uden at se på de mulige scenarier, der kan føre til, at en bruger støder på de problemer, der opstår. Dette kan resultere i en bredere analyse af en applikation og dens forskellige funktioner, potentielt mere dybdegående end forskellige andre tilgange.

 

Manuelle eller automatiserede udforskende tests?

 

Testteams kan udføre udforskende kontroller enten manuelt eller automatisere dem. Begge muligheder kan give enorme fordele; den rigtige løsning afhænger ofte af projektets særlige forhold.

 

Manuel udforskende testning

 

Manuel udforskende testning giver mulighed for en bredere vifte af skræddersyede kontroller. Selv om dette kan tage længere tid, fordi menneskelige testere er langsommere end computere, kan manuel inspektion være afgørende for at bestemme brugeroplevelsen.

En tester arbejder ikke kun for at sikre, at alle funktioner i et program fungerer, som de skal, men også for at fastslå, om brugerne kan bruge det uden problemer. Dette er måske den mest almindelige form for udforskende testning – men det gør den ikke nødvendigvis til den mest effektive.

 

1. Fordele ved at udføre udforskende test manuelt

 

Fordelene ved manuel udforskende testning er bl.a.:

 

Større fokus på brugervenlighed

 

Automatiserede udforskende tests kan bemærke uoverensstemmelser i softwaren, men kan måske ikke fortolke disse problemer på samme måde som en menneskelig tester.

Dette omfatter en forståelse af, hvordan softwarens brugere sandsynligvis vil navigere eller interagere med applikationen, hvilket automatisering ikke kan tage højde for.

Manuelle udforskende testere kan give mere detaljeret feedback, herunder specifikke detaljer om, hvordan de problemer, de finder, påvirker den overordnede software eller den generelle oplevelse.

 

Kan foretage ændringer i realtid

 

En af de vigtigste styrker ved udforskende testning er, at det er muligt at identificere behovet for en test og udføre den relativt hurtigt, før man auktionerer de nødvendige forbedringer.

Automatiseret testning er generelt en meget hurtigere proces, men testerne skal vente, indtil alt er færdigt, før de foretager ændringer – manuelle testere kan gøre dette, mens den udforskende testproces stadig er i gang.

Dette er dog ofte kun muligt for fejl, der påvirker mindre dele af softwaren.

 

Større opmærksomhed på detaljer

 

Udforskende testning handler primært om at finde nye måder at teste en applikation på, mens man forstår den; det kan nogle gange betyde, at en test fører til en anden ved at give testeren idéer.

Automatiserede tests tager måske ikke højde for dette, fordi de er relativt ubetydelige for testteamet. Manuelle testere forbedrer løbende deres viden om softwaren og udtænker nye, men lige så vigtige tests – men det kan være svært, hvis software fra tredjepart automatiserer dem.

 

Kan finde fejl uden for koden

 

Med manuelle udforskende kontroller kan testerne se på alle facetter af applikationen og softwaren, også ud over selve koden.

Mange automatiserede metoder er begrænset til koden og dens funktion, hvilket kan resultere i, at testteams ikke opdager problemer, der kan opstå i andre dele af applikationen.

Dette afhænger hovedsageligt af den automatiseringssoftware, du har, da nogle løsninger kan tilbyde en bredere tilgang til udforskende testning.

 

Sikrer kvaliteten på tværs af projektet

 

Automatiserede udforskende kontroller ser kun efter fejl og målinger i applikationen; manuelle testere kan i stedet inspicere softwaren og give deres egen omfattende feedback.

De kan f.eks. teste koden og fastslå, at den er for kompleks – hvilket er særligt vigtigt, da død kode kan sænke ydeevnen, men som i praksis ikke bliver opdaget af automatiserede processer.

En testeres viden om softwaren kan være medvirkende til at diagnosticere problemer, der opstår i andre faser af testningen.

 

2. Udfordringer ved manuel udforskende testning

 

Udfordringerne ved manuel udforskende testning er bl.a.:

 

Mulighed for menneskelige fejl

 

Automatiseret udforskende testning kan køre nøjagtig den samme kontrol så mange gange som nødvendigt uden ændringer i det nøjagtige forløb, hvilket sikrer konsistens og pålidelige resultater.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Manuel udforskende testning er sårbar over for menneskelige fejl, hvilket betyder, at testeren kan indtaste den forkerte værdi. Det er normalt muligt at dobbelttjekke disse test og rette eventuelle uoverensstemmelser, da de kan være åbenlyse selv ved første øjekast.

Det kan dog tage mere tid at lave en test om, når du opdager en fejl.

 

Generelt mere tidskrævende

 

Selv hvis testerne udfører alle de udforskende kontroller korrekt og uden menneskelige fejl, tager denne samlede proces en betydelig mængde tid sammenlignet med automatiseret software, som kan beregne testene meget hurtigere.

Det kan være en forskel på mindst flere timer; tid, som testerne kan bruge på dele af applikationen, som ikke ville få nogen fordele af automatiseringen.

Udforskende tests kræver også konstant overvågning, mens automatisering gør det muligt at køre testene om natten.

 

Langvarig dokumentationsproces

 

På samme måde kan manuel dokumentation under og efter den manuelle testning være en unødvendig belastning for den udforskende testproces.

Dette gør det vanskeligere at spore ændringer og softwareændringer over tid – automatiseret software er typisk i stand til intuitivt at tage højde for dette, når de kører test.

Dette er endnu et administrativt spørgsmål, der tager tid og energi fra andre ting, hvilket effektivt reducerer omfanget og bredden af den samlede softwaretestprocedure.

 

Skal kende softwaren indgående

 

Manuelle testere på alle niveauer kan inspicere applikationen og teste den grundigt. Det skyldes det arbejde, de har lagt i at forstå softwaren – første fase af den udforskende proces.

Men hvis en tester kæmper eller forsømmer at lære, hvordan programmet fungerer, vil han/hun sandsynligvis have svært ved at udtænke og udføre en passende række tests.

Ved at kende softwaren godt kan testerne gå ud over de sædvanlige testparametre.

 

Dyrt at vedligeholde

 

En afhængighed af manuel udforskende testning kræver normalt et større testteam, hvilket kan resultere i højere omkostninger på lang sigt sammenlignet med automatiserede kontroller. Den tredjepartssoftware, der udfører disse udforskende tests, kan være af stor værdi eller endda helt gratis.

Afhængigt af opgavernes kompleksitet kan en virksomhed have brug for højt kvalificerede testere med mange års erfaring til at kontrollere applikationen fuldt ud. Dette kan øge testudgifterne betydeligt i forhold til at bruge gratis automatiseringssoftware.

 

3. Hvornår skal man bruge manuel udforskende testning?

 

Manuel udforskende testning er ofte forbundet med adskillige udfordringer, men er stadig en vigtig del af grundig softwaretestning. Det skyldes, at der er aspekter af softwaren, som automatisering ikke fuldt ud kan tage højde for, og som også kræver et stærkt fokus.

F.eks. kan software ikke give pålidelig feedback om brugergrænseflader eller brugeroplevelsestests. Testerne kan kun få et godt indtryk af, hvordan en applikation fungerer i praksis, hvis de tester den manuelt. Det betyder, at både udviklere og testteams skal overveje at integrere i det mindste en vis grad af manuel udforskende testning i deres kontroller.

 

Automatiseret udforskende testning

 

Automatiseret testning bruger software fra tredjepart til at automatisere visse kontroller – testere kan normalt tilpasse dette til stort set enhver test.

Dette kræver dog generelt, at teamet kører kontrollen manuelt mindst én gang for at kalibrere automatiseringen. Dette kan strømline processen betydeligt for både test- og udviklingsteamet.

Selv om det kan være ualmindeligt at automatisere udforskende tests, er der flere klare fordele ved at gøre dette for din applikation og dens ydeevne.

 

1. Fordele ved automatisering af udforskende test

 

De vigtigste fordele ved automatisering af udforskende test omfatter:

 

Konsistent udførelse af test

 

Menneskelige fejl kan let føre til testfejl, som det tager både tid og penge at rette op på; automatiserede udforskende kontroller gør det muligt for testteams at omgå dette problem.

Testere lærer effektivt automatiseringssoftware, hvordan den skal udføre en test korrekt, og sikrer, at den udfører den på samme måde hver gang. Dette forbedrer testens generelle pålidelighed og reducerer den tid, som udviklerne bruger på at vente på resultaterne – især fordi testerne nemt kan indstille dette til at køre natten over.

 

Sparer tid for alle

 

Med automatiserede tests kan udviklerne hurtigere begynde at arbejde på at løse problemerne, samtidig med at testerne kan dække et bredere spektrum af udforskende kontroller. Der er kun et vist antal scenarier, som teamet kan tage højde for uanset deadline, hvilket betyder, at det er vigtigt, at testerne får plads til så mange kontroller som muligt inden for deres tilladte tidsramme.

Automatisering hjælper ved at udføre disse udforskende tests meget hurtigere end manuelle testere.

 

En omkostningseffektiv tilgang

 

Afhængigt af den software, som teamet vælger, kan automatisering være langt mere omkostningseffektivt end manuel testning – det kan endda være gratis.

Selv om det stadig er vigtigt at ansætte manuelle testere, og nogle af dem vil være ansvarlige for at kalibrere automatiseringsprocedurerne, giver automatiseringen af så mange udforskende tests som praktisk muligt virksomheden en chance for at sænke personaleomkostningerne.

Når teamet først har forstået automatiseringssoftwaren, kan de tilpasse den til en lang række forskellige opgaver.

 

Kan tilpasses til flere enheder

 

Manuel testning kan kræve personale med erfaring med forskellige enheder, f.eks. kendskab til forskellige telefonstyresystemer, herunder Android og iOS, hvis der bygges en mobilapplikation.

Automatiseret software kan tage højde for dette og teste på tværs af flere enheder for at sikre, at applikationen altid kan yde en god præstation. Testteams med kendskab til disse enheder kan finde processen kedelig; automatisering kan endnu engang strømline de sædvanlige udforskende testprocesser og teste hver enkelt iteration samtidigt.

 

Genanvendelige scripts

 

Hvis teamet tester flere versioner af den samme software eller endda flere produkter med samme arkitektur eller funktioner, er det muligt at genbruge scripts fra den ene testcyklus til den næste.

Hvis der er justeringer, der er nødvendige for at sikre kompatibilitet, kan manuelle testere foretage dem meget hurtigere end at skrive et helt nyt script.

Automatisering optimerer stort set alle faser af den udforskende testproces og er let at opsætte i forskellige softwarekonfigurationer.

 

2. Udfordringer ved automatisering af udforskende test

 

Denne proces indebærer også forskellige udfordringer, som f.eks:

 

Repræsenterer kun den ene side af testen

 

Det er ikke praktisk eller klogt at automatisere alle kontroller under test af applikationen, fordi der er nogle aspekter, som kun en manuel tester kan give pålideligt feedback på.

Dette omfatter brugeroplevelsen, selv om det kan være muligt at få grundige analyser af ydeevne og belastningstestning via automatisering, afhængigt af hvilken software du vælger.

Automatisering af udforskende test mangler menneskelig vurdering og kan bedst fungere sammen med en manuel tester til nogle kontroller.

 

Urealistiske forventninger til kapaciteter

 

På samme måde kan automatiserede udforskende testprocedurer give enorme fordele for en applikation sammen med det overordnede projekt.

Denne fremgangsmåde er dog ikke altid løsningen. Organisationer, der i høj grad er afhængige af automatisering i hver enkelt fase, kan have et ufuldstændigt perspektiv på softwaren.

Automatisering identificerer problemer, men det er test- og udviklingsteamene, der er ansvarlige for at løse dem. Det er vigtigt at definere en overordnet automatiseringsstrategi, så alle på projektet forstår dens muligheder og begrænsninger.

 

Højere krav til færdigheder

 

Automatisering omfatter typisk viden om, hvordan man udfører komplekse kontroller, samt hvordan man programmerer og faktisk automatiserer dem. Dette kræver ofte mange års erfaring med scripting, selv om automatiseringssoftware kan hjælpe med at optimere disse processer betydeligt.

Det er afgørende, at virksomheden rekrutterer testere med forskellige og robuste færdigheder for at fremme effektiv automatisering.

Testere med erfaring med automatisering ved også, hvilke funktioner de skal prioritere, når de vælger blandt de tilgængelige softwareoptioner fra tredjepart, hvilket sikrer, at teamet får et godt produkt.

 

Uhensigtsmæssige strategier og kommunikation

 

Det er afgørende for en vellykket automatisering at kommunikere en sammenhængende strategi; udviklere, testere og endda projektledere skal være på samme side under hele testningen.

Holdene skal arbejde sammen om at fastlægge omfanget og tidsplanen for deres kommende procedurer. Dette gælder for alle testprocesser, men er særligt vigtigt på grund af den ekstra kompleksitet, der er forbundet med automatisering. Bedre kommunikationslinjer og mangel på informationssiloer gør det muligt for dine teams at udføre deres test mere effektivt.

 

Valg af den rigtige automatiseringssoftware

 

Automatisering indebærer normalt, at man vælger et program fra en tredjepart, der er kompatibelt med teamets testmål. Hver mulighed har forskellige prisplaner og funktioner. Dette kan være en betydelig udgift på lang sigt, selv hvis softwaren udfører automatiserede tests med succes og samtidig giver en betydelig værdi.

Der findes en række gratis muligheder, som tilbyder imponerende funktionalitet, der kan sammenlignes med premium-alternativer. Det er vigtigt, at testteamet undersøger alle tilgængelige muligheder, herunder gratis software.

 

Konklusion: Automatisering af udforskende test vs. manuel udforskende testning

 

Der er kun få projekter, der har fordel af enten fuldt ud manuel testning eller fuldt ud automatiseret testning, da applikationer af alle slags fungerer bedre med en kombination af begge dele.

Mens automatiserede tests kan optimere processen for udviklings- og kvalitetssikringsteamene, kræver nogle aspekter af designet manuelle udforskende test; dette er den eneste måde at få brugerbevidst feedback på.

Med tiden arbejder flere organisationer på at implementere hyperautomatisering, en proces, der har til formål at maksimere automatisering på intelligent vis og sikre, at virksomheden har en effektiv strategi – dette kan stadig eksistere sideløbende med manuel testning.

Automatiseret testning er blevet mere tilgængelig for virksomheder på grund af den øgede udbredelse af automatiseringssoftware, især med flere gratis muligheder med mange funktioner. Dette gør det lettere for virksomheder at anvende en kombineret tilgang til manuel/automatisk udforskende testning.

Den stigende popularitet af Agile (en projektstyringsteknik, der fokuserer på trinvise, men betydelige fremskridt) inden for udvikling har også været en faktor, da det kræver korte testcyklusser. En kombineret teststrategi kan imødekomme dette og forskellige andre udviklingsstrategier, f.eks. kontinuerlig integration, som ligeledes kræver gentagne test for at sikre succes på tværs af mange iterationer af den samme software.

 

Det skal du bruge for at komme i gang med udforskende testning

 

Forudsætningerne for udforskende test er:

 

1. Klare testmål

 

Selv om udforskende testning er synonymt med frihed og nogle gange forveksles med ad hoc-testning, følger den stadig specifikke regler eller definerbare mål. Den eneste måde, hvorpå et QA-team kan navigere i næsten alle teststrukturer, er at kende det forventede resultat af hver test, især fordi testerne typisk selv udformer disse kontroller.

 

2. Kreative, intuitive testere

 

Udforskende testning fokuserer på at designe nye og kreative test, der kan afdække problemer med en applikation. Selv testere med begrænset erfaring kan gøre dette, forudsat at de forstår softwaren.

Det er vigtigt, at testerne forstår programmet og dets funktion; det giver dem mulighed for intuitivt at udvikle en række nyttige kontroller.

 

3. Sammenhængende dokumentation

 

Enhver form for testning skal have stærk dokumentation for at sikre, at alle teammedlemmer følger en forventet testplan, og at ingen ved et uheld gentager en kontrol.

Dette er et vigtigt aspekt af kommunikationen i en enkelt afdeling og på tværs af flere, f.eks. udviklere, der har brug for regelmæssige testopdateringer for at finde ud af, hvordan de kan løse problemer.

 

4. Et kundeperspektiv

 

Udforskende testning omfatter mange strategier og scenarier, herunder dem, der afspejler, hvordan brugerne i praksis vil bruge applikationen. Det er vigtigt, at testteams tager højde for dette under deres kontroller, selv om de ikke udfører scenariebaserede tests.

Ved at anvende denne metode kan testeren nærme sig testningen fra forskellige perspektiver, hvilket forbedrer kvaliteten af disse kontroller.

 

5. Automatiseret test-software

 

Da teamet sandsynligvis kan automatisere en stor del af de tests, som de designer, er det vigtigt, at de kan anskaffe automatiseret test-software af høj kvalitet før eksekveringsfasen.

Udviklerne og testteamet kan bruge deres forståelse af projektet til at finde frem til den tredjepartsapplikation, der passer til deres egne krav.

 

Proces for udforskende testning

 

De specifikke trin for udforskende testning er som følger:

 

1. Klassificer testproceduren

 

Det første skridt i forbindelse med udforskende testning er, at de relevante teammedlemmer forstår, hvordan de kan gribe disse kontroller an, f.eks. ved at klassificere almindelige fejl og foretage en analyse af den grundlæggende årsag.

Det er her, testerne selv udvikler deres idéer til testene; afhængigt af deres præcise metodologi kan de også udforme et testcharter.

Heri fastlægges omfanget og prøverne for den pågældende session eller arbejdsdag.

 

2. Påbegynd prøverne

Mens de nøjagtige parametre (f.eks. tid til hver test eller en samlet session) afhænger af teamets egne præferencer og projektets krav, er der visse fælles træk ved alle udforskningsundersøgelser.

Når de relevante kontroller er blevet klassificeret, begynder kvalitetssikringspersonalet at udføre testene og registrere resultaterne.

Hvis kontrollen kræver automatisering, kan testerne sætte den op til at arbejde om natten eller selv overvåge den i løbet af dagen.

 

3. Gennemgå resultaterne

 

Den næste fase er at gennemgå resultaterne og sammenligne dem med de standardiserede og forventede resultater. Hvis disse test resulterer i væsentlige uventede afvigelser af nogen art, kan testerne gentage kontrollen eller straks begynde at finde ud af, hvordan de kan afhjælpe dette. De forslag, de kommer med til udviklerne, kan være afgørende for, hvilken fremgangsmåde der skal anvendes – og deres fejlrapporter kan beskrive dette i detaljer.

 

4. Afrapportering af testen

 

Efter auktionering af testresultaterne begynder kvalitetssikringsteamet at gennemgå selve testproceduren og bruger den til at afgøre, om deres tilgang til udforskende testning var passende.

Denne sammenfattende testrapport kan endog konkludere, at der var driftsfejl under kontrollen, som kræver en ny test. Testteamet kan også kontrollere applikationen igen, når udviklerne har løst disse problemer, for at fastslå, om de har haft succes.

 

Bedste praksis for udforskende testning

 

De mest effektive metoder til udforskende test omfatter:

 

1. Parring af testere

Mange former for udforskende testning har fordel af, at testerne arbejder sammen – det strømliner processen yderligere og giver mulighed for flere perspektiver på de samme kontroller.

Ved at teste parvis testes det også muligt at undgå tunnelsyn, hvilket tilskynder til mere kreativt testdesign.

Flere personer, der arbejder på de samme tests, kan føre til større nøjagtighed over hele linjen, og en opdeling af arbejdsbyrden er også med til at gøre testarbejdet meget hurtigere for hele teamet.

 

2. Blanding af manuelle og automatiserede test

 

Nogle virksomheder kæmper stadig med at indføre automatisering, mens andre overanvender den, selv når manuelle perspektiver kunne være mere fordelagtige. Ved at balancere disse kontroller sammen kan testteamet dække flere områder og sikre kvaliteten i hele applikationen, herunder også mere subjektive aspekter som f.eks. softwarens grænseflade.

Det er kun ved at udføre manuelle og automatiserede test sammen, at man kan garantere en fuldstændig testdækning af alle funktioner.

 

3. Forstå markedet

 

Det er vigtigt, at testerne kender både deres målgruppe og konkurrenterne under testprocessen; det hjælper dem med at vurdere, hvordan folk sandsynligvis vil reagere på applikationens nuværende funktionalitet.

Visse funktioner er meget efterspurgte, og testteamet kan med fordel prioritere disse under kontrollen. Selv om de også skal opretholde en bred testdækning. Dette kan være afgørende for retningen for testningen og for softwarens potentielle succes ved lanceringen.

 

4. Brug rigtige enheder til testning

 

Softwaretestteams kan gøre brug af emulatorer for at lette deres udforskende kontrol; dette kan være nyttigt, men afspejler sjældent et praktisk brugermiljø.

Rigtige enheder hjælper med at forbedre pålideligheden af udforskende test ved at generere en mere realistisk oplevelse – emulatorer er ufuldkomne og kan have fejl, som kunderne ikke kan se.

Emulering er en hurtig måde at teste flere platforme på, men det er ikke en erstatning for de rigtige enheder.

 

Typer af output fra en udforskende test

 

Der er forskellige output, som testerne kan få efter at have udført en kontrol, herunder:

 

1. Testresultater

 

Selve resultaterne kan have mange former, da udforskende testning kan omfatte hundredvis af unikke test. Disse resultater udgør størstedelen af testrutinens output og giver vigtige oplysninger om applikationens tilstand og dens evne til at opfylde brugernes behov.

Testerne kunne kontrollere systemet igen og validere oplysningerne efter at have modtaget disse resultater for at bestemme deres næste handling.

 

2. Testprotokoller

 

En applikations egne logfiler afslører ofte fejl og problemer i løbet af testprocessen; disse giver de stærkeste ledetråde til at finde ud af, hvorfor softwaren ikke bestod en test. Senior testere er særligt dygtige til at fortolke en applikations logs, så de kan identificere årsagen til komplicerede problemer.

Jo flere oplysninger testerne får fra disse logfiler, jo mere kan de hjælpe udviklerne.

 

3. Testrapporter

 

Afhængigt af teamets automatiseringsprocedure kan deres output automatisk generere en fejlrapport. Her beskrives eventuelle fejl i en applikation, herunder eventuelt årsagerne hertil og andre data, der er relevante for udviklere.

Testerne kan bruge dette til at give deres egen mening om, hvorvidt softwaren er klar til at blive lanceret, hvilket normalt kaldes en go/no-go beslutning.

 

Eksempler på udforskende testning

 

Her er tre eksempler på, hvordan en virksomhed kan bruge udforskende testning:

 

1. En app til mobilspil

 

Hvis et spilfirma ønsker at frigive en større opdatering af en mobilapp, kan testpersonerne undersøge både gamle og nye funktioner for at fastslå, om applikationen stadig er stabil. Dette kan gøre softwaren så kompleks, at den ikke længere kan køre på visse enheder.

Testerne arbejder på at minimere virkningerne af dette og samtidig sikre brugervenlighed på tværs af så mange platforme som muligt.

Explorative testere undersøger grundigt spillet og dets mange komplicerede scenarier for at sikre, at alle funktioner fungerer efter hensigten; denne proces kræver normalt en manuel tester.

 

2. En tjenesteudbyders websted

 

Webstederne gennemgår også udforskende test for at sikre, at de fungerer for både brugere og personale, så testerne kan begynde med at logge ind på webstedet. Dette tester webstedets evne til at oprette nye brugerprofiler og kontrollerer, at brugerne ikke kan få adgang til administrative funktioner.

Testerne går derefter videre til at kontrollere tjenesten, hvilket kan være i form af at bestille en tid eller foretage en bestilling. Derefter gennemfører de købet for at sikre sig, at kassen fungerer korrekt, hvorefter de ser på ordrebekræftelsen pr. e-mail og kontoens historik.

 

3. Et hospitals ledelsessystem

 

Applikationer og systemer af alle slags kan drage fordel af udforskende test. For hospitalsstyringssystemer kan en tester se på, hvordan betalingsmodulet interagerer med andre funktioner.

Højere integrationsniveauer kan føre til betydelige fejl uden grundig testning. Disse kontroller kan omfatte et arkitektonisk diagram, der viser systemets mange komponenter, og hvordan de krydser hinanden.

Testerne ser også på problemerne i tidligere iterationer af systemet og tester specifikt for at se, om de stadig er til stede, idet de hurtigt skrider ind, hvis de opdager fejl.

 

Typer af fejl og fejl, der opdages ved hjælp af udforskende testning

 

Fejl, som testere kan opdage under udforskende testning, omfatter:

 

1. Ukompatible funktioner

Visse funktioner i applikationen interagerer muligvis ikke med hinanden som forventet – hvilket kan føre til, at brugerne ikke kan gennemføre køb eller bruge appen. Testerne kontrollerer funktionerne isoleret og sammen med hinanden for at sikre, at alt passer sammen.

 

2. Forkert design af brugergrænsefladen

En applikations brugergrænseflade bestemmer præcis, hvordan en person bruger softwaren. Hvis vigtige funktioner f.eks. ikke er tydelige for kunderne, vil de måske ikke bemærke, at disse funktioner findes, hvilket begrænser deres glæde ved applikationen.

Manuel brugergrænsefladetestning identificerer og korrigerer brugerfjendligt design.

 

3. Godkendelsesfejl

Mange programmer og websteder giver mulighed for at oprette en brugerprofil med visse rettigheder. Det er vigtigt, at testerne tjekker, om almindelige brugere på en eller anden måde kan få adgang til følsomme data eller endda administrative funktioner, mens de bruger softwaren på uventede måder.

 

4. Død kode

Testerne kan finde forældet kode, der stadig findes i applikationen, hvilket kan være årsag til bemærkelsesværdige problemer med ydeevnen. Død kode overkomplicerer applikationens indre funktioner og kan resultere i fejl, der kan undgås. Identifikation og optimering af dette gør softwaren mere responsiv for personale og brugere.

 

Fælles målinger af udforskende testning

 

De sædvanlige målinger, som testere kan støde på under deres udforskende test, omfatter:

 

1. Målinger af ydeevne

Eksplorative test, der undersøger en applikations generelle ydeevne, kan resultere i en lang række målinger. Dette kan omfatte minimums-, gennemsnits- og maksimumsresponstider sammen med fejl- og succesrater for at bestemme stabiliteten.

 

2. Testdækningsmetrikker

Testdækning er vigtig, fordi den bestemmer, hvor mange kategorier og facetter af en applikation testene omfatter. Procentdelen af kravdækning vurderer f.eks. om der er funktioner, som kræver yderligere testrunder.

 

3. Samlet effektivitet af testen

Ved at spore antallet af vellykkede og mislykkede kontroller kan testerne finde ud af, hvordan et program generelt er i stand. Derudover kan teamet spore, hvor mange af de fejl, de opdager, der er kritiske.

 

4. Fordeling af fejl og mangler

På samme måde viser en kontrol af fejlfordelingen, hvilke komponenter eller funktioner der er mest udsat for fejl. Det kan være dele af applikationen, der ofte interagerer med andre, hvilket gør det vigtigt at prioritere disse tests.

 

5. Regressionsmetrikker

Med udforskende regressionstest kan testerne se, hvordan forskellige iterationer af den samme software opfører sig, og hvordan dette kan påvirke ydeevnen.

Fejlinjektionshastighed og fejl pr. build er de specifikke målinger, der hjælper med dette.

 

Jeg rydder lidt op i forvirringen: Udforskende test vs. ad hoc-test

 

Med et stærkt fokus på testernes frihed forveksler nogle mennesker ofte udforskende testning med ad hoc-testning. De to formater har flere vigtige ligheder, men tjener i sidste ende forskellige formål.

 

1. Hvad er ad hoc-testning?

 

Ad hoc-testning er en helt ustruktureret tilgang, der bryder med konventionelt testdesign for at finde fejl, som ellers ikke ville blive opdaget.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Denne form for testning omfatter typisk ingen dokumentation, hvilket gør det vanskeligt at reproducere problemer, medmindre testeren er helt sikker på årsagen.

Et eksempel på dette er “monkey testing”, en kontrol, der involverer tilfældige indtastninger og i sidste ende har til formål at ødelægge systemet.

I lighed med udforskende testning arbejder mange ad hoc-testere parvis for at gennemføre disse kontroller, hvilket forbedrer deres pålidelighed. En ad hoc-tilgang kan være nyttig efter formel testudførelse for at sikre, at kontrollerne tager højde for alle muligheder; dette er også nyttigt, når der er begrænset tid til at udføre yderligere testning. Ad hoc-tests er meget fordelagtige, hvis de udføres korrekt.

 

2. Forskelle mellem udforskende test og ad hoc-test

 

Ad hoc-testning omfatter generelt ingen formel dokumentation. Dette står i skarp kontrast til de sonderende forsøg, hvor den improviserede karakter af disse kontroller gør det endnu vigtigere at registrere dem.

Udforskende test anvender en større variation af formelle testteknikker, mens ad hoc-kontroller undgår dette ved at se ud over den konventionelle test-etikette. Det hjælper dem med at afsløre fejl, som testere ellers aldrig ville finde.

Udforskende testning har klare mål og grænser, men giver stadig teammedlemmerne mulighed for at bruge kreative test. Ad hoc-tests har normalt ikke definerbare slutmål ud over at skubbe softwaren, som den kan. Ad hoc-testning indebærer ofte også et forudgående kendskab til softwaren og dens funktioner, mens udforskende testning inddrager indlæring af applikationen i de sædvanlige processer.

 

Udforskende testning i Agile

 

Agil metodologi fremmer i høj grad løbende forbedringer. Det betyder, at det passer godt sammen med udforskende tests, især i takt med at efterspørgslen efter hyppige softwareopdateringer vokser.

Ved at kombinere udforskende testning med Agile kan teamets medlemmer få en stærkere teststruktur ved at indarbejde releaseplanlægning og sprintudførelse i deres tidsplaner. En virksomhed, der anvender agile teknikker, kan udnytte dette endnu mere ved at kombinere det med udforskende testning; dette er en fantastisk måde at teste hver enkelt softwarekomponent i en applikation på. Da testere kan udføre udforskende kontroller uden scripts, sparer dette både kvalitetssikringspersonale og udviklere en masse kostbar tid.

Automatiseret udforskende testning øger disse besparelser og hjælper virksomheder med at kontrollere deres applikationers seneste iterationer meget hurtigere, potentielt fra den ene dag til den anden. Forundersøgelseskontroller giver hurtige, brugbare resultater, og udviklerne kan foretage de nødvendige ændringer som led i deres næste sprint.

Manuel udforskende testning giver stadig mange fordele i forbindelse med Agile, da den kan identificere problemer, som en automatiseret tilgang kan overse. Andre former for testning tager simpelthen for lang tid eller giver for få fordele til at passe ind i Agile-rammen. Med udforskende kontrol kan man sikre, at hver enkelt Agile-fase forbedrer softwaren og dens funktionalitet betydeligt.

 

7 fejl og faldgruber, der skal undgås ved implementering af udforskende test

 

Her er syv almindelige fejl, som virksomheder ofte begår, når de implementerer udforskende test, og hvordan de kan undgå disse problemer:

 

1. Ubalanceret manuel/automatisk testning

 

Det tager tid at finde ud af, hvilke tests der fungerer bedst med manuelle kontroller, og hvilke der ville have gavn af automatisering, men det gør det muligt for teamene at teste langt mere effektivt.

Hvis du automatiserer for mange tests, kan det resultere i en applikation, der er uoverskuelig eller ubrugelig på grund af manglen på en menneskelig tester.

 

2. Tidsbegrænsninger

Udforskende testning er hurtigere end mange andre former for testning, men projektfristerne betyder, at der stadig er grænser for, hvor mange test teamet kan udføre.

Tidsstyring og en forpligtelse til testdækning hjælper testteamet med at udføre så mange kontroller som muligt på tværs af mange brede kategorier.

 

3. Ufleksible testere

Mens udforskende testere ikke kræver forudgående viden om softwaren eller særligt dybe færdigheder, er kontrollen stadig afhængig af de enkelte teammedlemmers evner og initiativ.

Projektlederen skal tildele disse testroller med omtanke og om nødvendigt reservere dem til de mere kreative og intuitive medlemmer af teamet.

 

4. Vanskeligheder med at replikere fejl

Det er ikke altid tydeligt, hvilke handlinger der bidrager til en testfejl, og det kan også være uklart, hvilke aspekter af applikationen der er skyld i fejlen.

Det er derfor, at mange af de udforskende metoder involverer parring af testere sammen eller endda direkte optagelse af en testers skærm for at få en klarere forståelse af problemerne og deres nøjagtige årsager.

 

5. Uklar dokumentation

Uanset om det er en automatiseret fejlrapport eller en manuel registrering af de gennemførte tests, gør god dokumentation det nemmere for udviklerne at handle på testteamets resultater.

Testteamet skal forpligte sig til at sikre en registrering af høj kvalitet under hver enkelt kontrol og give så mange detaljer som muligt i hver enkelt rapport.

 

6. Høje forventninger

Udforskende testning er gavnlig for næsten alle softwareprojekter, men er stadig begrænset i sit omfang – den fungerer bedst i forbindelse med andre testmetoder.

Testteams skal udføre disse kontroller sideløbende med de sædvanlige scriptede tests; det er den eneste måde, hvorpå kvalitetssikringsafdelinger kan sikre en konsekvent bred testdækning.

 

7. Ukorrekt automatisering

Det er vigtigt, at testteamet og projektlederen forstår, hvilken automatiseringssoftware der giver de største fordele for den pågældende applikation.

Forskellige tredjepartsmuligheder tilbyder deres egne unikke funktioner, så teamets valg kan være afgørende for succesen af deres robotprocesautomatisering; de skal overveje alle muligheder, der ligger foran dem.

 

5 bedste gratis værktøjer til udforskende testning

 

De fem bedste værktøjer til udforskende testning, som kvalitetssikringsteams kan bruge gratis, er bl.a:

 

1. ZAPTEST FREE Edition

ZAPTEST Free leverer funktionalitet på premium-niveau til absolut ingen omkostninger, så enhver organisation kan drage fordel af en nem implementering af udforskende test.

Denne applikation kan automatisere enhver platform, enhed og browser med den innovative 1SCRIPT-teknologi.

ZAPTEST tilbyder også fleksibel RPA-automatisering, så du kan kombinere dette med en manuel tilgang.

 

2. XRAY-forundersøgelsesapp

XEA giver brugerne mulighed for at oprette omfattende testcharter og nemt registrere deres fremskridt, hvilket strømliner fejlrapporteringsfasen i forbindelse med udforskende testning.

Denne mulighed fokuserer udelukkende på brugerperspektivet og tilbyder en centraliseret resultathub til at opdatere andre testere.

XRAY har dog ikke på nuværende tidspunkt nogen integreret automatisering, hvilket kan begrænse dets effektivitet på lang sigt.

 

3. Magnet til insekter

Bug Magnet er en browserudvidelse, der tilbyder grundig udforskende testning, og som giver testerne mulighed for at kontrollere edge cases og andre problematiske værdier.

Denne udvidelse giver også enkel integration af blindtekst, e-mailadresser og flere tegnsæt.

Det er dog kun tilgængeligt for Firefox- og Chrome-baserede browsere, hvilket gør det til et mindre alsidigt valg end konkurrenterne.

 

4. Azure-testplaner

Azure Test Plans er en vigtig del af Microsofts Azure-platform og giver testere mulighed for at indsamle omfattende data på tværs af mange scenarier.

Denne løsning er velegnet til både desktop- og webbaserede applikationer og giver samtidig en end-to-end sporbarhed, som giver en klar registrering af softwarens udvikling.

Denne tilgang kræver dog ofte en dybere integration med Azure, og det er derfor på bekostning af fleksibilitet.

 

5. Testiny

Testiny har specialiseret sig i manuel udforskende testning og tilbyder en smart editor, der giver testerne mulighed for at designe kontroller ved hjælp af en træstruktur for maksimal fleksibilitet.

Enhver ændring af en kørsel eller testcase forbliver i applikationens historik for at sikre fuld ansvarlighed og sporbarhed.

Det er dog kun gratis for små teams og open source-projekter.

 

Hvornår skal du bruge Enterprise- og gratis værktøjer til udforskende test?

 

Mens udforskende testning er en investering, der er værd at investere i, og premium-applikationer normalt tilbyder større funktionalitet, er der mange gratis muligheder, der tilbyder mere end nok funktioner.

Exploratory testing kan være en betydelig driftsudgift, hvis du vælger en premium-model, men det er ikke alle softwareudviklingsvirksomheder eller -teams, der har råd til det. Det bedste valg af software fra tredjepart afhænger ofte af virksomhedens specifikke krav.

En betalt løsning kan være den eneste måde at opfylde projektets behov på; teamet skal undersøge de forskellige valgmuligheder, før de beslutter sig for en applikation.

Virksomheder med mindre teams kan have størst fordel af gratis testværktøjer, da mange af mulighederne er gratis for et begrænset antal brugere.

Alternativt kan de vælge muligheder uden denne begrænsning og muligheder, der kan tilpasses testteamets størrelse. Dette kan gøre det endnu mere hensigtsmæssigt at parre testere sammen for at sikre mere præcise resultater – teamet vil naturligvis have brug for færre brugerprofiler.

Mange tjenester tilbyder en gratis prøveversion af deres software, så organisationer kan se, om den opfylder deres behov; disse prøver er normalt kun af et par ugers varighed.

 

Tjekliste, tips og tricks til udforskende testning

 

Der er mange andre tips, som testere kan tage hensyn til, når de begynder deres udforskende kontrol, herunder:

 

1. Opdel funktionerne og modulerne på passende vis

For at undgå misforståelser bør testteams lave en klar liste over alle funktioner og de kontroller, som de har til hensigt at køre. Det betyder også, at det skal sikres, at testene er tilstrækkeligt fordelt på alle softwarefunktionerne.

For at opnå de bedste resultater er det afgørende, at testteamet forhandler om, hvilke medlemmer der skal udføre hver test på baggrund af deres respektive færdigheder og styrker.

 

2. Arbejde for at forstå softwaren

Indlæringsfasen er en vigtig del af den udforskende testning. Det betyder, at testerne skal arbejde aktivt med softwaren og finde ud af, hvordan den fungerer, før de udarbejder test.

Det kan være en samarbejdsproces at lære om det indre af denne software, hvilket sikrer en større forståelse på tværs af teamet. Dette giver testerne mulighed for at udvikle bedre kontroller og testcases.

 

3. Find ud af, hvilke områder der er problematiske

Alle applikationer har funktioner eller komponenter, der krydser hinanden med andre. Efterhånden som softwaren bliver mere kompleks, er der større sandsynlighed for, at der opstår fejl, hvilket kan kræve flere test. Holdet skal aktivt arbejde på at finde ud af, hvilke komponenter der har brug for yderligere hjælp.

De kan anvende specifikke testture, som bedst afspejler applikationens behov og teamets overordnede testprioriteter.

 

4. Begynd med grundlæggende brugerscenarier

Kvalitetssikringsteams kan udføre udforskende tests i vilkårlig rækkefølge, hvis det er nødvendigt, men det kan være mere nyttigt at starte med lettere kontroller, før man går i dybden med mere komplicerede funktioner.

Dette giver mulighed for en jævn udvikling i kompleksitet og giver testerne en chance for at forstå softwaren. Det hjælper også med at teste, om de grundlæggende funktioner fungerer som forventet.

 

5. Sæt testere sammen i par

Parvis udforskende testning både strømliner og validerer kvalitetssikringsfasen, så testerne kan arbejde med absolut tillid til hver eneste kontrol. Samarbejde gør enhver form for testning mere effektiv ved at gøre hvert enkelt teammedlem mere fortrolig med softwaren.

De kan også give fejlrapporter med langt større dybde på grund af deres individuelle perspektiver, hvilket giver udviklerne flere oplysninger at arbejde med.

 

6. Kør flere test

Holdets evne til at teste en ansøgning på ny afhænger af tidsplanen og de frister, de har foran sig. Men hvis det er muligt, kan det være nyttigt at dobbelttjekke særligt problematiske komponenter.

Desuden kan gentagne tests verificere, at et tidligere opdaget problem nu er rettet og ikke vil påvirke softwaren yderligere. Denne omhyggelighed er undertiden nødvendig for at sikre, at testen er vellykket.

 

Konklusion

 

Exploratory testing har meget at tilbyde softwareudviklingsvirksomheder af alle slags, idet de fungerer som et supplement til scripted testing og mange andre kontroller.

Ved hjælp af udforskende testning kan kvalitetssikringsteams teste applikationer til en højere standard, hvilket forbedrer den endelige softwares kvalitet og hjælper udviklerne med at rette eventuelle fejl, hvis de findes.

En kombination af manuel og automatiseret udforskende testning kan sikre det største udbytte, idet alle softwarekomponenter får samme opmærksomhed.

Hvis din virksomhed har brug for software til udforskende automatisering, tilbyder ZAPTEST FREE Edition en meget bredere og mere fleksibel funktionalitet end andre premium-programmer, så testere nemt kan optimere disse kontroller.

 

Ofte stillede spørgsmål og ressourcer

 

1. De bedste kurser i automatisering af udforskende test

 

Både nye og erfarne explorative testere kan drage fordel af kurser for at forbedre deres færdigheder. Dette omfatter også at finde ud af, hvordan man skal gribe nye programmer an.

Nyttige kurser, der kan hjælpe dig med dette, omfatter:

– Udemy’s Complete 2023 Software Testing Bootcamp; dette underviser i bred softwaretestning på 28 timer.

– Coveros’s Exploratory Testing; denne fokuserer på, hvordan man udvikler chartre og anvender explorative tests på API’er.

– Polteq’s to-dags træning i udforskende testning; denne træning ser på hvordan udforskende test fungerer i en agil kontekst.

– LinkedIn’s Exploratory Testing; dette viser, hvordan moderne softwaretestning har taget udforskende kontroller til sig.

– Courseras introduktion til softwaretestning; dette hjælper førstegangs-testere med at forstå de typiske procedurer.

 

2. Hvad er de 5 vigtigste interviewspørgsmål om Exploratory Testing?

 

Når du interviewer til stillinger inden for udforskende testning, er det vigtigt, at de ansættende ledere stiller gode spørgsmål for at kunne vurdere kandidatens færdigheder og erfaring korrekt.

De fem vigtigste spørgsmål, du skal stille, er:

– Hvad er de vigtigste forskelle mellem scriptede og udforskende test, herunder deres egnethed?

– Hvilke udfordringer er du stødt på som udforskende tester, og hvordan har du overvundet dem?

– Giv eksempler på udforskende test, som ville have størst gavn af automatisering af robotprocesser.

– Hvad er efter din mening den vigtigste færdighed (teknisk eller på anden måde) for en exploratory tester?

– Hvilket råd ville du give til en tester, der kæmper for at forstå softwaren og hvordan den skal kontrolleres?

 

3. De bedste YouTube-tutorials om udforskende testning

 

Der findes mange gratis vejledninger på videodelingssider som YouTube, som kan hjælpe potentielle testere med at forstå de centrale principper. Nogle er en del af en serie, mens andre er enkeltvideoer, der dykker dybt ned i emnet.

Kanaler, der tilbyder disse tutorials, omfatter:

– The Testing Academy indeholder hundredvis af videoer, der dækker alle aspekter af softwaretestning.

– Software Testing Mentor, som ligeledes tilbyder omfattende videoer om grundlæggende principper for softwaretestning.

– QAFox, som også giver eksempler fra den virkelige verden og live-projekter som supplement til alle deres videoer.

– SDET-QA Automation Techie, som har flere omfattende videoer om forskellige testmetoder.

– GlitchITSystem, som ser på forskellige websteder med udforskende testning for at forsøge at afdække fejl.

 

4. Hvordan vedligeholder man udforskende test?

 

Godt udførte udforskende test omfatter stærk dokumentation, som udviklere og fremtidige testere kan henvise til i forbindelse med nyere iterationer af softwaren.

Når der foretages væsentlige opdateringer af et program, er det nødvendigt at teste dets primære funktioner på ny for at sikre, at disse tilføjelser ikke har nogen negativ indvirkning på allerede eksisterende funktioner.

Det er den eneste måde, hvorpå man kan garantere, at de sonderende forsøg forbliver vellykkede på lang sigt. Det hjælper også med at tage hensyn til fremtidige planer som f.eks. foreløbige funktioner, når den oprindelige ansøgning og dens kontroller udformes.

QA-medarbejderne skal planlægge disse test på passende vis og finde ud af, hvornår applikationen skal kontrolleres igen; automatiserede testværktøjer kan hjælpe teamet med dette.

 

5. Er udforskende testning black-box testning?

Udforskende testning minder meget om black-box-testning, som henviser til at kontrollere et program ved at se på dets funktioner uden direkte at inspicere koden.

Der er ingen eksplicit begrænsning for de typer af kontroller, der hører under udforskende testning; denne tilgang kan omfatte alle aspekter af softwaren, herunder koden.

En af de vigtigste ligheder mellem disse to testtyper er testerens manglende forudviden. Black-box-testere kender normalt ikke softwaren, før de tester den, og udforskende testere lærer, hvordan softwaren fungerer, som en del af deres indledende undersøgelse.

Mens udforskende testning generelt ikke altid kan klassificeres som black-box-testning, er det sandt, at der er en betydelig mængde krydsninger mellem disse to tilgange.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post

Virtual Expert

ZAPTEST

ZAPTEST Logo