fbpx

Smoke testing är en process som används för att testa programvara för att avgöra om den distribuerade programvarubyggnaden är stabil eller inte.

När du röktestar programvara kör du en serie tester som är utformade för att bedöma var och en av programvarans kärnfunktioner.

Med hjälp av verktyg för rökprovning kan man kontrollera att de viktigaste funktionerna i programvaran fungerar. Det finns flera olika tillvägagångssätt för röktestning, och modern teknik gör automatiserad röktestning möjlig för de flesta programvarubyggnader.

I den här artikeln kommer vi att göra en djupdykning i rökprovning och gå igenom de typer, processer och tillvägagångssätt för rökprovning som mjukvarutestare använder. Vi kommer också att titta på moderna verktyg för rökprovning, inklusive automatiserad rökprovning.

I korthet får du lära dig allt du någonsin behöver veta om röktestning.

 

Vad är rökprovning inom programvaruteknik?

 

Smoke-testning är en process där man testar programvara för att se till att den uppfyller de grundläggande funktionalitets- och stabilitetskraven. Det är i huvudsak en typ av snabb regressionstestning i miniatyr som innebär att man testar de viktigaste funktionerna i programvaran för att se till att de fungerar på en grundläggande nivå.

Smoke testing är ett viktigt tidigt steg i kvalitetssäkringsprocessen eftersom det visar om teamet ska fortsätta med ytterligare testning eller skicka tillbaka produkten till utvecklarna omedelbart.

Om produkten inte klarar rökningstestet tyder det på att den ursprungliga byggnaden har betydande brister som måste åtgärdas innan ytterligare tester kan genomföras.

 

När behöver du göra röktester?

 

Vi röktestar programvaran när nya funktioner utvecklas och integreras i en befintlig version och innan den nya versionen distribueras till QA. Genom att utföra rökprov i detta skede förhindrar man att pengar och andra resurser slösas bort på kvalitetssäkringstestning av programvara med stora underliggande problem.

För att utföra ett QA-rökprov distribuerar utvecklingsteamet den nya programvarubyggnaden till QA och en delmängd testfall tas ut och körs på byggnaden. QA-teamet testar programmet med avseende på dess viktigaste funktioner. Om rökprovet är godkänt fortsätter kvalitetssäkringsteamet med funktionstestning, och om det misslyckas skickas byggnaden tillbaka till utvecklingsteamet för vidareutveckling.

Sådana här rökprovningar görs varje gång nya funktioner läggs till i en programvarubyggnad.

Det kan finnas andra tillfällen då kvalitetssäkringsteam ska röktesta programvara, t.ex:

● Innan du lägger in ny kod i ett arkiv
● Före en stor testserie inklusive regressions- och acceptanstestning.
● Efter att ha distribuerat en ny programvarubyggnad

Om du inte utför ett röktest vid dessa tillfällen kan du hitta stora fel i senare skeden av funktionstestningen, vilket kan påverka lanseringsdatumet för din nya build eller orsaka allvarligare störningar i din tidsplan.

 

När du inte behöver göra röktester

 

Det är viktigt att utföra rökprovning i programvarutestning när du gör ändringar i programkoden eller lägger till nya funktioner i ett bygge.

Det är också ett viktigt förberedande steg för funktionstestning eftersom det förhindrar att kvalitetssäkringsteam slösar bort sin tid på att testa programvara som inte är redo.

Om din programvara inte uppfyller dessa kriterier behöver du kanske inte utföra röktestning just nu … även om automatiserade verktyg för röktestning gör det enkelt och kostnadseffektivt att utföra regelbundna röktester för att se till att programvaran alltid fungerar som den ska.

 

Vem är inblandad i rökprovning?

 

Rökprovning utförs av QA-ingenjörer eller QA-ledaren; det är det första steget i QA-provning och utförs i en QA-miljö.

QA-teamet ansvarar för att testa programvarubygget och bedöma dess prestanda under olika förhållanden och påfrestningar. Under rökprovningen letar QA-ingenjörerna efter ”showstoppers”, dvs. fel som stoppar utvecklingen och måste åtgärdas innan testningen kan fortsätta.

När man jämför rökprov, sanity testing och regressionstestning är det viktigt att inte bara tänka på vad som testas utan också vem som utför testerna.

Smoke testing i programvarutestning görs alltid av QA-proffs. Detta skiljer rökprov från sanity testing, som är provning som utförs i utvecklingsmiljön och som vanligtvis inte involverar QA-teamet.

 

Livscykeln för rökprovning

 

Livscykeln för röktestning illustrerar var röktestning sker under produktutveckling och kvalitetssäkringstestning. Om du förstår varje steg i denna cykel kan du förstå hur rökprovningen passar in i testprocessen och skillnaderna mellan rökprovningen, sanity testing och regressionstestning.

 

1. Kod

Det första steget i ett programvarubygge är alltid att skriva och skapa kod. Koden är byggstenen i programvaran och utvecklingsteamet måste skriva koden innan den kan testas för stabilitet och funktionalitet.

 

2. Testning av enheter

Enhetstester utförs vanligtvis av utvecklare, även om QA-ingenjörer ibland också kan utföra en del enhetstester. Enhetstestning säkerställer att olika enheter eller delar av koden fungerar som förväntat innan enskilda enheter integreras tillsammans i en enda programvaruuppbyggnad.

