Get your 6-month No-Cost Opt-Out offer for Unlimited Software Automation?

Utforskande testning är en särskild typ av programvarutestning som har många fördelar för en applikation och gör att den kan nå sin fulla potential.

Det sätt på vilket ett team integrerar utforskande testning i sina rutinkontroller kan till och med avgöra hur väl programvaran fungerar, särskilt om testprocedurerna används på nya och oväntade sätt. Detta hjälper testarna att upptäcka problem i applikationen som annars kan gå obemärkt förbi fram till lanseringen och leda till att viktiga funktioner inte fungerar.

Om du förstår processerna, typerna och tillvägagångssätten för utforskande testning kan du hjälpa organisationen och dess testteam att hitta sätt att införliva det i sina vanliga kontroller.

Det finns också ett antal kostnadsfria verktyg som teamet kan använda för att underlätta dessa inspektioner och upptäcka problem innan de kan bli hinder för utvecklingen.

I den här guiden presenterar vi fördelarna med utforskande testning och de viktigaste överväganden som teamet bör göra innan implementeringen.

 

Table of Contents

Vad är utforskande testning?

 

Utforskande testning kombinerar testutformning och testutförande, vilket ger testaren fullständig frihet i sitt arbete och gör det möjligt för dem att kontinuerligt effektivisera sitt arbete.

När dessa team kontrollerar programvaran upptäcker de sannolikt nya komponenter som kräver noggranna inspektioner och kan lätt komma på nya tester som skulle gynna applikationen.

Utforskande testning liknar ad hoc-testning men följer en mycket noggrannare dokumentation och innehåller också en mer aktiv inlärningsprocess.

Det mindre strukturerade tillvägagångssättet hjälper testare att fastställa hur en applikation sannolikt kommer att reagera på realistiska scenarier och testfall och fungerar som ett viktigt komplement till testning med skript.

Kvaliteten på ett teams utforskande testning beror ofta på de enskilda testarnas skicklighet eftersom kontrollerna kräver kreativitet och en grundlig förståelse av programvaran. Detta är en process av kontinuerlig upptäckt – en process där testarna använder deduktiva resonemang för att vägleda sin övergripande teknik.

Utforskande tester är särskilt användbara eftersom de återspeglar hur användarna kan tänkas använda programvaran. De flesta användare upptäcker fel och problem av misstag, så dessa oskriven processer kan hjälpa testare att hitta problem som förutbestämda kontroller kanske inte avslöjar.

Det är också möjligt för ett team att automatisera detta förfarande för att säkerställa en högre grad av effektivitet.

 

1. När behöver du göra utforskande testning?

 

Utforskande testning är generellt sett användbar i nästan alla programvarutestningsprocesser, även om den är särskilt bra när det gäller att ge snabb feedback om en applikation.

Teamet kan också införa dessa kontroller om de får slut på skriptbaserade tester. Utan en tydlig inriktning för sina programvaruinspektioner kan utforskande testning hjälpa till att avslöja problem som ligger utanför standardkontrollerna.

Genom att se till att det finns olika testförfaranden kan testarna förstå programvaran på en mycket djupare nivå i alla skeden, men att genomföra dem tidigt kan ge fler fördelar.

Det är möjligt för grupper att utföra nya utforskande tester senare vid behov för att få ytterligare trygghet.

 

2. När du inte behöver göra utforskande tester

 

Det finns några få scenarier där utforskande testning inte ger några fördelar, även om det kan vara mer användbart för testare att vänta tills programvaran har sin kärnfunktionalitet.

Funktionerna i en applikation korsar eller interagerar vanligtvis med varandra, vilket innebär att utforskande tester av en funktion kan vara föråldrade när utvecklingsteamet lägger till fler funktioner i programvaran.

Det är också möjligt att utföra dessa tester tillsammans med skriptkontroller utan problem, förutsatt att testarna kan garantera en stark dokumentationsnivå för att undvika förvirring.

Utforskande testning är mycket mångsidig jämfört med andra testtyper, vilket gör att dessa kontroller är mycket användbara.

 

3. Vem är involverad i utforskande testning?

 

Utforskande testning involverar många medarbetare i något avseende, bland annat:

– Mjukvarutestare på alla nivåer kan utföra dessa tester, även om gruppmedlemmar med bättre förståelse för programvaran kan utforma ett större antal kontroller.

Erfarenheten kan också påverka deras förmåga att avgöra vilka tester som är mest användbara.

– Programvaruutvecklare som känner till resultaten av dessa tester kommer att följa alla förslag och ofta utveckla sin egen lösning på problemet.

Det är deras svar på testerna som gör att programmet kan nå ett lämpligt tillstånd för en framgångsrik lansering.

– Projektledare som övervakar hela processen och kan till och med vara de som bestämmer vilka testtyper som grupperna använder.

De kan också vara ansvariga för att skaffa programvara för grupperna som kan effektivisera eller till och med automatisera testerna.

 

Livscykel för utforskande testning

 

Den utforskande testprocessen har ett starkt fokus på testarens frihet, men följer ändå en specifik struktur.

De tre viktigaste stegen i denna metod är:

 

Steg 1: Lärande

 

Testare börjar med att utveckla en stark förståelse för programvaran och dess funktionalitet – de analyserar den kritiskt för att avgöra hur den hänger ihop.

Detta gör det möjligt för testaren att räkna ut de vanliga inmatningar som en användare skulle kunna göra, även om han eller hon redan känner till programmet och hur det fungerar.

Under inlärningsfasen kan det till och med krävas en handledning i hur man använder programvaran. Detta är utforskningsfasen och ger testaren all information som behövs för att utforma ett brett utbud av användbara tester.

 

Steg 2: Utformning av tester

 

Utforskande testutformning omfattar visserligen olika regler och parametrar, men ger ändå betydligt större frihet jämfört med testning med manus – vars detaljer redan är kända innan testningen börjar.

Testaren kan utforma kontroller som de tror passar programmet mer exakt och kan potentiellt avslöja värdefull information för utvecklingsteamet, inklusive anmärkningsvärda fel som de kan rätta till.

Testteamen använder det här skedet för att fastställa vilket tillvägagångssätt som ska användas och hur arbetet ska fördelas mellan de olika testarna så att deras styrkor tas tillvara.

 

Steg 3: Genomförande

 

Efter att ha utformat de kontroller som ska användas kan testarna nu inspektera applikationen på de sätt som de anser vara mest effektiva – de kan utföra detta omedelbart efter att de har utarbetat det specifika testet.

Detta är det skede där testarna aktivt söker efter problem och hur de problem som de upptäcker kan påverka andra funktioner.

Även om det finns ett visst mått av intuitivt arbete i utforskande testutföranden, följer det ändå fastställda processer och mål, vilket möjliggör ett flytande test som lätt kan anpassas till de specifika testmålen.

 

Utforskande testning kontra skriptbaserad testning

 

Utforskande testning är i praktiken motsatsen till testning med skript, även om båda kan vara viktiga för att se till att en applikation är redo att släppas. Den senare är vanligtvis mer formell och strukturerad och omfattar många breda tester i jämförelse med utforskande kontroller, som ofta är mer specifika för applikationens funktionalitet.

Som en del av detta är utforskande tester också betydligt mer anpassningsbara, medan skriptbaserade tester kan få problem om det sker stora förändringar i programvaran. Utforskande tester kan avslöja fel och åtgärda dem snabbare, vilket gör dem särskilt användbara när snabb återkoppling är av största vikt.

 

1. Aktivt utforskande testning

 