Enhetstestning sker vanligtvis parallellt med utvecklingen, eftersom det visar på fel och brister i koden som kan åtgärdas snabbt.

 

3. Integrationstestning

Integrationstestning är processen för att testa hur enskilda enheter fungerar tillsammans när de integreras i en enda programvara.

Även om varje enskild enhet fungerar bra kan det ofta uppstå problem när dessa enheter integreras med varandra. Integrationstestning utförs vanligtvis av utvecklare, även om olika metoder för denna typ av testning innebär att den kan utföras i olika skeden av programvarutillverkningsprocessen.

 

4. Testning av sanitet

Sanity testing är en typ av regressionstestning, och det är vanligtvis den sista typen av regressionstestning som utförs. Det sker under utvecklingsfasen av byggandet, efter att eventuella fel som framkommit i regressionstestet har åtgärdats.

Sanity testing är vanligtvis mycket snabbt och syftar helt enkelt till att se till att programvaran fungerar smidigt och att eventuella fel som upptäcks har åtgärdats på lämpligt sätt.

Rök- och sanitetstestning förväxlas ibland, men det är viktigt att komma ihåg att sanitetstestning sker i utvecklingsmiljön medan röktestning sker i QA-miljön.

 

5. Rökprovning

Smoke-testning är det första steget i QA-testning och den första typen av test som utförs i en QA-miljö.

Smoke testing sker vanligtvis före sanity testing och regression testing, trots att det vanligtvis utförs av QA-teamen. Det är en snabb och enkel testprocess – och numera använder de flesta kvalitetssäkringsteam automatiserad rökprovning i programvarutestning – som avgör om byggnaden är stabil eller inte och om ytterligare tester ska köras eller inte.

Eftersom rökningstestning är det snabbaste och enklaste testet när man jämför rökningstestning med sanitetstestning och regressionstestning är det klokt att utföra detta först innan man går vidare till andra, mer komplexa tester.

 

6. Funktionell testning

Funktionell testning är nästa steg i livscykeln för programvarutestning och utförs i QA-miljön.

Funktionell testning testar varje funktion i en programvaruapplikation mot dess krav och fokuserar på funktioner, användbarhet, tillgänglighet och felförhållanden.

Funktionstestning kan påbörjas när rökprovet har godkänts.

 

Rökprovningstillämpningar på olika nivåer

Rökprovning kan tillämpas på tre olika provningsnivåer: rökprovning på acceptansnivå, rökprovning på systemnivå och rökprovning på integrationsnivå.

 

1. Nivå för acceptansprovning

Smoke-testning på acceptansnivå utförs vanligtvis när en programvarubyggnad släpps till QA. Den här typen av QA-rökprov kontrollerar helt enkelt den grundläggande funktionaliteten hos byggnaden och om den överensstämmer med den förväntade funktionaliteten.

 

2. Systemtestning

Smoke testing på systemnivå innebär att man testar de viktigaste arbetsflödena i systemet. Detta utförs efter att själva systemet har testats och innan ett fullständigt regressionstest av systemet utförs.

På systemnivå är automatiserad röktestning den vanligaste formen av röktestning.

 

3. Integrations testnivå

På integrationstestnivån säkerställer röktesterna att alla programvarans funktioner från början till slut fungerar som förväntat och att den grundläggande integrationen är funktionell.

Denna typ av rökprovning sker vanligtvis när enskilda moduler implementeras eller när flera moduler integreras i en enda programvarubyggnad.

 

Manuella respektive automatiserade röktester

 

När programvaruteam börjar utföra röktester måste de fatta ett beslut om de ska utföra manuella röktester eller automatiserade röktester.

Automatiserade röktester ger vanligtvis snabbare och mer kostnadseffektiva resultat, men de kan också ta tid att skapa och implementera. Många team börjar med att skapa manuella rökprov innan de överväger automatisering längre fram.

 

1. Manuell rökprovning

 

Manuella röktester är ganska enkla att utforma och kan vanligtvis utföras av icke-tekniska yrkesmän utanför kvalitetssäkrings- eller utvecklingsteamen. Detta innebär att manuella röktester ofta föredras i mindre företag som kanske inte har någon dedikerad QA-ansvarig.

När man utför manuell rökprovning är det viktigt att testa ett antal användningsfall som täcker tillräckligt många av programvarans kärnfunktioner utan att täcka så många att det tar för lång tid att utföra rökprovet. Det ideala antalet användningsfall anses vanligtvis vara mellan 20 och 50.

 

Fördelarna med att utföra rökprover manuellt

 

Det finns flera fördelar med att utföra manuella röktester i kvalitetssäkring jämfört med automatiserade röktester. Manuella röktester ger ofta mer detaljerade insikter i programvarans prestanda och funktionalitet jämfört med automatiserade tester.

 

Icke-ingenjörer kan utföra manuell testning

Medan automatiserad rökprovning vanligtvis kräver expertis av mjukvaruingenjörer och utvecklare för att kunna genomföras, kan manuella rökprover utföras av teammedlemmar med mindre specialkunskaper.

Detta är vanligtvis fördelaktigt i mindre team där resurserna redan är ansträngda och specialistpersonalens tid är mycket värdefull.

 

Du kan skapa ett anpassat röktest för varje jobb.