Aktiv utforskande testning innebär att en testare utformar ett automatiserat skript för sina kontroller som en annan testare utför. Dessa skript tar hänsyn till de tidigare testerna om de är tillämpliga.

De två testarna byter vanligtvis roll under hela inspektionsförfarandet för att dubbelkontrollera tillförlitligheten hos dessa skript och processer.

Aktiva tester har en bredare täckning utan att ge avkall på de explorativa kontrollernas varumärkesspecificitet. Dessa skript möjliggör också bättre dokumentation, vilket gör det lättare att reproducera eventuella problem som testarna hittar.

Dokumentation är en viktig del av aktiva tester, eftersom det också hjälper intressenterna att se hur programmet utvecklas.

 

2. Passiv utforskande testning

 

Passiv utforskande testning kräver endast en testare, men om man arbetar i par kan man effektivisera processen ytterligare.

Detta tillvägagångssätt omfattar särskild programvara som registrerar testarnas åtgärder och ger dem enkla steg för att replikera eventuella problem som de upptäcker. Detta sker vanligtvis i form av en video där testaren kommenterar och förklarar sina handlingar steg för steg.

Genom att spela in testprocessen får du också en inblick i applikationens prestanda, bland annat hur snabbt den svarar på inmatningsbegäranden.

Passiv testning ger både testarna och utvecklingsteamet en mängd detaljerad information om hur programvaran fungerar.

 

Tekniker för utforskande testning

 

Utforskande testning följer vanligtvis ett format med “rundturer” – där testaren utforskar programvaran på det mest effektiva sättet.

Det finns olika turer som teamet kan välja mellan, bland annat:

 

– Turer med guideböcker

Detta tillvägagångssätt prioriterar applikationens framhävda funktionalitet, vilket gör att man nära nog kan följa hur en genomsnittlig användare arbetar med programvaran och avslöja problem som de naturligt skulle hitta.

 

– Historiska rundturer

Den här rundturen inspekterar applikationens äldsta funktioner för att se till att de fortfarande fungerar. Detta är särskilt viktigt om utvecklarna har lagt till nya funktioner som står i konflikt med applikationen.

 

– Pengar tur

Det här utforskande testet kontrollerar de kritiska programfunktionerna, särskilt de som kunder och klienter betalar pengar för att få tillgång till – dessa är vanligtvis de högsta prioriteringarna för testteamet.

 

– Turne för brottslig verksamhet

Testare arbetar ibland aktivt för att bryta ett program eller framkalla negativa scenarier, till exempel genom att skriva in ogiltig information och undersöka hur programmet reagerar på detta.

 

– Rundtur i bakgata

Den här processen omfattar funktioner som färre kunder sannolikt kommer att använda sig av. Dessa är lika viktiga för alla testmetoder, särskilt eftersom de kommer att interagera med andra funktioner.

 

– Intellektuell rundtur

Denna tur driver programmet vidare och testar de mest komplicerade funktionerna med högre (ibland högsta) värden för att fastställa programvarans bearbetningshastighet.

 

Metoder för utforskande testning

 

Det finns två huvudsakliga tillvägagångssätt för utforskande testning:

 

1. Sessionsbaserad utforskande testning

 

Detta är en tidsbaserad teknik som syftar till att kvantifiera testprocessen genom att dela in den i “sessioner” med två komponenter: uppdrag och uppdragsbeskrivningar.

Uppdraget är det specifika sessionens syfte och varaktighet, vilket ger en utforskande testare ett tydligt fokus.

I en stadga fastställs varje sessionens omfattning och detaljerade specifika mål som testaren har för avsikt att uppfylla. Detta leder till en högre nivå av ansvarighet (och dokumentation) genom att kontrollerna delas upp i mer lätthanterliga komponenter.

Sessionsbaserade tester förbättrar också produktiviteten och ger testaren tydliga mätvärden och information om felsökning.

 

2. Parbaserad utforskande testning

 

Parbaserad testning liknar aktiv utforskande testning eftersom den främst innebär att man arbetar i par – vanligtvis på samma enhet – för att kontinuerligt kontrollera programmet samtidigt. I detta arrangemang föreslår en testare en rad testfall och för anteckningar om framstegen medan den andra testaren testar programvaran.

Kommunikation är viktigt under hela den parbaserade testningen, eftersom detta säkerställer att båda testarna är medvetna om kontrollerna och deras syfte.

Om du tilldelar dessa par själv, se till att du tar hänsyn till varje testares styrkor och svagheter, så att du kan bygga starkare processer för utforskande testning.

 

Vilka faktorer påverkar utforskande testning?

 

De faktorer som kan påverka kvaliteten på ett teams utforskande testning är bland annat:

 

– Programmets övergripande mål och kärnfunktionalitet.

– De specifika testmålen för en applikations nuvarande fas.

– De individuella rollerna och förmågorna för varje testare i teamet.

– De tillgängliga verktygen, t.ex. gratis programvara för att automatisera tester.

– Det stöd som testare får från kollegor eller ledningen.

– Kundens önskemål och marknadens nuvarande breda trender.

– Användarvänlighet, t.ex. hur smidigt gränssnittet är.

– Den tid som testarna har på sig för att slutföra testfasen.

– Inmatningar och andra uppgifter som testarna tänker använda.

– De funktioner som utvecklarna lägger till i programvaran med tiden.

 

Typer av utforskande testning

 

De tre huvudtyperna av utforskande testning som ett team kan använda sig av är följande:

 

1. Freestyle utforskande testning

 

Freestyle-testning innebär en ad hoc-metod för att kontrollera ett program. Denna metod har få regler att ta hänsyn till, så effektiviteten kan variera. Vissa programvaror och komponenter kräver en mer robust metodik.

Dessa kontroller kan ändå ge många fördelar genom att hjälpa testarna att bekanta sig med programmet och validera tidigare testares arbete.

Även utan strikta regler kan erfarna och skickliga testare lätt använda detta format till sin fördel. De kan enkelt ta sig igenom alla delar av programvaran – i vissa situationer är testreglerna restriktiva och kan oavsiktligt begränsa teamets resultat.

 

2. Scenariobaserad utforskande testning

 

Scenariobaserad testning använder realistiska situationer som grund för varje test, t.ex. genom att kontrollera inmatningar som användarna sannolikt kommer att göra under en typisk användning av programvaran.

Testare arbetar hårt för att se till att alla scenarier de utarbetar stämmer överens med hur en användare använder programmet.

Tiden kan vara en begränsning eftersom gruppens mål är att testa så många scenarier som möjligt. Beroende på tidsfristerna kommer man troligen inte att kunna täcka alla möjligheter.

Testare bör använda ett brett utbud av tester i olika kategorier.

 

3. Strategibaserad utforskande testning

 

Strategibaserad testning omfattar ett stort antal specifika metoder, inklusive testning av gränsvärden, ekvivalensmetoder, riskbaserade metoder med mera. Detta prioriterar i allmänhet testare som redan är bekanta med applikationen eftersom de kan utveckla skräddarsydda strategier som innehåller dessa individuella metoder.

Ett strategibaserat tillvägagångssätt fokuserar främst på programvarans funktionalitet (och inre arbete) utan att titta på de möjliga scenarier som skulle kunna leda till att en användare stöter på de problem som uppstår. Detta kan leda till en bredare analys av en tillämpning och dess olika funktioner, eventuellt mer djupgående än andra metoder.

 

Manuella eller automatiserade utforskande tester?

 

Testteamen kan utföra utforskande kontroller antingen manuellt eller automatisera dem. Båda alternativen kan ge enorma fördelar, men vilket alternativ som är det rätta beror ofta på projektets särdrag.

 

Manuell utforskande testning

 

Manuell utforskande testning möjliggör ett större antal skräddarsydda kontroller. Även om detta kan ta längre tid eftersom mänskliga testare är långsammare än datorer, kan manuell kontroll vara avgörande för att fastställa användarupplevelsen.

En testare arbetar inte bara för att se till att alla funktioner i en applikation fungerar som de ska, utan också för att kontrollera om användarna kan använda den med lätthet. Detta är kanske den vanligaste formen av utforskande testning, men det är inte nödvändigtvis den mest effektiva.

 

1. Fördelar med att utföra utforskande tester manuellt

 

Fördelarna med manuell utforskande testning är bland annat:

 

Större fokus på användbarhet

 

Automatiserade utforskande tester kan upptäcka avvikelser i programvaran, men kan inte tolka dessa problem på samma sätt som en mänsklig testare.

Detta inkluderar förståelse för hur programvarans användare sannolikt kommer att navigera eller interagera med programmet, något som automatiseringen inte kan ta hänsyn till.

Manuella utforskande testare kan ge en högre grad av feedback, inklusive specifika detaljer om hur de problem de hittar påverkar den övergripande programvaran eller den allmänna upplevelsen.

 

Kan göra ändringar i realtid

 

En av de viktigaste styrkorna med utforskande testning är att det är möjligt att identifiera behovet av ett test och utföra det relativt snabbt innan man auktionerar ut de nödvändiga förbättringarna.

Automatiserad testning är i allmänhet en mycket snabbare process, men testarna måste vänta tills allt är klart innan de gör ändringar – manuella testare kan göra detta medan den utforskande testprocessen fortfarande pågår.

Detta är dock ofta endast möjligt för fel som påverkar mindre delar av programvaran.

 

Större uppmärksamhet på detaljer

 

Utforskande testning handlar främst om att upptäcka nya sätt att testa en applikation samtidigt som man förstår den. Detta kan ibland innebära att ett test leder till ett annat genom att testaren får idéer.

Automatiserade tester kanske inte tar hänsyn till detta eftersom de är relativt okontrollerade för testteamet. Manuella testare förbättrar kontinuerligt sin kunskap om programvaran och utformar nya men lika viktiga tester – men det kan vara svårt om programvaran från tredje part automatiserar dem.

 

Kan hitta fel utanför koden

 

Manuella utforskande kontroller låter testarna titta på alla aspekter av programmet och programvaran, även utanför själva koden.

Många automatiserade metoder är begränsade till koden och hur den fungerar, vilket kan leda till att testteamen inte upptäcker problem som kan uppstå i andra delar av applikationen.

Detta beror främst på vilken automationsprogramvara du har, eftersom vissa lösningar kan erbjuda ett bredare tillvägagångssätt för utforskande testning.

 

Säkerställer kvaliteten i hela projektet.

 

Automatiserade utforskande kontroller letar endast efter fel och mätvärden i programmet; manuella testare kan istället inspektera programvaran och ge sin egen omfattande feedback.

De kan till exempel testa koden och avgöra om den är för komplex – vilket är särskilt viktigt eftersom död kod kan sänka prestandan men i praktiken inte upptäcks av automatiserade processer.

En testares kunskap om programvaran kan vara avgörande för att diagnostisera problem som uppstår under andra faser av testningen.

 

2. Utmaningar med manuell utforskande testning

 

Utmaningarna med manuell utforskande testning är bland annat:

 

Möjlighet till mänskliga fel

 

Automatiserad utforskande testning kan köra exakt samma kontroll så många gånger som nödvändigt utan att ändra det exakta förloppet, vilket garanterar konsistens och tillförlitliga resultat.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Manuell explorativ testning är sårbar för mänskliga fel, vilket innebär att testaren kan ange fel värde. Det är vanligtvis möjligt att dubbelkontrollera dessa tester och åtgärda eventuella avvikelser, eftersom de kan vara uppenbara även vid första anblicken.

Att göra om ett test efter att ha upptäckt ett misstag kan dock ta mer tid i anspråk.

 

Generellt sett mer tidskrävande

 

Även om testarna utför varje utforskande kontroll korrekt och utan mänskliga fel tar hela processen mycket tid jämfört med automatiserad programvara som kan beräkna testerna mycket snabbare.

Detta kan vara en skillnad på minst flera timmar, tid som testarna kan spendera på delar av applikationen som inte skulle gynnas av automatiseringen.

Utforskande tester kräver också ständig övervakning, medan automatisering gör det möjligt att köra testerna över natten.

 

Långvarig dokumentationsprocess

 

På samma sätt kan manuell dokumentation under och efter den manuella testningen vara en onödig påfrestning för den utforskande testningsprocessen.

Detta gör det svårare att spåra ändringar och programvaruändringar över tid – automatiserad programvara kan vanligtvis intuitivt ta hänsyn till detta när den kör tester.

Detta är ytterligare en administrativ fråga som tar tid och energi från andra frågor, vilket i praktiken minskar räckvidden och bredden på det övergripande förfarandet för testning av programvara.

 

Måste känna till programvaran ingående.

 

Manuella testare på alla nivåer kan inspektera applikationen och testa den noggrant. Detta beror på det arbete de lägger ner på att förstå programvaran – det första steget i den utforskande processen.

Men om en testare kämpar med eller försummar att lära sig hur applikationen fungerar, kommer han eller hon troligen att ha svårt att utforma och utföra ett lämpligt antal tester.

Genom att känna till programvaran väl kan testarna gå utöver de vanliga testparametrarna.

 

Kostsamt att underhålla

 

Om man förlitar sig på manuell utforskande testning krävs vanligtvis ett större testteam, vilket kan leda till högre långsiktiga kostnader jämfört med automatiserade kontroller. Programvaran från tredje part som utför dessa utforskande tester kan ge ett enormt värde eller till och med vara helt gratis.

Beroende på hur komplexa uppgifterna är kan ett företag behöva mycket skickliga testare med många års erfarenhet för att kontrollera programmet fullt ut. Detta kan öka testkostnaderna avsevärt jämfört med om du använder gratis programvara för automatisering.

 

3. När ska man använda manuell utforskande testning?

 

Manuell utforskande testning är ofta förenad med flera utmaningar, men är ändå en viktig del av en grundlig testning av programvara. Detta beror på att det finns aspekter av programvaran som automatiseringen inte helt och hållet kan ta hänsyn till och som också kräver ett starkt fokus.

Programvara kan till exempel inte ge tillförlitlig feedback om användargränssnitt eller tester av användarupplevelser. Testare kan bara få en bra uppfattning om hur en applikation fungerar i praktiken om de testar den manuellt. Detta innebär att både utvecklare och testteam måste överväga att integrera åtminstone en viss grad av manuell utforskande testning i sina kontroller.

 

Automatiserad utforskande testning

 

Automatiserad testning använder programvara från tredje part för att automatisera vissa kontroller – testare kan vanligtvis anpassa detta så att det passar praktiskt taget alla tester.

Detta kräver dock i allmänhet att teamet kör kontrollen manuellt minst en gång för att kalibrera automatiseringen. Detta kan avsevärt effektivisera processen för både test- och utvecklingsteam.

Även om det kan vara ovanligt att automatisera utforskande tester finns det flera tydliga fördelar med att göra detta för din applikation och dess prestanda.

 

1. Fördelar med automatisering av utforskande test

 