Om du vill försäkra dig om att ditt röktest täcker de viktigaste funktionerna i ett program och fokuserar på de funktioner som är viktigare för varje bygge, kan du skapa ett manuellt röktest så att testarna kan skräddarsy testet för varje projekt.

Manuella röktester som dessa kan ge mer användbara resultat jämfört med vissa automatiserade tester, men det innebär att de är extremt tidskrävande att sätta upp och köra.

 

Manuella tester avslöjar kvalitativa data

När du kör ett automatiserat röktest kan du förvänta dig att få kvantitativa data om vilka aspekter av testet som har godkänts och vilka som har misslyckats.

När teammedlemmar utför manuellt rökningstest kan de använda sin insikt, intuition och sitt omdöme för att bedöma inte bara om byggnaden godkänns eller misslyckas utan även hur och/eller varför.

 

Utmaningarna med manuell rökprovning

 

Det finns också många utmaningar med att utföra rökprovning manuellt, och det är därför många företag väljer att använda automatiserad rökprovning när det är möjligt.

Manuell rökprovning är grundlig men också mycket tidskrävande.

 

Manuella röktester tar tid

Manuella röktester tar betydligt längre tid att genomföra än automatiserade tester, och de kräver mycket mer av teamets uppmärksamhet.

Medan automatiserade tester helt enkelt kan köras i bakgrunden av sig själva, måste ditt team avsätta tid för att utföra ett manuellt röktest.

 

Manuella tester kan inte köras för ofta

Eftersom manuella röktester kräver mycket tid och resurser kan de inte utföras lika regelbundet som automatiserade röktester.

När man utför ett manuellt röktest måste mjukvarutestare avsätta timmar, upp till en halv dag, beroende på hur komplicerat testet är.

På så sätt kan man inte längre göra dagliga rökprovningar, vilket allmänt anses vara bästa praxis inom branschen.

 

Det finns alltid utrymme för fel

Eftersom det är människor som utför manuella tester finns det alltid en möjlighet att fel kan uppstå under manuella röktester.

Av denna anledning är manuell rökprovning vanligtvis inte lika omfattande som automatiserad testning, särskilt när det gäller att upptäcka subtila fel som är lättare att missa eller när man utför extremt repetitiva tester som kan få testare att tappa fokus under testningen.

 

När ska man använda manuell rökprovning?

 

Manuell rökprovning används oftast i mindre team som kanske inte har resurser att avvara ingenjörer för automatiserad rökprovning, eller i fall där ytterligare mänsklig insikt och bedömning önskas eller behövs.

Av denna anledning genomförs manuell rökprovning ofta i rökprovning på integrationsnivå.

 

2. Automatiserad rökprovning

 

Automatiserad rökprovning kan implementeras av mjukvaruingenjörer som har de kodningsfärdigheter som krävs för att skapa och köra en serie relevanta användningsfall för varje mjukvarubyggnad.

Automatiserad röktestning är mycket snabbare än manuell testning och tar vanligtvis inte längre tid än 30-60 minuter, och den kan utföras i bakgrunden medan alla medlemmar i utvecklings- och kvalitetssäkringsteamet fortsätter sina dagliga uppgifter.

Därför har automatiserad rökprovning blivit vanlig inom mjukvaruindustrin i takt med att fler och fler företag försöker förbättra effektiviteten på arbetsplatsen.

 

Fördelarna med automatisering av röktest

 

Automatisering av rökningstester erbjuder många fördelar för de företag som har tid och resurser att implementera dem. Det är snabbt och effektivt, och eftersom automatiserade tester inte innebär någon stress för team och resurser kan de utföras regelbundet även inom små företag.

 

Automatiserad testning är snabb

Automatiserad rökprovning är mycket snabbare än manuell testning, och de flesta automatiserade tester tar högst 30-60 minuter att genomföra.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Manuella tester kan ta flera timmar i jämförelse.

Automatiserade röktester kräver minimala resurser och när de väl är implementerade är de mycket lätta att köra.

 

Automatisering gör dagliga röktester möjliga

Enligt bästa praxis i branschen är dagliga röktester idealiska, särskilt när man arbetar med mjukvara som ständigt förändras.

Manuella röktester är för tidskrävande att köra dagligen, men automatiserade röktester är lätta att utföra i början av varje arbetsdag.

 

Automatisering eliminerar mänskliga fel

Automatiserade tester körs från skript som är förberedda i förväg och skapade enligt mycket krävande standarder. Detta innebär att risken för att ett automatiserat test ska missa ett stort fel eller en viktig fråga är mycket liten.

 

Automatisering kan imitera belastnings- och prestandatester

Last- och prestandatester bedömer hur väl en applikation fungerar när många användare använder den samtidigt. Automatiserad rökprovning kan efterlikna den extra belastningen från flera användare på ett sätt som manuell testning inte kan göra och ge ett extra lager av data om programvarans prestanda under vissa förhållanden.

 

Utmaningarna med automatisering av röktester

 

Automatisering av röktester är inte utan utmaningar. Det kan vara mer tids- och resurskrävande att implementera automatiserad rökningstestning, särskilt i mindre team med färre ingenjörer till sitt förfogande.

 

Tekniska krav