De viktigaste fördelarna med automatisering av utforskande tester är följande:

 

Konsekvent testutförande

 

Mänskliga fel kan lätt leda till testningsfel som tar både tid och pengar att åtgärda, men automatiserade utforskande kontroller gör det möjligt för testteamen att kringgå detta problem.

Testare lär effektivt automatiseringsmjukvara att utföra ett test på rätt sätt och ser till att det utförs på samma sätt varje gång. Detta förbättrar testens totala tillförlitlighet och minskar den tid som utvecklarna spenderar på att vänta på resultaten – särskilt eftersom testarna enkelt kan ställa in detta för att köra över natten.

 

Sparar tid för alla

 

Automatiserade tester gör att utvecklarna kan börja arbeta med att åtgärda problem mycket snabbare, samtidigt som testarna kan täcka ett bredare spektrum av utforskande kontroller. Det finns bara ett visst antal scenarier som teamet kan ta hänsyn till oavsett deadline, vilket innebär att det är viktigt att testarna får in så många kontroller som möjligt inom den tillåtna tidsramen.

Automatisering hjälper till genom att utföra dessa utforskande tester mycket snabbare än manuella testare.

 

Ett kostnadseffektivt tillvägagångssätt

 

Beroende på vilken programvara teamet väljer kan automatisering vara mycket mer kostnadseffektivt än manuell testning – det kan till och med vara gratis.

Även om det fortfarande är viktigt att anställa manuella testare och vissa av dem kommer att vara ansvariga för att kalibrera automatiseringsförfarandena, ger automatiseringen av så många utforskande tester som möjligt företaget en chans att sänka personalkostnaderna.

När teamet väl har förstått automationsprogrammet kan de anpassa det till många olika uppgifter.

 

Anpassningsbar för flera enheter

 

Manuell testning kan kräva personal med erfarenhet av olika enheter, t.ex. kunskap om olika operativsystem för telefoner, inklusive Android och iOS, om man bygger en mobilapplikation.

Automatiserad programvara kan ta hänsyn till detta och testa på flera enheter för att säkerställa att programmet alltid fungerar bra. Testteam med kunskap om dessa enheter kan tycka att processen är tråkig, men automatiseringen kan återigen effektivisera de vanliga utforskande testprocesserna och testa varje iteration samtidigt.

 

Återanvändbara manuskript

 

Om teamet testar flera versioner av samma programvara eller till och med flera produkter med liknande arkitektur eller funktioner är det möjligt att återanvända skript från en testcykel till nästa.

Om det behövs några justeringar för att säkerställa kompatibilitet kan manuella testare göra dem mycket snabbare än att skriva ett helt nytt skript.

Automatisering optimerar praktiskt taget varje steg i den explorativa testprocessen och är lätt att installera i olika programvarukonfigurationer.

 

2. Utmaningar med att automatisera utforskande tester

 

Denna process innebär också olika utmaningar, t.ex:

 

Representerar endast en sida av testningen

 

Det är varken praktiskt eller klokt att automatisera alla kontroller under testningen av applikationen eftersom det finns vissa aspekter som endast en manuell testare kan ge tillförlitlig feedback på.

Detta inkluderar användarupplevelsen, även om det kan vara möjligt att få noggranna analyser av prestanda och belastningstester via automatisering, beroende på vilken programvara du väljer.

Automatisering av utforskande test saknar mänskligt omdöme och kan fungera bäst tillsammans med en manuell testare för vissa kontroller.

 

Orealistiska förväntningar på kapaciteten

 

På samma sätt kan automatiserade utforskande testförfaranden ge enorma fördelar för en applikation och för hela projektet.

Detta är dock inte alltid lösningen. Organisationer som förlitar sig mycket på automatisering i varje steg kan få ett ofullständigt perspektiv på programvaran.

Automatisering identifierar problem, men det är test- och utvecklingsteamen som ansvarar för att åtgärda dem. Det är viktigt att definiera en övergripande automationsstrategi så att alla i projektet förstår dess möjligheter och begränsningar.

 

Högre krav på kompetens

 

Automatisering innebär vanligtvis att veta hur man utför komplexa kontroller och hur man programmerar och automatiserar dem. Detta kräver ofta flera års erfarenhet av skript, även om automationsprogram kan hjälpa till att optimera dessa processer avsevärt.

Det är viktigt att företaget rekryterar testare med olika och robusta färdigheter för att underlätta effektiv automatisering.

Testare som har erfarenhet av automatisering vet också vilka funktioner de ska prioritera när de väljer bland de programvaror från tredje part som finns tillgängliga, så att teamet får en bra produkt.

 

Felaktiga strategier och kommunikation

 

Att kommunicera en sammanhängande strategi är av största vikt för en lyckad automatisering; utvecklare, testare och även projektledare måste vara på samma sida under hela testningen.

Grupperna måste samarbeta för att fastställa omfattningen och tidsplanen för de kommande förfarandena. Detta gäller för alla testprocesser, men är särskilt viktigt på grund av den ökade komplexiteten i automatiseringen. Bättre kommunikationslinjer och brist på informationssilos gör att dina team kan genomföra sina tester mer effektivt.

 

Välja rätt programvara för automatisering

 

Automatisering innebär vanligtvis att man väljer en tredjepartsapplikation som är kompatibel med teamets testmål. Varje alternativ har olika prisplaner och funktioner. Detta kan vara en betydande kostnad på lång sikt, även om programvaran framgångsrikt utför automatiserade tester och ger ett stort värde.

Det finns ett antal kostnadsfria alternativ som erbjuder imponerande funktioner som är jämförbara med premiumalternativ. Det är viktigt att testteamet undersöker alla tillgängliga alternativ, inklusive gratis programvara.

 

Slutsats: Automatisering av utforskande testning vs. manuell utforskande testning

 

Det finns få projekt som gynnas av antingen helt manuell testning eller helt automatiserad testning, eftersom applikationer av alla slag fungerar bättre med en kombination av båda.

Även om automatiserade tester kan optimera processen för utvecklings- och kvalitetssäkringsteamen, kräver vissa aspekter av designen manuell utforskande testning, vilket är det enda sättet att få användarmedveten feedback.

Med tiden arbetar fler organisationer med att implementera hyperautomatisering, en process som syftar till att maximera automatiseringen på ett intelligent sätt och se till att verksamheten har en effektiv strategi – detta kan fortfarande existera vid sidan av manuell testning.

Automatiserad testning blir allt mer tillgänglig för företag på grund av den ökade förekomsten av automationsprogram, särskilt med flera kostnadsfria alternativ med många funktioner. Detta gör det lättare för företag att använda en kombinerad manuell/automatisk metod för utforskande testning.

Den ökande populariteten för Agile (en projektledningsteknik som fokuserar på stegvisa men ändå betydande framsteg) inom utveckling har också varit en faktor, eftersom det kräver korta testcykler. En kombinerad teststrategi skulle kunna passa detta och olika andra utvecklingsstrategier, t.ex. kontinuerlig integration, som också kräver upprepade tester för att säkerställa framgång i många iterationer av samma programvara.

 

Vad du behöver för att börja med utforskande testning

 

Förutsättningarna för utforskande testning är:

 

1. Tydliga mål för testningen

 

Även om utforskande testning är synonymt med frihet och ibland förväxlas med ad hoc-testning, följer detta ändå specifika regler eller definierbara mål. Det enda sättet för ett kvalitetssäkringsteam att framgångsrikt navigera i nästan alla teststrukturer är att känna till det förväntade resultatet av varje test, särskilt eftersom testarna vanligtvis utformar dessa kontroller själva.

 