Automatiserade röktester kräver mer teknisk kunskap och färdigheter i kodning än manuella röktester. Programvaruingenjörer måste ha tid och kunskap för att veta hur man skapar automatiserade tester innan dessa kan implementeras, och inte alla team har nödvändigtvis resurser för att göra detta.

 

Brist på mänsklig insikt

Automatiseringstestning ger en helhetsbild av en programvaruapplikations funktionalitet, och när man utför ett automatiserat rökprov får programvarutestare en inblick i programvarans grundläggande funktioner, vilket är det yttersta syftet med ett rökprov.

Automatiserade tester ger dock ingen inblick i mer subjektiva aspekter av programvarans prestanda, t.ex. användbarhet och tillgänglighet.

 

När ska man implementera automatisering av rökprov?

 

Automatisering används ofta vid rökprovning eftersom syftet med rökprovning helt enkelt är att kontrollera grundläggande funktionalitet, vilket är något som automatiserad testning är relativt bra på.

Grupper med tillräcklig teknisk kompetens för att genomföra automatiserad röktestning har troligen tid och resurser att investera i denna process, och större och mer etablerade företag kommer troligen att känna större press på att uppfylla standarderna för bästa praxis för daglig röktestning.

 

Automatisering av röktest och manuell röktestning

 

Det finns inget rätt eller fel sätt att utföra rökprovningen, och det som fungerar bra för ett team kanske inte fungerar bra för ett annat.

Innan man utför ett röktest bör programvaruteam överväga sina mål, resurser och långsiktiga projektplaner. Processen med manuell testning av programvara kan vara lärorik för unga yrkesverksamma som är nya inom kvalitetssäkring, men för mer etablerade team finns det sällan någon fördel med att välja manuell testning framför automatiserad testning.

 

Hybridrökprovningar

 

Det tredje alternativet för team som inte kan välja mellan manuell och automatiserad rökprovning och sanity testing är att välja hybridprovning.

Hybridtestning kombinerar aspekter av både manuell och automatiserad rökningstestning för att öka testens övergripande prestanda och effektivitet. När hybridmetoden för rökprovning används kan större delen av provningen vara automatiserad, men vissa delar kan utföras manuellt. På så sätt kan teamet fokusera mer på de aspekter av byggnaden som behöver det, samtidigt som den totala tidsåtgången för röktestet hålls nere.

 

Typer av rökprovning

 

Rökprovning kan i stort sett delas in i två kategorier, formell och informell rökprovning. Om rökningstestning är formell eller informell beror på om den initieras formellt av QA-ledaren eller om den helt enkelt utförs som en del av utvecklingen.

 

1. Formella rökprovningar

I ett formellt röktest överlämnar programvaruutvecklarna programvarubygget till QA-ingenjören eller QA-ledaren för formell testning. QA-ledaren tilldelar testarna uppgiften att utföra rökprovningen och ber dem utföra rökprovningen antingen med hjälp av verktyg för rökprovning, t.ex. automatisering, eller manuellt.

När de utför formella röktester sammanställer QA-testarna testresultaten i en formell rapport som kan analyseras av QA-chefen.

Formella röktester utförs vid viktiga punkter under programvarutillverkningsprocessen, till exempel innan funktionstestning av nya funktioner utförs.

 

2. Informella röktester

Informella röktester är röktester som utförs på en programvarubyggnad under utvecklings- eller kvalitetssäkringsprocessen och som inte formellt rapporteras eller krävs av kvalitetssäkringsansvarig.

Dagliga röktester, som många programvaruteam utför som en del av protokollet, är ett exempel på informella röktester.

Informella tester kan utföras ad hoc när kvalitetssäkringsingenjörer anser att det kan vara användbart.

 

Vad du behöver för att börja testa rökning

 

Innan du kan börja testa rökning i programvarutestning är det viktigt att samla ihop allt du behöver, inklusive datafiler och kompetens inom din organisation.

Vad du behöver för att utföra ditt röktest beror på om du planerar att utföra automatiserat eller manuellt röktest och vilka testverktyg du använder för att underlätta processen.

 

1. En förteckning över testfall.

Innan du påbörjar ett röktest behöver du en omfattande lista över alla testfall som du vill att röktestet ska utvärdera.

Testfall är enskilda uppsättningar av åtgärder som du vill testa för att bedöma om resultatet av dessa åtgärder överensstämmer med de resultat som du förväntar dig.

Ett mycket enkelt testfall kan till exempel vara att programmet laddar den huvudsakliga instrumentpanelen när du öppnar programmet.

 

2. Testfiler

Innan du kan köra ditt röktest måste du samla ihop alla testfiler som du ska köra röktestet på. Du kanske kan använda kommandoraden i det program för röktestning som du använder för att samla alla dina filer på ett ställe.

Hur du samlar ihop dina filer och var du lagrar dem beror på hur din organisation fungerar.

 

3. Verktyg för rökprovning

Du kan utföra ett grundläggande röktest utan att använda några särskilda verktyg, men om du använder verktyg för röktestning kan du förbättra resultatens noggrannhet och påskynda processen för röktestning.

Undersök först verktyg för röktestning på nätet och välj den programvara som automatiserar eller optimerar ditt röktest i förhållande till dina särskilda behov och din budget.

 

Processen för rökprovning

 