2. Kreativa, intuitiva testare

 

Utforskande testning fokuserar på att utforma nya och kreativa tester som kan avslöja problem med en applikation. Även testare med begränsad erfarenhet kan göra detta, förutsatt att de förstår programvaran.

Det är viktigt att testarna förstår programmet och hur det fungerar, så att de intuitivt kan utveckla en rad användbara kontroller.

 

3. Sammanhängande dokumentation

 

Varje typ av testning måste ha en stark dokumentation för att se till att varje teammedlem följer ett förväntat testschema och att ingen av misstag upprepar en kontroll.

Detta är en viktig aspekt av kommunikationen inom en enskild avdelning och mellan flera avdelningar, t.ex. utvecklare som behöver regelbundna testuppdateringar för att ta reda på hur de ska åtgärda problem.

 

4. Ett kundperspektiv

 

Utforskande testning omfattar många strategier och scenarier, inklusive sådana som återspeglar hur användarna praktiskt kommer att använda applikationen. Det är viktigt att testteamen tar hänsyn till detta under sina kontroller, även om de inte utför scenariobaserade tester.

Genom att anta detta kan en testare närma sig testning från olika perspektiv, vilket förbättrar kvaliteten på dessa kontroller.

 

5. Programvara för automatiserad testning

 

Eftersom teamet sannolikt kan automatisera en stor del av de tester som de utformar är det viktigt att de kan skaffa högkvalitativ programvara för automatiserad testning före utförandet.

Utvecklarna och testteamet kan använda sin förståelse för projektet för att bestämma vilken tredjepartsapplikation som skulle passa deras egna krav.

 

Processen för utforskande testning

 

De specifika stegen för utforskande testning är följande:

 

1. Klassificera testförfarandet.

 

Det första steget i den utforskande testningen är att de berörda teammedlemmarna förstår hur de ska gå tillväga för att genomföra dessa kontroller, till exempel genom att klassificera vanliga fel och genomföra en grundorsaksanalys.

Det är här testarna själva utvecklar sina idéer för testerna; beroende på deras exakta metodik kan de också utforma en teststadga.

I detta fastställs omfattningen och testerna för den sessionen eller arbetsdagen.

 

2. Påbörja testerna

Även om de exakta parametrarna (t.ex. tiden för varje test eller en hel session) beror på teamets egna preferenser och projektets krav, har alla utforskande tester vissa gemensamma drag.

När de relevanta kontrollerna har klassificerats börjar personalen för kvalitetssäkring att utföra testerna och registrera alla resultat.

Om kontrollerna kräver automatisering kan testarna ställa in den så att den fungerar över natten eller övervaka den själva under dagen.

 

3. Granska resultaten

 

Nästa steg är att granska resultaten och jämföra dem med standardresultat och förväntade resultat. Om dessa tester resulterar i betydande oväntade avvikelser av något slag kan testarna upprepa kontrollen eller omedelbart börja fundera på hur detta ska åtgärdas. De förslag som de lämnar till utvecklarna kan vara avgörande för att avgöra vilket tillvägagångssätt som är rätt – och deras felrapporter kan beskriva detta i detalj.

 

4. Testets avrapportering

 

Efter att ha auktionerat testresultaten börjar kvalitetssäkringsteamet granska själva testförfarandet och använder detta för att avgöra om deras utforskande testmetod var lämplig.

Denna sammanfattande rapport kan till och med visa att det förekom driftfel under kontrollerna som kräver ett nytt test. Testteamet kan också kontrollera programmet igen när utvecklarna har åtgärdat problemen för att avgöra om de har lyckats.

 

Bästa praxis för utforskande testning

 

De mest effektiva metoderna för utforskande testning är följande:

 

1. Para ihop testare

Många former av utforskande testning gynnas av att testare arbetar tillsammans – detta effektiviserar processen ytterligare och möjliggör flera perspektiv på samma kontroller.

Genom att testa parvis undviker man också risken för tunnelseende, vilket uppmuntrar till en mer kreativ utformning av testerna.

Om flera personer arbetar med samma test kan det leda till större noggrannhet över hela linjen, och genom att dela upp arbetsbördan kan testningen bli mycket snabbare för hela teamet.

 

2. Blandning av manuella och automatiserade tester

 

Vissa företag kämpar fortfarande med att införa automatisering medan andra överutnyttjar den, även när manuella perspektiv kan vara mer fördelaktiga. Genom att balansera dessa kontroller tillsammans kan testteamet täcka in fler områden och säkerställa kvaliteten i hela applikationen, även när det gäller mer subjektiva aspekter som programvarans gränssnitt.

Att genomföra manuella och automatiserade tester tillsammans är det enda sättet att garantera en fullständig testtäckning av alla funktioner.

 

3. Förstå marknaden

 

Det är viktigt att testarna känner till både sin målgrupp och sina konkurrenter under testprocessen, så att de kan bedöma hur människor troligen kommer att reagera på applikationens nuvarande funktionalitet.

Vissa funktioner är mycket efterfrågade, och testteamet kan dra nytta av att prioritera dessa under kontrollerna. Även om de också måste ha en bred testtäckning. Detta kan avgöra inriktningen på testerna och programvarans potentiella framgång vid lanseringen.

 

4. Använd riktiga enheter för testning.

 

Grupper för programvarutestning kan använda emulatorer för att underlätta sina utforskande kontroller. Detta kan vara användbart men återspeglar sällan en praktisk användarmiljö.

Riktiga enheter bidrar till att förbättra tillförlitligheten i utforskande tester genom att skapa en mer realistisk upplevelse – emulatorer är ofullkomliga och kan innehålla fel som inte finns hos kunderna.

Emulering är ett snabbt sätt att testa flera plattformar, men det är ingen ersättning för de verkliga enheterna.

 

Typer av resultat från ett utforskande test

 

Det finns olika resultat som testarna kan få efter att ha genomfört en kontroll, bland annat:

 

1. Testresultat

 

Resultaten i sig tar sig många olika uttryck eftersom utforskande tester kan omfatta hundratals unika tester. Dessa resultat utgör den största delen av en testrutins resultat och ger viktig information om programmets tillstånd och dess förmåga att uppfylla användarens behov.

Testarna kan kontrollera systemet på nytt och validera informationen när de får dessa resultat för att bestämma nästa åtgärd.

 

2. Testloggar

 

I programmets egna loggar avslöjas ofta fel och problem under testprocessen, och dessa ger de starkaste ledtrådarna till varför programvaran misslyckades i ett test. Ledande testare är särskilt skickliga på att tolka loggar i en applikation, vilket gör att de kan identifiera orsaken till komplicerade problem.

Ju mer information testarna får från dessa loggar, desto mer kan de hjälpa utvecklarna.

 

3. Testrapporter

 

Beroende på teamets automatiseringsförfarande kan deras resultat automatiskt generera en felrapport. Här anges eventuella fel i en applikation, eventuellt med orsaker och andra uppgifter som är relevanta för utvecklare.

Testarna kan använda detta för att ge sin egen åsikt om programvaran är redo för lansering, vilket brukar kallas ett beslut om att gå eller inte gå.

 

Exempel på utforskande testning

 

Här är tre exempel på hur ett företag kan använda utforskande tester:

 

1. En mobil spelapp

 

Om ett spelföretag vill släppa en större uppdatering av en mobilapp kan testare kontrollera både gamla och nya funktioner för att avgöra om programmet fortfarande är stabilt. Detta kan göra programvaran så komplex att den inte kan köras på vissa enheter.

Testare arbetar för att minimera effekterna av detta samtidigt som de säkerställer användbarheten på så många plattformar som möjligt.

Utforskande testare kontrollerar spelet och dess många komplicerade scenarier noggrant för att se till att alla funktioner fungerar som de ska.

 

2. En tjänsteleverantörs webbplats

 

Webbplatser genomgår också utforskande tester för att se till att de fungerar för både användare och personal, så testarna kan börja med att logga in på webbplatsen. Detta testar webbplatsens förmåga att skapa nya användarprofiler och kontrollerar att användarna inte har tillgång till administrativa funktioner.

Testarna går sedan vidare till att kontrollera tjänsten, vilket kan vara i form av att boka ett möte eller göra en beställning. De slutför sedan köpet för att se till att kassan fungerar korrekt, varefter de tittar på beställningens e-postbekräftelse och kontohistoriken.

 

3. Sjukhusets ledningssystem

 

Applikationer och system av alla slag kan dra nytta av utforskande testning. När det gäller sjukhushanteringssystem kan en testare titta på hur betalningsmodulen interagerar med andra funktioner.

Högre integrationsnivåer kan leda till betydande fel utan noggrann testning. Dessa kontroller kan omfatta ett arkitektoniskt diagram som visar systemets många komponenter och hur de korsar varandra.

Testare tittar också på problem i tidigare iterationer av systemet och testar specifikt för att se om dessa fortfarande finns kvar och vidtar snabba åtgärder om de upptäcker några fel.

 

Typer av fel och buggar som upptäcks genom utforskande testning

 

Fel som testare kan upptäcka under utforskande testning är bland annat:

 

1. Inkompatibla egenskaper

Vissa funktioner i applikationen kan inte interagera med varandra som förväntat, vilket kan leda till att användare inte kan genomföra inköp eller använda appen. Testarna kontrollerar funktionerna både enskilt och tillsammans med varandra för att se till att allt passar ihop.

 

2. Felaktig utformning av användargränssnittet

Användargränssnittet avgör exakt hur någon använder programmet. Om viktiga funktioner till exempel inte är uppenbara för kunderna kanske de inte märker att de finns, vilket begränsar deras glädje av programmet.

Manuell UI-testning identifierar och korrigerar användarovänlig design.

 

3. Fel vid autentisering

Många program och webbplatser gör det möjligt att skapa en användarprofil med vissa privilegier. Det är viktigt att testarna kontrollerar om vanliga användare på något sätt kan få tillgång till känsliga uppgifter eller till och med administrativa funktioner när de använder programvaran på oväntade sätt.

 

4. Död kod

Testare kan hitta föråldrad kod som fortfarande finns kvar i applikationen, vilket till och med kan vara orsaken till betydande prestandaproblem. Död kod komplicerar applikationens inre arbete och kan leda till fel som kan undvikas. Genom att identifiera och optimera detta blir programvaran mer responsiv för personal och användare.

 

Vanliga mätvärden för utforskande testning

 

De vanliga mätvärden som testare kan stöta på under sina utforskande tester är bland annat:

 

1. Mätvärden för prestandatester

Utforskande tester som undersöker en applikations allmänna prestanda kan resultera i ett brett spektrum av mätvärden. Detta kan inkludera minsta, genomsnittliga och maximala svarstider tillsammans med fel- och framgångsfrekvenser för att fastställa stabiliteten.

 

2. Mätning av testtäckning

Testtäckningen är viktig eftersom den avgör hur många kategorier och aspekter av en applikation som testet omfattar. Procentuell kravtäckning bedömer till exempel om det finns några funktioner som kräver ytterligare testrundor.

 

3. Testets övergripande effektivitet

Genom att spåra antalet lyckade och misslyckade kontroller kan testarna få reda på hur väl en applikation är i allmänhet. Dessutom kan teamet spåra hur många av de upptäckta felen som är kritiska.

 

4. Fördelning av defekter

På liknande sätt visar en kontroll av felfördelningen vilka komponenter eller funktioner som är mest känsliga för fel. Det kan vara delar av programmet som ofta interagerar med andra, vilket gör det viktigt att prioritera dessa tester.

 

5. Regressionsmått

Med utforskande regressionstestning kan testarna se hur olika iterationer av samma programvara beter sig och hur detta kan påverka prestandan.

De specifika mätvärdena som hjälper till med detta är felinjektionsfrekvens och fel per byggnation.

 

För att reda ut en viss förvirring: Utforskande testning vs. Ad hoc-testning

 

Med ett starkt fokus på testarens frihet förväxlar vissa personer ofta utforskande testning med ad hoc-testning. De två formaten har flera viktiga likheter men tjänar i slutändan olika syften.

 

1. Vad är ad hoc-testning?

 

Ad hoc-testning är ett helt ostrukturerat tillvägagångssätt som bryter mot konventionell testdesign för att hitta fel som annars kanske inte skulle dyka upp.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Denna form av testning innebär vanligtvis ingen dokumentation, vilket gör det svårt att reproducera problem om testaren inte är helt säker på orsaken.

Ett exempel på detta är “monkey testing”, en kontroll som innebär slumpmässiga inmatningar och som i slutändan syftar till att bryta sönder systemet.

I likhet med utforskande testning arbetar många ad hoc-testare i par för att genomföra dessa kontroller, vilket ökar deras tillförlitlighet. En ad hoc-metod kan vara användbar efter det formella testutförandet för att se till att kontrollerna tar hänsyn till alla möjligheter; detta är också till hjälp när det finns begränsad tid för att genomföra ytterligare tester. Med rätt genomförande är ad hoc-tester mycket fördelaktiga.

 

2. Skillnader mellan utforskande testning och ad hoc-testning

 

Ad hoc-testning innebär i allmänhet ingen formell dokumentation. Detta står i skarp kontrast till de explorativa testerna, där den improviserade karaktären hos dessa kontroller gör det ännu viktigare att föra protokoll.

Utforskande tester använder ett större antal formella testmetoder, medan ad hoc-kontroller undviker detta genom att se utanför den konventionella test-etiketten. Detta hjälper dem att upptäcka fel som testare annars aldrig skulle hitta.

Utforskande testning har tydliga mål och gränser, men tillåter ändå gruppmedlemmarna att använda kreativa tester. Ad hoc-tester har vanligtvis inga definierbara slutmål utöver att de pressar programvaran så mycket som möjligt. Ad hoc-testning innebär ofta också att man redan har kunskap om programvaran och dess funktioner, medan utforskande testning innebär att man lär sig programmet i sina vanliga processer.

 

Utforskande testning i Agile

 

Agil metodik främjar i hög grad ständiga förbättringar. Det innebär att det passar bra ihop med utforskande tester, särskilt när efterfrågan på frekventa programuppdateringar ökar.

Att kombinera utforskande testning med Agile kan ge teammedlemmarna en starkare teststruktur genom att integrera releaseplanering och sprintutförande i deras scheman. Ett företag som använder sig av agila tekniker kan utnyttja detta ytterligare genom att kombinera det med utforskande testning, vilket är ett utmärkt sätt att testa varje enskild programvarukomponent i en applikation. Eftersom testare kan utföra utforskande kontroller utan skript sparar detta både kvalitetssäkringspersonal och utvecklare mycket värdefull tid.

Automatiserad utforskande testning ökar dessa besparingar och hjälper företag att kontrollera de senaste iterationerna av sina applikationer mycket snabbare, eventuellt över en natt. Utforskande kontroller ger snabba och användbara resultat, och utvecklarna kan vidta nödvändiga ändringar i samband med nästa sprint.