Det bästa sättet att utföra ett röktest varierar mellan olika organisationer, och om du är nybörjare inom röktestning kanske du vill experimentera med olika tillvägagångssätt för att se vad som fungerar bäst för ditt team.

Nedan följer ett exempel på hur man utför ett grundläggande röktest för att bedöma kärnfunktionerna i programvaran.

 

Steg 1: Välj dina testfall

Det första steget för att utföra ett röktest är att välja vilka testfall du ska köra röktestet på.

När programvaruingenjörer och kvalitetssäkringsingenjörer utformar ett röktest bör de överväga vilka programfunktioner som är mest kritiska för programvaran och hur dessa funktioner bäst kan testas. Slösa inte tid på att testa funktioner som inte är viktiga för programvarans funktion.

 

Steg 2: Bygg upp rökprov

När du har identifierat de testfall du ska använda kan du skriva testskript för att testa dem. Använd ett enda skript för röktester för att öka flexibiliteten när du kör testet.

Om du väljer att automatisera rökprovningen behöver du inte alltid skriva manuella testskript varje gång du vill köra ett rökprov. Du kan använda automatiserade programvarutestningsprogram för att automatisera sådana här skript.

 

Steg 3: Kör rökprov

När du har skapat dina rökprovningsskript kan du köra dem på din build för att leta efter buggar och andra större fel. Detta bör inte ta mer än 30-60 minuter, och när testerna är klara kan du bedöma resultaten för att bestämma nästa steg.

 

Steg 4: Rätta till eventuella buggar

Syftet med rökprovning vid programvaruutveckling är att identifiera eventuella större fel eller problem innan fullständig QA-testning påbörjas.

Om dina röktester avslöjar några betydande problem som stör kärnfunktionerna i programvarubygget är det viktigt att skicka tillbaka programvaran och din analys till utvecklingsteamet för att åtgärda fel innan du fortsätter med kvalitetssäkringen.

 

Bästa praxis för rökprovning

 

Smoke testing är ett pålitligt sätt att identifiera större fel i programvarubyggnader i alla utvecklingsstadier. Att följa branschens bästa praxis är det bästa sättet att se till att dina röktester är effektiva, korrekta och produktiva.

 

1. Kör ofta röktester

Det är inte alltid möjligt att köra röktester varje dag, särskilt om du kör manuella tester snarare än automatiserade röktester.

Kör rökningstester så ofta du kan och varje gång du genomför ändringar i programvaran. När du kan göra det är det bästa sättet att köra dagliga röktester.

 

2. Hoppa aldrig över teststadier.

Om du har bråttom kan det vara frestande att hoppa över några av testfaserna för att komma snabbare framåt i utvecklingsprocessen, men både rök- och regressionstester är viktiga för att hålla utvecklingen på rätt spår.

Testa alltid dina builds med rök- och sanitetstester innan du går vidare till nästa steg.

 

3. Testa varje ändring

Det finns ingen enda tillämpning för röktestning. Du kan och bör använda rökprov för att testa varje ändring som du gör i en programvaruuppbyggnad och för att testa din programvara mellan olika utvecklingsstadier.

Smoke-tester bör vara föregångaren till integrationstestning, prestandatestning och funktionstestning.

 

4. Spåra dina testresultat

Det är standard att testa resultaten av ett formellt röktest, men även när ingenjörer utför informella röktester bör de föra någon form av protokoll över resultaten.

Detta gör det lättare att skicka tillbaka resultaten till utvecklarna och hålla reda på vilka funktioner som inte klarar testet.

 

5. Kör ditt röktest två gånger

Att köra ditt röktest två gånger kan verka överdrivet, men om du verkligen vill fånga upp alla fel under testet är det bäst att köra det två gånger.

Detta garanterar att ditt röktest har alla möjligheter att fånga upp större fel och problem som kan orsaka ytterligare problem om de inte åtgärdas omedelbart.

 

6. Välj rätt typ av röktest

Om du ska använda manuell eller automatiserad rökprovning beror på teamets storlek och behov. Se till att du väljer den bästa testtypen för ditt projekt för att optimera effektiviteten utan att kompromissa med resultatens noggrannhet.

 

Typer av resultat från ett rökprov

När du utför ett röktest kan du förvänta dig att röktestet ska resultera i ett av två olika resultat för varje testfall som du bedömer: godkänt eller underkänt.

1. Passa

Ett möjligt resultat för varje testfall som du kör är att röktestet godkänns. Detta innebär att det faktiska resultatet av testet överensstämmer med det förväntade resultatet av testet.

Om du t.ex. kör ett test om vad som händer när du laddar programmet och det laddas till den skärm som ska öppnas vid laddning, ska skriptet visa detta som ett godkänt resultat.

2. Underkänns

Om ditt röktest misslyckas för ett visst testfall betyder det vanligtvis att det faktiska resultatet av testet inte överensstämde med det förväntade resultatet av testet.

Om du t.ex. testar ett shoppingprogram och ett av de testfall som du kör testar funktionaliteten för att lägga till varor i din varukorg, misslyckas testet om de varor som du lägger till i din varukorg inte visas i din varukorg på det sätt som du förväntar dig.

 

Exempel på testfall för rökprovning

När du försöker komma på vilka testfall som ska ingå i ditt röktest, skriv en lista över programvarans kärnfunktioner och fundera över vilka av dem som är viktiga för att köra och använda programvaran.