Manuell utforskande testning erbjuder fortfarande många fördelar i samband med Agile eftersom den kan identifiera problem som en automatiserad metod kan missa. Andra former av testning tar helt enkelt för lång tid eller ger för få fördelar för att passa in i det agila ramverket. Genom att göra en utforskande kontroll kan man försäkra sig om att varje Agile-steg förbättrar programvaran och dess funktionalitet avsevärt.

 

7 misstag och fallgropar att undvika när du implementerar utforskande tester

 

Här är sju vanliga misstag som företag ofta gör när de implementerar utforskande tester och hur företagen kan undvika dessa problem:

 

1. Obalanserad manuell/automatisk testning

 

Det tar tid att ta reda på vilka tester som fungerar bäst med manuella kontroller och vilka som skulle gynnas av automatisering, men det gör det möjligt för teamet att testa mycket effektivare.

Om man automatiserar för många tester kan det resultera i en applikation som är otymplig eller inte användarvänlig på grund av bristen på en mänsklig testare.

 

2. Tidsbegränsningar

Utforskande testning är snabbare än många andra former av testning, men projektets tidsfrister innebär att det fortfarande finns gränser för hur många tester teamet kan genomföra.

Tidshantering och ett engagemang för testtäckning hjälper testteamet att utföra så många kontroller som möjligt inom många olika kategorier.

 

3. Inflexibla testare

Även om utforskande testare inte kräver någon tidigare kunskap om programvaran eller särskilt djupa färdigheter, är kontrollerna fortfarande beroende av de enskilda gruppmedlemmarnas förmåga och initiativförmåga.

Projektledaren måste tilldela dessa testroller på ett klokt sätt och vid behov reservera dem för mer kreativa och intuitiva medlemmar i teamet.

 

4. Svårigheter att replikera misslyckanden

Det är inte alltid uppenbart vilka åtgärder som bidrar till att ett test misslyckas, och det kan också vara oklart vilka aspekter av programmet som är skyldiga.

Det är därför som många explorativa metoder innebär att man kopplar ihop testare eller till och med spelar in en testares skärm direkt för att få en bättre förståelse för problemen och deras exakta orsaker.

 

5. Otydlig dokumentation

Oavsett om det är en automatiserad felrapport eller en manuell registrering av de genomförda testerna gör bra dokumentation det enklare för utvecklarna att agera på testteamets resultat.

Testteamet måste åta sig att garantera en högkvalitativ registrering av varje enskild kontroll och ge så många detaljer som möjligt i varje rapport.

 

6. Höga förväntningar

Utforskande testning är fördelaktigt för nästan alla programvaruprojekt, men dess räckvidd är fortfarande begränsad – den fungerar bäst i kombination med andra testmetoder.

Testteamen måste utföra dessa kontroller vid sidan av de vanliga skriptbaserade testerna. Detta är det enda sättet för kvalitetssäkringsavdelningarna att garantera en konsekvent bred testtäckning.

 

7. Felaktig automatisering

Det är viktigt att testteamet och projektledaren förstår vilken automationsprogramvara som ger mest nytta för just den applikationen.

Olika tredjepartsalternativ erbjuder sina egna unika funktioner, så teamets val kan avgöra hur framgångsrik deras robotiserade processautomatisering blir; de måste överväga alla alternativ.

 

5 bästa gratis verktyg för utforskande testning

 

De fem bästa verktygen för utforskande testning som kvalitetssäkringsteam kan använda gratis är följande:

 

1. ZAPTEST FREE Edition

ZAPTEST Free levererar funktionalitet på premiumnivå till absolut ingen kostnad, vilket gör att alla organisationer kan dra nytta av ett enkelt genomförande av utforskande tester.

Den här applikationen kan automatisera alla plattformar, enheter och webbläsare med den innovativa 1SCRIPT-tekniken.

ZAPTEST erbjuder också flexibel RPA-automatisering så att du kan kombinera detta med en manuell metod.

 

2. XRAY-undersökande app

Med XEA kan användarna skapa omfattande testplaner och enkelt registrera sina framsteg, vilket effektiviserar felrapporteringsfasen av utforskande testning.

Det här alternativet fokuserar helt och hållet på användarperspektivet och erbjuder en centraliserad resultathubb för att uppdatera andra testare.

XRAY har dock för närvarande ingen integrerad automatisering, vilket kan begränsa dess effektivitet på lång sikt.

 

3. Magnet för insekter

Bug Magnet är ett webbläsartillägg som erbjuder grundlig utforskande testning och gör det möjligt för testare att kontrollera kantfall och andra problematiska värden.

Det här tillägget ger också enkel integrering av blindtext, e-postadresser och flera teckenuppsättningar.

Detta är dock endast tillgängligt för Firefox- och Chrome-baserade webbläsare, vilket gör det till ett mindre mångsidigt val än sina konkurrenter.

 

4. Testplaner för Azure

Azure Test Plans är en viktig del av Microsofts Azure-plattform och gör det möjligt för testare att samla in omfattande data i många scenarier.

Det här alternativet är lämpligt för både skrivbords- och webbaserade applikationer och ger dessutom en spårbarhet från början till slut, vilket ger en tydlig dokumentation av programvarans utveckling.

Detta tillvägagångssätt kräver dock ofta en djupare integration med Azure, vilket innebär att flexibiliteten minskar.

 

5. Testiny

Testiny är specialiserat på manuell utforskande testning och erbjuder en smart editor som låter testare utforma kontroller med hjälp av en trädstruktur för maximal flexibilitet.

Varje ändring av en körning eller ett testfall finns kvar i applikationens historik för att säkerställa full ansvarsskyldighet och spårbarhet.

Detta är dock endast gratis för små team och projekt med öppen källkod.

 

När ska du använda verktyg för företagstester jämfört med gratis verktyg för utforskande tester?

 

Även om utforskande testning är en värdefull investering och premiumprogrammen vanligtvis erbjuder mer funktionalitet finns det många gratis alternativ som har mer än tillräckligt med funktioner.

Utforskande testning kan vara en betydande driftskostnad om du väljer en premiummodell, men inte alla programvaruutvecklingsföretag eller team har råd med detta. Det bästa valet av programvara från tredje part beror ofta på företagets specifika krav.

En betallösning kan vara det enda sättet att tillgodose projektets behov; teamet måste undersöka de olika alternativen innan de bestämmer sig för en applikation.

Företag med mindre team kan ha störst nytta av gratis testverktyg eftersom många av alternativen är gratis för ett begränsat antal användare.

Alternativt kan de välja alternativ utan denna begränsning och alternativ som kan anpassas till testgruppens skala. Detta kan göra det ännu mer lönsamt att para ihop testare för att säkerställa mer exakta resultat – teamet kommer naturligtvis att behöva färre användarprofiler.

Många tjänster erbjuder en gratis provversion av programvaran så att organisationer kan se om den uppfyller deras behov, men dessa provversioner varar vanligtvis bara i ett par veckor.

 

Checklista, tips och tricks för utforskande testning

 

Det finns många andra tips som testare kan ta hänsyn till när de börjar sina utforskande kontroller, bland annat:

 

1. Dela upp funktionerna och modulerna på lämpligt sätt.

För att undvika missförstånd bör testteamen göra en tydlig lista över varje funktion och de kontroller som de avser att utföra. Detta innebär också att man måste se till att testerna är tillräckligt spridda över programvarufunktionerna.