Några exempel på testfall för rökprovning kan hjälpa dig att avgöra vilka testfall du ska använda i din egen rökprovning.

 

1. Validering av inloggningsuppgifter

Om ditt program kräver att användarna loggar in vill du kanske skapa ett testfall som kontrollerar om processen för validering av inloggningsuppgifter fungerar som den ska.

Skapa ett skript som automatiserar inloggningen, kör testet och kontrollerar resultaten. Om programvaran loggar in som förväntat, godkänns detta rökprov.

 

2. Skapa ett nytt dokument

Du kan skapa ett testfall för att bedöma om din programvara tillåter användare att skapa ett nytt dokument på rätt sätt. Skapa ett skript som automatiserar skapande, namngivning och sparande av dokument i din programvara och kör det.

Alla större problem som uppstår och hindrar denna process innebär att rökprovet misslyckas.

 

3. Logga ut

Om din applikation har en inloggningsfunktion bör den också ha en utloggningsfunktion. Kör ett skript för att testa vad som händer när användare klickar på ”logga ut”.

Om användaren inte kan logga ut när han eller hon klickar på denna knapp misslyckas röktestet.

 

Typer av fel och buggar som upptäcks genom rökprovning

 

Smoke-tester kan hjälpa dig att identifiera fel och buggar som stör programvarans kärnfunktionalitet. Beroende på när du kör ditt röktest och vad du vill kontrollera kan du hitta olika typer av fel och buggar genom röktestning.

 

1. Funktionsfel

Funktionsfel är fel som uppstår när programvaran inte beter sig som du förväntar dig att den ska göra eller när den inte fungerar som den ska.

De flesta testfall som du kommer att använda röktester för att kontrollera är funktionella tester, och därför är det troligt att funktionella fel identifieras av röktester som dessa.

 

2. Logiska fel

Logikfel är brister i kodens logik och kan också leda till att programvaran beter sig felaktigt. Logikfel kan leda till att åtgärder ger felaktiga resultat eller till och med orsaka programvarukrascher.

Ett vanligt logiskt fel är den oändliga slingan, som gör att programvaran upprepar samma åtgärder om och om igen tills den kraschar.

 

3. Integrationsfel

Om du kör ett rökprov på integrationsnivå kan du hitta integrationsfel under testet. Dessa uppstår när två separata uppsättningar kod inte integreras felfritt med varandra. De kan orsakas av ett stort antal kompatibilitetsproblem i koden och kan kräva komplexa lösningar för att åtgärdas.

 

Vanliga mätvärden för rökprovning

 

När QA-teamen utför ett röktest kan de använda mätvärden för att bedöma resultaten av ett röktest och avgöra om testet har godkänts eller misslyckats.

Förutom att undersöka om programvaran klarar av att utföra sina kärnfunktioner korrekt, kan rökprovningsmått bland annat bedöma programvarans hastighet och laddningstider.

 

1. Programvarans hastighet

Smoke-tester kan användas för att kontrollera att programvarans hastighet och laddningstider uppfyller vissa kriterier som anges i enskilda testfall.

Om du till exempel testar hur programvaran beter sig när du laddar programmet och programmet laddas som förväntat men det tar två minuter att starta upp, kan du markera detta som ett misslyckande eftersom det inte uppfyller den förväntade laddningstiden.

 

2. Tillförlitlighet

Genom att köra ett rökprov två gånger kan du också testa programvarans tillförlitlighet. Om vissa testfall klarar sig en gång, men misslyckas en gång, tyder det på att något fel i koden orsakar fel som kanske inte inträffar varje gång programvaran används, men som ändå kan orsaka allvarliga problem för användarna.

 

De bästa kostnadsfria verktygen för röktestning

Verktyg för röktestning kan hjälpa dig att utföra röktester effektivare och snabbare för att du ska få ut det mesta av dina röktester.

Nedan följer några av de bästa verktygen för röktestning som finns tillgängliga utan kostnad idag.

 

De 5 bästa gratis verktygen för rökprovning

1. ZAPTEST FREE edition

ZAPTEST är ett kostnadsfritt verktyg som gör det möjligt för användare att automatisera programvarutestning och RPA utan att betala ett öre.

Du kan använda ZAPTEST FREE edition för att utföra enkla röktester på flera plattformar, inklusive mobil, webb, API och LOAD-plattformar.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Om du vill prova automatiserad röktestning kan ZAPTEST gratisutgåva hjälpa dig att se fördelarna med automatisering. Det är också lätt att använda även om du inte har en teknisk bakgrund, eftersom det har ett kodlöst gränssnitt och utnyttjar den senaste tekniken för datorseende.

Viktigast av allt är att ZAPTEST FREE är väl…. gratis för alltid! Däremot har många verktyg för röktestning och allmän programvaruautomatisering en inledande testperiod, varefter du måste betala en abonnemangsavgift.

 

2. Selen

Selenium är ett gratis verktyg med öppen källkod som du kan använda för att köra olika typer av tester av din programvara, inklusive rök- och regressionstester. Det fungerar med många olika programmeringsspråk och är särskilt bra för att testa webbapplikationer.

 

3. Appium

Om du vill utföra rök- och sanitetstester på mobilappar är Appium ett bättre val än Selenium. Appium är enkelt att installera och använda och kan användas för att utföra enkla rökningstester på appar som utvecklats för både iOS och Android.

 

4. Testlink

Testlink är ett gratis, webbaserat förvaltningsverktyg som gör det möjligt för användare att utarbeta testplaner och testfall inom en enda strukturerad ram. Testlink kan hjälpa dig att planera dina rökningstester samt beskriva dina förväntningar och mätvärden innan du börjar med rökningstesterna.

 

5. QA Wolf

QA Wolf är ett kostnadsfritt, heltäckande testverktyg som gör det möjligt för användare att skapa ett automatiserat QA-rökprov tillsammans med andra funktionella tester. QA Wolf kan användas även av personer som inte har några tekniska färdigheter eller kodningskunskaper, vilket innebär att det är en bra introduktion till testautomatisering för de flesta QA-team.

 

De bästa verktygen för rökprovning i företag

 

Om du är beredd att investera lite pengar i dina verktyg för rökprovning kan du köpa företagsverktyg som har mer omfattande funktioner för rökprovning och mer ingående resultat.

Nedan följer en lista över fem av de bästa automatiseringsverktygen för rökkontroller för företag på marknaden.

 

De 5 bästa verktygen för automatisering av rökprov för företag

 

1. ZAPTEST ENTERPRISE utgåva

ZAPTEST ENTERPRISE edition är en svit för mjukvarutestning och RPA som kan automatisera alla typer av test, inklusive rökningstestning.

Gratisversionen är lämplig för mindre företag som vill veta vad ZAPTEST kan göra, men om du letar efter en betallösning som är lätt att använda och lämplig för testning av alla program eller appar, på alla plattformar, webbläsare eller enheter, OCH med 1SCRIPT-implementering på alla dessa, är ZAPTEST ENTERPRISE ett bra ställe att börja.

 

2. SoapUI

SoapUI är ett testverktyg för företag som gör det enkelt att hantera och utföra QA-tester från början till slut för programvara. Det är ett relativt enkelt verktyg att installera, men det har sina begränsningar, vilket återspeglas i deras prissättning.

 

3. Testim

Testim är ett kostnadsfritt verktyg för rökprov som använder AI för att skapa kodlösa tester som utvärderar funktionaliteten hos din programvara. Testims Javascript API kan användas för att omarbeta, anpassa och felsöka tester.

 

4. T-plan robot

T-Plan Robot är ett testverktyg för företag som QA-ingenjörer kan använda för att automatisera skriptbaserade användaråtgärder och Robotic Process Automation (RPA) på Windows, Mac, Linux och mobiler. Du kan använda T-Plan Robot för att automatisera röktester för en rad olika applikationer och skapa automatiserade skript som kan köras vid viktiga punkter under utvecklingen.

 

5. Regnskogens kvalitetssäkring

Rainforest QA är ett verktyg för kvalitetssäkringstester som gör det möjligt för användare att hantera och genomföra både manuella och automatiserade tester från en enda instrumentpanel. Detta gör den idealisk för organisationer som vill prova hybridmetoden, och den är lämplig för ett stort antal plattformar, inklusive molnbaserade applikationer, Windows och Mac.

 

När ska du använda verktyg för företagstestning respektive gratis verktyg för rökprovning?

 

Verktyg för företagstestning och gratis rökningstestning kan uppfylla liknande behov på lite olika sätt. Vanligtvis fungerar gratis verktyg som en utmärkt inkörsport för organisationer som är bekväma med manuell rökningstestning men som vill utforska automatiserad rökningstestning mer i detalj.

De kan också vara mer lämpliga för mycket små nystartade företag där pengarna för betalda verktyg helt enkelt inte finns där ännu.

Testverktyg för företag blir vanligtvis ett mer gångbart alternativ när företag expanderar. De erbjuder ett antal fördelar jämfört med gratis verktyg, vanligtvis mer flexibilitet, bättre support och mer användarvänliga gränssnitt som gör det enkelt för även icke-tekniska yrkesverksamma att utföra automatiserade röktester.

 

Checklista för rökprovning

 

Innan ett rökningstest påbörjas kan QA-teamet för programvara använda den här checklistan för att se till att de täcker alla steg i rökningstestningsprocessen.

● Identifiera de verktyg för röktestning som du kommer att använda.
● Välj om du ska skapa ett manuellt eller automatiserat test.
● Välj de testfall som du vill testa.
● Skapa testskript för varje fall
● Identifiera kraven för att klara varje testfall.
● Kör dina röktester
● Analysera resultaten
● Återkoppling till utveckling och kvalitetssäkring

 

Slutsats

 

Smoke-testning är ett viktigt steg i programvaruutveckling och kvalitetssäkring. Det säkerställer att en produkt är funktionell innan ytterligare testning äger rum, vilket förhindrar risken för att QA-team slösar tid och resurser på att utföra intensiva funktionella tester på builds som ännu inte är stabila.

Smoke testing är en relativt snabb och enkel process som bör utföras av programvaruteam så ofta som möjligt.

I takt med att företag strävar efter att uppnå optimal effektivitet genom att använda avancerade verktyg som stöder hyperautomatisering, RPA och andra relaterade tekniker, blir automatiserad rökprovning allt vanligare i organisationer av alla storlekar.