För bästa resultat är det viktigt att testteamet förhandlar om vilka medlemmar som ska utföra varje test baserat på deras respektive färdigheter och styrkor.

 

2. Arbeta för att förstå programvaran.

Inlärningsfasen är en kritisk del av den utforskande testningen. Detta innebär att testarna måste arbeta aktivt med programvaran och ta reda på hur den fungerar innan de utformar tester.

Att lära sig mer om hur programvaran fungerar kan vara en samarbetsprocess, vilket ger en ökad förståelse i hela teamet. Detta gör det möjligt för testarna att utveckla bättre kontroller och testfall.

 

3. Ta reda på problematiska områden.

Varje program har funktioner eller komponenter som korsar varandra. När programvaran blir mer komplex är det mer sannolikt att den utvecklar fel, vilket kan kräva mer testning. Teamet måste aktivt arbeta för att ta reda på vilka komponenter som behöver ytterligare hjälp.

De kan använda sig av särskilda testturer som bäst återspeglar applikationens behov och gruppens övergripande testprioriteringar.

 

4. Börja med grundläggande användarscenarier

Kvalitetssäkringsteam kan utföra utforskande tester i vilken ordning som helst, om det behövs, men det kan vara bättre att börja med enklare kontroller innan man går in på mer komplicerade funktioner.

Detta möjliggör en jämn utveckling av komplexiteten och ger testarna en chans att förstå programvaran. Det hjälper också att testa om de grundläggande funktionerna fungerar som förväntat.

 

5. Para ihop testare

Parvis utforskande testning både effektiviserar och validerar kvalitetssäkringsfasen, vilket gör att testarna kan arbeta med absolut förtroende för varje kontroll. Samarbete gör alla former av testning effektivare genom att varje gruppmedlem blir mer bekant med programvaran.

De kan också lämna felrapporter med mycket mer djupgående information på grund av deras individuella perspektiv, vilket ger utvecklarna mer information att arbeta med.

 

6. Kör flera tester

Teamets förmåga att testa en ansökan på nytt beror på tidsplanen och de tidsfrister de har framför sig. Men om det är möjligt kan det vara bra att dubbelkontrollera särskilt problematiska komponenter.

Dessutom kan upprepade tester verifiera att ett tidigare upptäckt problem nu är åtgärdat och inte kommer att påverka programvaran ytterligare. Denna noggrannhet är ibland nödvändig för att säkerställa att testningen är framgångsrik.

 

Slutsats

 

Utforskande testning har mycket att erbjuda programvaruutvecklingsföretag av alla slag och fungerar som ett komplement till testning med manus och många andra kontroller.

Med hjälp av utforskande testning kan kvalitetssäkringsteam testa applikationer enligt en högre standard, vilket förbättrar den slutliga programvarans kvalitet och hjälper utvecklarna att rätta till eventuella fel.

En kombination av manuell och automatiserad utforskande testning kan ge de största fördelarna, genom att alla programvarukomponenter uppmärksammas lika mycket.

Om ditt företag behöver en programvara för utforskande automatisering erbjuder ZAPTEST FREE Edition en mycket bredare och mer flexibel funktionalitet än andra premiumprogram, vilket gör att testare enkelt kan optimera dessa kontroller.

 

Vanliga frågor och resurser

 

1. De bästa kurserna om automatisering av utforskande test

 

Både nya och erfarna explorativa testare kan dra nytta av kurser för att förbättra sina färdigheter. Detta inkluderar att ta reda på hur man ska närma sig nya programvaror.

Användbara kurser som kan hjälpa dig med detta är bland annat:

– Udemy’s Complete 2023 Software Testing Bootcamp; här lär du dig bred programvarutestning på 28 timmar.

– Coveros Exploratory Testing; fokuserar på hur man utvecklar charters och tillämpar explorativa tester på API:er.

– Polteqs tvådagars utbildning i utforskande testning; denna utbildning handlar om hur utforskande testning fungerar i ett agilt sammanhang.

– LinkedIns Exploratory Testing; detta visar hur modern programvarutestning har omfamnat utforskande kontroller.

– Courseras Introduktion till mjukvarutestning; detta hjälper testare som är nybörjare att förstå de typiska förfarandena.

 

2. Vilka är de fem vanligaste intervjufrågorna om utforskande testning?

 

När du intervjuar för tjänster inom explorativ testning är det viktigt att de som anställer chefer ställer bra frågor för att korrekt bedöma kandidatens färdigheter och erfarenhet.

De fem viktigaste frågorna att ställa är:

– Vilka är de viktigaste skillnaderna mellan testning med manus och utforskande testning, inklusive deras lämplighet?

– Vilka utmaningar har du stött på som testare och hur har du övervunnit dem?

– Ge exempel på utforskande tester som skulle ha störst nytta av automatiserad robotprocess.

– Vad är enligt din åsikt den viktigaste kompetensen (teknisk eller annan) för en testare som arbetar med utforskande tester?

– Vilka råd skulle du ge till en testare som kämpar för att förstå programvaran och hur den ska kontrolleras?

 

3. De bästa YouTube-handledningarna om utforskande testning

 

Det finns många kostnadsfria handledningar på videodelningswebbplatser som YouTube, som kan hjälpa potentiella testare att förstå de centrala principerna. Vissa ingår i en serie, medan andra är enskilda videor som går djupt in i ämnet.

Bland de kanaler som erbjuder dessa handledningar finns följande:

– Testing Academy erbjuder hundratals videor som täcker alla aspekter av programvarutestning.

– Software Testing Mentor, som också erbjuder omfattande videor om grunderna för programvarutestning.

– QAFox, som också ger exempel från den verkliga världen och liveprojekt som kompletterar alla deras videor.

– SDET-QA Automation Techie, som har flera omfattande videor om olika testmetoder.

– GlitchITSystem, som undersöker olika webbplatser med utforskande testning för att försöka upptäcka fel.

 

4. Hur upprätthåller man utforskande tester?

 

Väl utförda utforskande tester innehåller stark dokumentation som utvecklare och framtida testare kan använda sig av i nyare iterationer av programvaran.

När en applikation uppdateras på ett betydande sätt blir det nödvändigt att testa dess primära funktioner på nytt för att säkerställa att dessa tillägg inte har någon negativ inverkan på redan befintliga funktioner.

Detta är det enda sättet att garantera att de experimentella testerna fortsätter att vara framgångsrika på lång sikt. Det hjälper också att ta hänsyn till framtida planer, t.ex. preliminära funktioner, när man utformar den ursprungliga ansökan och dess kontroller.

QA-personalen måste planera dessa tester på ett lämpligt sätt och ta reda på när programmet ska kontrolleras på nytt; automatiserade testverktyg kan hjälpa teamet med detta.

 

5. Är utforskande testning black-box-testning?

Utforskande testning liknar i hög grad black-box-testning, vilket innebär att man kontrollerar en applikation genom att titta på dess funktioner utan att direkt inspektera koden.

Det finns ingen uttrycklig gräns för vilka typer av kontroller som ingår i utforskande testning; detta tillvägagångssätt kan omfatta alla aspekter av programvaran, inklusive koden.

En av de viktigaste likheterna mellan dessa två testtyper är testarens brist på förkunskap. Black-box-testare är vanligtvis inte bekanta med programvaran innan de testar den, och explorativa testare lär sig hur programvaran fungerar som en del av sin första undersökning.

Även om utforskande testning i allmänhet inte alltid klassificeras som black-box-testning, är det sant att det finns en betydande mängd korsningar mellan dessa två metoder.

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