Både manuella och automatiserade rökprovningar har fortfarande en plats i moderna QA-miljöer, men i takt med att automatiserade provningar blir vanligare råder det ingen tvekan om att de kommer att bli normen.

 

Vanliga frågor och resurser

 

Vilka är de bästa kurserna om automatisering av röktester?

 

Om du vill lära dig mer om automatisering av röktester kan du ta några exempel på onlinekurser:

● Coursera-kurser i röktestning
● Udemy-kurser i röktestning
● Skillshare-kurser i röktestning

En av de bästa kurserna för nybörjare är Certified Tester ISTQB Foundation Level (CTFL), som finns på Udemy.

Var och en av dessa online-resurser erbjuder kurser i röktestning för elever med olika förutsättningar, och det kan vara möjligt att ta både gratis och betalda kurser på dessa webbplatser.

Om du vill bli certifierad bör du söka efter kurser som är ackrediterade av CAST.

 

Vilka är de bästa böckerna om röktestning?

 

Om du vill veta mer om rökprovning kan du läsa böcker om programvarutestning och rökprovning för att utveckla din förståelse för tillvägagångssättet och fördelarna med rökprovning. Några av de bästa böckerna om röktestning är:

● The Art of Software Testing, av Glenford J Myers, Tom Badgett och Corey Sandler
● Mjukvarutestning, av Ron Patton
● Software Test Automation, av Mark Fewster och Dorothy Graham

Det finns dock många fantastiska böcker om programvarutestning som kan hjälpa dig att förstå mer om hur, varför och vad testning innebär.

Välj en bok som tilltalar dig och som går närmare in på de ämnen som intresserar dig mest.

 

Vilka är de fem vanligaste intervjufrågorna om röktestning?

 

Om du funderar på att intervjua för en tjänst som kan innebära rökprov, förbered dig inför intervjun genom att förbereda dina svar på vanliga intervjufrågor, t.ex:

● När är rätt tidpunkt för att utföra rökprovning?
● Hur bestämmer du vilka testfall som ska användas i ett rökprov?
● Hur skiljer sig rökprovning från andra typer av provning, t.ex. sanity testing?
● Hur mycket kunskap om kodning krävs för att utföra röktester?
● Vad skulle du göra om rökprovet misslyckas?

 

Vilka är de bästa YouTube-handledningarna om röktestning?

 

Om du är en visuell elev kan du använda dessa YouTube-videor för att lära dig mer om rökprovning:

Edureka handledning i röktestning
Vad är röktestning?
Rökprovning kontra sanitetsprovning

 

Hur upprätthåller man röktester?

 

Underhåll av rökprov handlar om att se till att de rökprov som du skapar förblir friska och relevanta när ditt programvaruutvecklingsprojekt fortsätter.

Utför dagligen rökprov och skapa nya testfall när det behövs.

Du kan också maximera fördelarna med dina röktester genom att arbeta nära de utvecklare vars bidrag inte lyckas förbättra kvaliteten på deras kod.

 

Vad är rökprovning inom programvaruteknik?

 

Smoke-testning inom programvaruteknik kallas också för testning av byggverifiering och är ett enkelt och snabbt test för att säkerställa att en programvarubyggnad är stabil.

Smoke-testning används för att testa kärnfunktionerna i en build och fungerar som ett preliminärt test innan ytterligare QA-testning äger rum.

 

Rökprovning kontra sanitetsprovning

 

Smoke- och sanity-testning är båda typer av testning som innebär snabb testning av kärnfunktionerna i en programvarubyggnad eller produkt.

Medan rökprovning testar om programvarans kärnfunktioner uppförde sig som förväntat, används sanity testing vanligtvis för att kontrollera om felrättningar har åtgärdat identifierade problem.

Smoke testing är en mer formell och dokumenterad process som vanligtvis utförs innan ett bygge verifieras som stabilt, medan sanity testing är en informell typ av test som kan utföras som en del av regressionstestning på relativt stabila byggen.

 

Rökprovning kontra regressionsprovning

 

Smoke- och regressionstestning är båda typer av testning som kontrollerar om programvaran fortfarande fungerar som den ska efter att nya ändringar har gjorts.

Rökprovning är dock en relativt snabb och lågintensiv typ av provning som bara kontrollerar kärnfunktioner och säkerställer att programvaran är stabil.

Regressionstestning är ett test på djupare nivå som tar mycket längre tid och bedömer byggnaden mer ingående.

 

Rökprovning vs. sanity testing vs. regressionstestning

 

När du jämför rök- och sanitetstestning med regressionstestning är det viktigt att förstå att alla tre typerna av test är nödvändiga för god programvaruutveckling och kvalitetssäkring.

Smoke testing och sanity testing är ett snabbt sätt att kontrollera om programvaran fungerar normalt, medan regressionstester ger en djupare inblick i hur produkten fungerar.

QA-teamen röktestar först programvaran, och om programvaran klarar denna kontroll kan sanitetstestning och senare regressionstestning äga rum.

Det blir allt vanligare med automatiserad rökprovning med hjälp av verktyg för rökprovning, men vissa typer av testning, t.ex. regressionstestning, kan ännu inte automatiseras helt och hållet på grund av testets komplexa karaktär.

Om du letar efter verktyg för att utföra tester på Windows-plattformar, iOS, Android, UI-tester, Linux och många fler, ladda ner ZAPTEST GRATIS!

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