Smoke-test er en proces, der bruges til at teste software for at afgøre, om det distribuerede software build er stabilt eller ej.
Når du røgtester software, kører du en række tests, der er designet til at vurdere hver enkelt af softwarens kernefunktioner.
Værktøjer til røgtestning kontrollerer, at de vigtigste funktioner i softwaren fungerer. Der findes flere forskellige tilgange til røgtestning, og moderne teknologi gør det muligt at automatisere røgtestning for de fleste software builds.
I denne artikel vil vi dykke dybt ned i røgtestning for at gennemgå de typer, processer og tilgange til røgtestning, som softwaretestere bruger. Vi vil også se på moderne værktøjer til røgtestning, herunder automatisering af røgtestning.
Kort sagt lærer du alt, hvad du nogensinde har brug for at vide om røgtestning.
Hvad er røgtestning inden for softwareudvikling?
Smoke-testning er en proces, hvor man tester software for at sikre, at den opfylder de grundlæggende krav til funktionalitet og stabilitet. Det er i bund og grund en type miniature, hurtig regressionstest, der involverer test af de vigtigste funktioner i softwaren for at sikre, at de fungerer på et grundlæggende niveau.
Smoke-testning er et vigtigt tidligt trin i QA-processen, fordi det viser, om teamet skal fortsætte med yderligere testning eller sende produktet tilbage til udviklerne med det samme.
Hvis produktet ikke består røgtesten, er det et tegn på, at det oprindelige build har væsentlige fejl, som skal afhjælpes, før yderligere testning kan finde sted.
Hvornår skal du lave røgtest?
Vi røgtester software, når nye funktioner udvikles og integreres i et eksisterende build, og før det nye build sendes til QA. Ved at udføre røgtestning på dette tidspunkt kan man undgå at spilde penge og andre ressourcer på QA-testning af software med større underliggende problemer.
For at udføre en QA-røgtest implementerer udviklingsteamet det nye software build i QA, og en delmængde af testcases tages og køres på buildet. QA-teamet tester applikationen i forhold til dens vigtigste funktioner. Hvis røgtesten er godkendt, fortsætter QA-teamet med funktionel testning, og hvis den ikke er godkendt, sendes buildet tilbage til udviklingsteamet med henblik på videreudvikling.
Smoke-testning som denne finder sted hver gang der tilføjes nye funktioner til et software build.
Der kan være andre tilfælde, hvor QA-teams skal røgteste software, f.eks:
● Før du overfører ny kode til et repository
● Før en stor testserie, herunder regressions- og accepttest
● Efter implementering af et nyt software build
Hvis du ikke udfører en røgtest på disse punkter, kan du ende med at finde større fejl på senere stadier af funktionalitetstesten, hvilket kan påvirke udgivelsesdatoen for dit nye build eller forårsage mere alvorlige forstyrrelser i din tidsplan.
Når du ikke behøver at foretage røgtestning
Det er vigtigt at udføre røgtest i forbindelse med softwaretest, når du foretager ændringer i softwarekoden eller tilføjer nye funktioner til et build.
Det er også et vigtigt forberedende skridt til funktionalitetstestning, fordi det forhindrer QA-teams i at spilde deres tid på at teste software, der ikke er klar.
Hvis din software ikke opfylder disse kriterier, behøver du måske ikke udføre røgtest på nuværende tidspunkt … selv om automatiserede røgtestværktøjer gør det nemt og omkostningseffektivt at udføre regelmæssige røgtest for at sikre, at softwaren altid fungerer korrekt.
Hvem er involveret i røgtestning
Smoke-testning udføres af QA-ingeniører eller QA-chefen; det er første fase af QA-testning, og den udføres i et QA-miljø.
QA-teamet er ansvarligt for at teste softwarebygningen og vurdere dens ydeevne under en række forskellige betingelser og belastninger. Under røgtesten leder QA-ingeniørerne efter “showstoppers”, dvs. fejl, der stopper udviklingen og skal rettes, før testen kan fortsætte.
Når du sammenligner røgtestning vs. sanity testing vs. regressionstest, er det vigtigt ikke kun at overveje, hvad der testes, men også hvem der udfører testene.
Smoke-testning i softwaretestning udføres altid af QA-fagfolk. Dette adskiller røgtestning fra sanity testing, som er testning udført i udviklingsmiljøet og normalt ikke involverer QA-teamet.
Røgtestens livscyklus
Livscyklussen for røgtest illustrerer, hvor røgtest finder sted under produktudvikling og kvalitetssikringstestning. Hvis du forstår de enkelte faser i denne cyklus, kan du få mere viden om, hvordan røgtestning passer ind i testforløbet, og om forskellene mellem røgtestning, sanity testing og regressionstest.
1. Kode
Den første fase af enhver softwareopbygning er altid at skrive og skabe kode. Kode er byggestenene i enhver software, og udviklingsteamet skal skrive koden, før den kan testes for stabilitet og funktionalitet.
2. Test af enheder
Unit-testning udføres normalt af udviklere, men nogle gange kan QA-ingeniører også udføre en del unit-testning. Enhedstest sikrer, at forskellige enheder eller elementer af kode fungerer som forventet, før de enkelte enheder integreres sammen i et enkelt software build.
Test af enheder sker normalt sideløbende med udviklingen, fordi det fremhæver fejl og mangler i koden, som kan rettes hurtigt.
3. Integrationstest
Integrationstest er processen med at teste, hvordan de enkelte enheder fungerer sammen, når de integreres i et enkelt stykke software.
Selv om hver enkelt separat enhed fungerer godt, kan der ofte opstå problemer, når disse enheder integreres med hinanden. Integrationstest udføres normalt af udviklere, selv om forskellige tilgange til denne type test betyder, at den kan udføres på forskellige stadier i softwareopbygningsprocessen.
4. Sanity-testning
Sanity-testning er en type regressionstest, og det er normalt den sidste type regressionstest, der finder sted. Det sker i udviklingsfasen af buildet, efter at eventuelle fejl, der er blevet fremhævet ved regressionstest, er blevet repareret.
Sanity-testning er normalt meget hurtig og har blot til formål at sikre, at softwaren kører problemfrit, og at eventuelle fejl, der er fundet, er blevet rettet på passende vis.
Smoke- og sanity-testning forveksles nogle gange, men det er vigtigt at huske, at sanity-testning finder sted i udviklingsmiljøet, mens smoke-testning finder sted i QA-miljøet.
5. Røgprøvning
Smoke-testning er den første fase af QA-testning og den første type test, der udføres i et QA-miljø.
Smoke-testning finder normalt sted før sanity-testning og regressionstestning på trods af, at det normalt udføres af QA-teams. Det er en hurtig og enkel testproces – og i dag bruger de fleste QA-teams automatiseret røgtest i softwaretestning – som afgør, om buildet er stabilt eller ej, og om der skal køres yderligere test eller ej.
Da røgtest er den hurtigste og enkleste test, når man sammenligner røgtest vs. sanity testing vs. regressionstest, er det fornuftigt at udføre denne test først, før man går videre til andre, mere komplekse tests.
6. Funktionel afprøvning
Funktionel testning er det næste trin i softwaretestens livscyklus, og den udføres i QA-miljøet.
Funktionel testning tester hver enkelt funktion i en softwareapplikation i forhold til kravene, og den fokuserer på funktioner, brugervenlighed, tilgængelighed og fejlforhold.
Den funktionelle testning kan begynde, når røgtesten er bestået.
Røgtestning af applikationer på forskellige niveauer
Røgtestning kan anvendes på tre forskellige testniveauer: røgtestning på acceptniveau, røgtestning på systemniveau og røgtestning på integrationsniveau.
1. Acceptansprøvningsniveau
Smoke-testning på acceptniveau udføres normalt, når et software build frigives til QA. Denne type QA-røgetest tjekker blot den grundlæggende funktionalitet i buildet, og om den svarer til den forventede funktionalitet.
2. Systemafprøvningsniveau
Smoke-testning på systemniveau omfatter test af de vigtigste arbejdsgange i systemet. Dette udføres, efter at selve systemet er blevet testet, og før der udføres en fuldstændig regressionstest af systemet.
På systemniveau er automatiseret røgtest den mest almindelige form for røgtest.
3. Integrationsafprøvningsniveau
På integrationstestniveauet sikrer røgtests, at alle softwarens end-to-end-funktioner fungerer som forventet, og at den grundlæggende integration er funktionel.
Denne type røgtestning finder normalt sted, når individuelle moduler implementeres, eller når flere moduler integreres i et enkelt software build.
Manuel vs. automatiseret røgtest
Når softwareteams først begynder at udføre røgtests, skal de beslutte, om de vil udføre manuelle røgtests eller automatiserede røgtests.
Mens automatiserede røgtests normalt giver hurtigere og mere omkostningseffektive resultater, kan det også tage tid at oprette og implementere dem. Mange teams starter med at lave manuelle røgtests, før de overvejer at automatisere dem senere hen.
1. Manuel røgtest
Manuelle røgtests er ret nemme at designe og kan normalt udføres af ikke-tekniske fagfolk uden for kvalitetssikrings- eller udviklingsteamet. Det betyder, at manuelle røgtests ofte foretrækkes i mindre virksomheder, som måske endnu ikke har en dedikeret QA-chef.
Når du udfører manuel røgtest, er det vigtigt at teste et antal use cases, der dækker nok af softwarens kernefunktioner, uden at dække så mange, at røgtesten tager for lang tid at udføre. Det ideelle antal brugssager anses normalt for at være mellem 20 og 50.
Fordelene ved at udføre røgtest manuelt
Der er mange fordele ved at udføre manuelle røgtests i QA sammenlignet med automatiserede røgtests. Manuelle røgtests giver ofte en mere detaljeret indsigt i softwarens ydeevne og funktionalitet sammenlignet med automatiserede tests.
Ikke-ingeniører kan udføre manuel testning
Mens automatiserede røgtests normalt kræver softwareingeniørers og udviklers ekspertise til at sætte dem op, kan manuelle røgtests udføres af teammedlemmer med mindre specialiseret ekspertise.
Dette er normalt en fordel i mindre teams, hvor ressourcerne måske allerede er pressede, og hvor specialisternes tid er yderst værdifuld.
Du kan oprette en brugerdefineret røgtest for hvert job
Hvis du vil sikre dig, at din røgtest nøjagtigt dækker de vigtigste funktioner i et softwareprogram og fokuserer på de funktioner, der er vigtigere for hvert build, kan testerne ved at oprette en manuel røgtest skræddersy testen til hvert enkelt projekt.
Sådanne manuelle røgtests kan give mere brugbare resultater sammenlignet med nogle automatiserede tests, men det betyder også, at det er meget tidskrævende at oprette og køre dem.
Manuelle test afslører kvalitative data
Når du kører en automatiseret røgtest, kan du kun forvente at modtage kvantitative data om, hvilke aspekter af testen der er bestået, og hvilke der er mislykkedes.
Når teammedlemmer udfører manuel røgtestning, kan de bruge deres indsigt, intuition og dømmekraft til at vurdere ikke blot, om buildet består eller fejler, men også hvordan og/eller hvorfor.
Udfordringerne ved manuel røgtestning
Der er også mange udfordringer ved at udføre røgtestning manuelt, og det er grunden til, at mange virksomheder vælger at bruge automatiseret røgtestning, hvor det er muligt.
Manuel røgtestning er grundig, men også meget tidskrævende.
Manuelle røgtests tager tid
Manuelle røgtests tager betydeligt længere tid at gennemføre end automatiserede tests, og de kræver meget mere af dit teams opmærksomhed.
Mens automatiserede tests kan køre i baggrunden af sig selv, skal dit team afsætte tid til at udføre en manuel røgtest.
Manuelle tests kan ikke køres for ofte
På grund af den enorme mængde tid og ressourcer, som manuelle røgtests kræver, kan de ikke udføres lige så regelmæssigt som automatiserede røgtests.
Når software testere udfører en manuel røgtest, skal de afsætte flere timer, op til en halv dag, afhængigt af testens kompleksitet.
Dette fjerner muligheden for daglig røgtestning, hvilket i vid udstrækning anses for at være den bedste praksis i branchen.
Der er altid plads til fejl
Fordi mennesker udfører manuelle tests, er der altid mulighed for at der kan ske fejl under manuelle røgtests.
Derfor er manuel røgtestning normalt ikke helt så omfattende som automatiseret testning, især når det drejer sig om at opdage subtile fejl, som er lettere at overse, eller når der udføres ekstremt gentagne test, som kan få testerne til at miste fokus under testningen.
Hvornår skal du bruge manuel røgtestning?
Manuel røgtestning anvendes oftest i mindre teams, som måske ikke har ressourcer til at undvære ingeniører til automatiseret røgtestning, eller i tilfælde, hvor der ønskes eller er behov for yderligere menneskelig indsigt og vurdering.
Af denne grund implementeres manuel røgtest ofte i røgtest på integrationsniveau.
2. Automatiseret røgtest
Automatiseret røgtest kan implementeres af softwareingeniører med de nødvendige kodningsfærdigheder til at oprette og køre en række relevante use cases for hvert software build.
Automatiseret røgtestning er meget hurtigere end manuel testning og tager normalt ikke længere end 30-60 minutter, og den kan udføres i baggrunden, mens alle medlemmer af udviklings- og kvalitetssikringsteamet fortsætter deres daglige opgaver.
Derfor er automatiseret røgtestning blevet almindeligt i softwareindustrien, efterhånden som flere og flere virksomheder søger at forbedre effektiviteten på arbejdspladsen.
Fordelene ved automatisering af røgtest
Automatisering af røgtest giver mange fordele for de virksomheder, der har tid og ressourcer til at implementere den. Det er hurtigt og effektivt, og da automatiserede tests ikke belaster teams og ressourcer, kan de køres regelmæssigt, selv i små virksomheder.
Automatiseret testning er hurtig
Automatiseret røgtestning er meget hurtigere end manuel testning, og de fleste automatiserede test tager ikke længere end 30-60 minutter at gennemføre.
Til sammenligning kan manuelle tests tage flere timer.
Automatiserede røgtests kræver minimale ressourcer og er meget nemme at køre, når de først er implementeret.
Automatisering gør daglige røgtests mulige
Ifølge den nuværende bedste praksis i branchen er daglige røgtests ideelle, især når der arbejdes med software, der konstant er under forandring.
Manuelle røgtests er for tidskrævende til at køre dagligt, men automatiserede røgtests er nemme at udføre i starten af hver arbejdsdag.
Automatisering eliminerer menneskelige fejl
Automatiserede test kører ud fra scripts, der er forberedt på forhånd og udarbejdet efter meget strenge standarder. Det betyder, at chancen for, at en automatiseret test overser en større fejl eller et vigtigt problem, er meget lille.
Automatisering kan efterligne belastnings- og præstationstest
Belastnings- og præstationstest vurderer, hvor godt et program fungerer, når mange brugere bruger det på én gang. Automatiseret røgtest kan efterligne den ekstra belastning fra flere brugere på måder, som manuel test ikke kan, og give et ekstra lag data om softwarens ydeevne under visse betingelser.
Udfordringerne ved automatisering af røgtest
Automatisering af røgtest er ikke uden udfordringer. Det kan være mere tidskrævende og ressourcekrævende at implementere automatiseret røgtestning, især i mindre teams med færre ingeniører til rådighed.
Tekniske krav
Automatiserede røgtests kræver mere teknisk viden og færdigheder i kodning end manuelle røgtests. Softwareingeniører skal have tid og viden til at vide, hvordan man laver automatiserede tests, før disse kan implementeres, og ikke alle teams har nødvendigvis ressourcerne til at gøre dette.
Mangel på menneskelig indsigt
Automatiseringstest giver et overordnet overblik over funktionaliteten af en softwareapplikation, og ved at udføre en automatiseret røgtest får softwaretestere indsigt i softwarens grundlæggende funktioner, hvilket er det endelige formål med en røgtest.
Automatiserede test giver imidlertid ikke nogen indsigt i de mere subjektive aspekter af softwarens ydeevne, såsom brugervenlighed og tilgængelighed.
Hvornår skal du implementere automatisering af røgtest?
Automatisering anvendes ofte i forbindelse med røgtestning, fordi formålet med røgtestning simpelthen er at kontrollere grundlæggende funktionalitet, hvilket er noget, som automatiseret testning er relativt god til.
Teams med tilstrækkelige tekniske færdigheder til at implementere automatiseret røgtestning vil sandsynligvis have tid og ressourcer til at investere i denne proces, og større og mere etablerede virksomheder vil sandsynligvis føle sig mere presset til at opfylde standarderne for bedste praksis for daglig røgtestning.
Automatisering af røgtest vs. manuel røgtest
Der er ingen rigtig eller forkert måde at udføre røgtest på, og det, der fungerer godt for ét team, fungerer måske ikke godt for et andet.
Før de udfører en røgtest, bør softwareteams overveje deres mål, ressourcer og langsigtede projektplaner. Processen med at teste software manuelt kan være lærerig for unge fagfolk, der er nye i QA, men for mere etablerede teams er der sjældent en fordel ved at vælge manuel test frem for automatiseret testning.
Hybridrøgprøver
Den tredje mulighed for teams, der ikke kan vælge mellem manuel og automatiseret røgtestning og sanity testing, er at vælge hybridtestning.
Hybrid testning kombinerer aspekter af både manuel og automatiseret røgtestning for at øge testens samlede ydeevne og effektivitet. Ved brug af den hybride røgtestmetode kan størstedelen af testen være automatiseret, men visse aspekter kan udføres manuelt. Dette giver teamene mulighed for at fokusere mere på de aspekter af buildet, der har brug for det, samtidig med at det samlede tidskrav til røgtesten holdes lavt.
Typer af røgtestning
Røgtestning kan groft sagt opdeles i to kategorier, formel og uformel røgtestning. Om røgtestning er formel eller uformel afhænger af, om det er formelt iværksat af QA-chefen eller blot udført som en del af udviklingen.
1. Formelle røgtest
I en formel røgtest giver softwareudviklerne softwarebyggeriet videre til QA-ingeniøren eller QA-chefen med henblik på formel testning. QA-chefen tildeler testere opgaven med røgtestning og beder dem udføre røgtesten enten ved hjælp af røgtestværktøjer som f.eks. automatisering eller manuelt.
Når QA-testere udfører formelle røgtests, samler de resultaterne af testen i en formel rapport, som kan analyseres af den QA-ansvarlige.
Formelle røgtests udføres på vigtige punkter i softwareopbygningsprocessen, f.eks. før der udføres funktionel testning af nye funktioner.
2. Uformelle røgtest
Uformelle røgtests er røgtests, der udføres på et software build under udviklings- eller QA-processen, som ikke formelt rapporteres eller kræves af QA-chefen.
Daglige røgtests, som mange softwareteams udfører som en del af en protokol, er et eksempel på uformelle røgtests.
Uformelle test kan udføres ad hoc, når QA-ingeniørerne mener, at det kan være nyttigt.
Det skal du bruge for at begynde at røgteste
Før du kan gå i gang med røgtestning i softwaretestning, er det vigtigt at samle alle de ting, du har brug for, herunder datafiler og færdigheder i din organisation.
Hvad du skal bruge til at udføre din røgtest afhænger af, om du planlægger at udføre automatiseret eller manuel røgtest, og hvilke testværktøjer du bruger for at gøre processen lettere.
1. En liste over testcases
Før du starter en røgtest, skal du have en omfattende liste over alle de testcases, som du vil have din røgtest til at evaluere.
Testcases er individuelle sæt af handlinger, som du vil teste for at vurdere, om resultatet af disse handlinger svarer til de resultater, du forventer.
En meget simpel testcase kan f.eks. være, at softwaren indlæser hovedinstrumentbrættet, når du åbner programmet.
2. Testfiler
Før du kan køre din røgtest, skal du samle alle de testfiler, som du vil køre din røgtest på. Du kan måske bruge kommandolinjen i den røgtestsoftware, du bruger, til at samle alle dine filer på ét sted.
Hvordan du samler dine filer, og hvor du opbevarer dem, afhænger af, hvordan din organisation fungerer.
3. Værktøjer til røgtestning
Du kan udføre en grundlæggende røgtest uden at bruge nogen særlige værktøjer, men ved at bruge røgtestværktøjer kan du forbedre nøjagtigheden af dine resultater og fremskynde processen med røgtestning.
Undersøg først røgtestværktøjer online og vælg den software, der automatiserer eller optimerer din røgtest i forhold til dine særlige behov og dit budget.
Processen for røgtestning
Den bedste måde at udføre en røgtest på varierer fra organisation til organisation, og hvis du er nybegynder med røgtest, kan du eksperimentere med forskellige metoder for at se, hvad der fungerer bedst for dit team.
Nedenfor er et eksempel på, hvordan du udfører en grundlæggende røgtest for at vurdere din softwares kernefunktioner.
Trin 1: Vælg dine testcases
Det første skridt i udførelsen af en røgtest er at vælge, hvilke testcases du vil køre din røgtest på.
Når de designer en røgtest, bør softwareingeniører og QA-ingeniører overveje, hvilke softwarefunktioner der er mest kritiske for softwaren, og hvordan disse funktioner bedst kan testes. Spild ikke din tid på at teste funktioner, der ikke er vigtige for softwarens funktion.
Trin 2: Opbyg røgtests
Når du har identificeret de testcases, du vil bruge, kan du skrive testskripter til at teste dem. Brug et enkelt script til røgtests for at øge fleksibiliteten under udførelsen af testen.
Hvis du vælger at automatisere røgtest, behøver du ikke altid at skrive manuelle testskripter, hver gang du vil køre en røgtest. Du kan bruge software test automatiseringssuiter til at automatisere scripts som dette.
Trin 3: Kør røgtests
Når du har oprettet dine røgtestscripts, kan du køre dem på dit build for at lede efter fejl og andre større fejl. Det bør ikke tage mere end 30 til 60 minutter, og når testene er færdige, kan du vurdere resultaterne for at bestemme dine næste skridt.
Trin 4: Retter eventuelle fejl
Formålet med røgtest i softwareudvikling er at identificere eventuelle større fejl eller problemer, før den fulde QA-testning går i gang.
Hvis dine røgtests afslører væsentlige problemer, der forstyrrer kernefunktionerne i din softwareopbygning, er det vigtigt at sende softwaren og din analyse tilbage til udviklingsteamet med henblik på fejlrettelse, før du fortsætter med QA.
Bedste praksis for røgtestning
Smoke-test er en pålidelig måde at identificere større fejl i software builds på i alle udviklingsstadier. At følge branchens bedste praksis er den bedste måde at sikre, at dine røgtests er effektive, præcise og produktive.
1. Kør ofte røgtests
Det er ikke altid muligt at køre røgtests hver dag, især hvis du kører manuelle tests i stedet for automatiserede røgtests.
Kør røgtests så ofte som muligt, og hver gang du implementerer ændringer i din software. Når du er i stand til det, anses det for bedste praksis at køre daglige røgtests.
2. Spring aldrig over testfaser
Hvis du har travlt, kan det være fristende at springe nogle af testfaserne over for at komme hurtigere videre i udviklingsprocessen, men både røg- og regressionstest er afgørende for at holde udviklingen på sporet.
Test altid dine builds med røgtest og sanity-test, før du går videre til næste trin.
3. Test alle ændringer
Der findes ikke kun én enkelt anvendelse for røgtest. Du kan og bør bruge røgtests til at teste hver eneste ændring, du foretager i et software build, og til at teste din software mellem forskellige udviklingsfaser.
Røgetest bør være forløberen for integrationstest, præstationstest og funktionstest.
4. Spor dine testresultater
Det er standardpraksis at teste resultaterne af en formel røgtest, men selv når der udføres uformelle røgtest, bør ingeniørerne føre en eller anden form for optegnelse af resultaterne.
Det gør det nemmere at sende resultaterne tilbage til udviklerne og holde styr på, hvilke funktioner der ikke består testen.
5. Kør din røgtest to gange
At køre din røgtest to gange kan virke overdrevet, men hvis du virkelig ønsker at fange alle fejl under testen, er det bedst at køre den to gange.
Dette sikrer, at din røgtest har alle muligheder for at fange større fejl og problemer, som kan forårsage yderligere problemer, hvis de ikke bliver rettet med det samme.
6. Vælg den rigtige type røgtest
Om du skal bruge manuel eller automatiseret røgtest afhænger af størrelsen og behovene hos dit team. Sørg for at vælge den bedste testtype til dit projekt for at optimere effektiviteten uden at gå på kompromis med nøjagtigheden af dine resultater.
Typer af output fra en røgtest
Når du udfører en røgtest, kan du forvente, at din røgtest resulterer i et af to forskellige resultater for hver testcase, som du vurderer: bestået eller ikke bestået.
1. Bestå
Et muligt resultat for hver testcase, som du kører, er, at røgtesten er bestået. Det betyder, at det faktiske resultat af testen stemmer overens med det forventede resultat af testen.
Hvis du f.eks. kører en test af, hvad der sker, når du indlæser programmet, og det indlæses til den skærm, der skal åbnes ved indlæsning, skal dit script vise dette som en bestået test.
2. Fail
Hvis din røgtest mislykkes for en bestemt testcase, betyder det normalt, at det faktiske resultat af testen ikke stemte overens med det forventede resultat af testen.
Hvis du f.eks. tester et shoppingprogram, og en af de testcases, du kører, tester funktionen til at tilføje varer til din indkøbskurv, mislykkes testen, hvis de varer, du tilføjer til din kurv, ikke vises i kurven, som du forventer, at de vil.
Eksempler på testcases til røgtestning
Når du prøver at finde ud af, hvilke testcases du skal medtage i din røgtest, skal du skrive en liste over de centrale funktioner i din software og overveje, hvilke af dem der er afgørende for at køre og bruge softwaren.
Nogle eksempler på testcases til røgtest kan hjælpe dig med at afgøre, hvilke testcases du skal bruge i din egen røgtest.
1. Validering af loginoplysninger
Hvis dit program kræver, at brugerne logger ind, kan du oprette en testcase, der kontrollerer, om processen med at validere loginoplysningerne fungerer, som den skal.
Du kan oprette et script, der automatiserer logningen, kører testen og kontrollerer resultaterne. Hvis softwaren logger ind som forventet, består denne røgtest.
2. Oprettelse af et nyt dokument
Du kan oprette en testcase for at vurdere, om din software giver brugerne mulighed for at oprette et nyt dokument korrekt. Opret et script, der automatiserer oprettelse, navngivning og lagring af dokumenter i din software, og kør det.
Hvis der opstår større problemer, som forhindrer denne proces, vil det betyde, at denne røgtest mislykkes.
3. Logge ud
Hvis din applikation har log-in-funktionalitet, bør den også have log-out-funktionalitet. Kør et script for at teste, hvad der sker, når brugerne klikker på “log ud”.
Hvis brugeren ikke kan logge ud, når han/hun klikker på denne knap, mislykkes røgtesten.
Typer af fejl og fejl, der opdages ved hjælp af røgtest
Smoke-tests kan hjælpe dig med at identificere fejl og fejl, der forstyrrer kernefunktionaliteten i din software. Afhængigt af hvornår du kører din røgtest, og hvad du vil kontrollere, kan du finde forskellige typer fejl og fejl ved hjælp af røgtest.
1. Funktionelle fejl
Funktionelle fejl er fejl, der opstår, når din software ikke opfører sig som forventet, eller når den ikke fungerer korrekt.
De fleste af de testcases, som du vil bruge røgtests til at kontrollere, er funktionelle tests, og derfor er det mest sandsynligt, at funktionelle fejl vil blive identificeret af røgtests som denne.
2. Logiske fejl
Logikfejl repræsenterer fejl i kodens logik og kan også medføre, at softwaren opfører sig forkert. Logikfejl kan medføre, at handlinger giver ukorrekte output eller endda forårsage softwarecrashes.
En almindelig logikfejl er den uendelige løkke, som får softwaren til at gentage de samme handlinger igen og igen, indtil den går ned.
3. Integrationsfejl
Hvis du kører en røgtest på integrationsniveau, kan du finde integrationsfejl under testen. Disse opstår, når to separate sæt kode ikke integreres fejlfrit med hinanden. De kan skyldes en lang række kompatibilitetsproblemer i koden og kan kræve komplekse løsninger for at blive repareret.
Fælles målinger af røgtestning
Når QA-teams udfører en røgtest, kan de bruge målinger til at vurdere resultaterne af en røgtest og vurdere, om testen er bestået eller ikke bestået.
Ud over at undersøge, om softwaren er i stand til at udføre sine kernefunktioner korrekt, kan røgtestmetrikker bl.a. vurdere softwarens hastighed og indlæsningstider.
1. Software hastighed
Smoke-tests kan bruges til at kontrollere, at softwarens hastighed og indlæsningstider opfylder visse kriterier, der er beskrevet i de enkelte testcases.
Hvis du f.eks. tester, hvordan softwaren opfører sig, når du indlæser programmet, og programmet indlæses som forventet, men det tager to minutter at starte op, kan du markere dette som en fejl, fordi det ikke opfylder den forventede indlæsningstid.
2. Pålidelighed
At køre din røgtest to gange kan også hjælpe dig med at teste pålideligheden af din software. Hvis visse testcases består én gang, men fejler én gang, tyder det på, at en fejl i koden forårsager fejl, som måske ikke opstår hver gang softwaren bruges, men som stadig kan forårsage alvorlige problemer for brugerne.
De bedste gratis værktøjer til røgtestning
Værktøjer til røgtestning kan hjælpe dig med at køre røgtest mere effektivt og hurtigt og hjælpe dig med at få mest muligt ud af dine røgtest.
Nedenfor er nogle af de bedste værktøjer til røgtestning, der er gratis tilgængelige i dag.
5 bedste gratis værktøjer til røgtestning
1. ZAPTEST GRATIS udgave
ZAPTEST er et gratis værktøj, der giver brugerne mulighed for at automatisere softwaretest og RPA uden at betale en øre.
Du kan bruge ZAPTEST FREE edition til at udføre enkle røgtests på flere platforme, herunder mobil, web, API og LOAD-platforme.
Hvis du ønsker at afprøve automatiseret røgtestning, kan ZAPTEST gratis udgave hjælpe dig med at se fordelene ved automatisering på første hånd. Den er også nem at bruge, selv hvis du ikke har en teknisk baggrund, da den har en kodefri grænseflade og udnytter den nyeste Computer Vision-teknologi.
Det vigtigste er, at ZAPTEST FREE er godt…. gratis for evigt! I modsætning hertil har mange værktøjer til røgtestning og generel softwareautomatisering en indledende testperiode, hvorefter du skal betale abonnement.
2. Selen
Selenium er et gratis open source-værktøj, som du kan bruge til at køre forskellige former for test af din software, herunder røg- og regressionstest. Det fungerer med mange forskellige programmeringssprog, og det er især godt til at teste webapplikationer.
3. Appium
Hvis du ønsker at udføre røg- og sanity-test på mobilapps, er Appium et bedre valg end Selenium. Appium er let at installere og bruge og kan bruges til at udføre enkle røgtests på apps udviklet til både iOS og Android.
4. Testlink
Testlink er et gratis, webbaseret styringsværktøj, der giver brugerne mulighed for at udarbejde testplaner og testcases inden for en enkelt struktureret ramme. Testlink kan hjælpe dig med at planlægge dine røgtests og skitsere dine forventninger og målinger, før du begynder at røgteste.
5. QA Wolf
QA Wolf er et gratis, end-to-end testværktøj, der giver brugerne mulighed for at oprette en automatiseret QA-røgetest sammen med andre funktionelle tests. QA Wolf kan selv bruges af folk uden tekniske eller kodningsmæssige færdigheder, hvilket betyder, at det er en god introduktion til testautomatisering for de fleste QA-teams.
De bedste værktøjer til røgtestning i virksomheder
Hvis du er villig til at investere lidt penge i dine værktøjer til røgtestning, kan du købe virksomhedsværktøjer, som har mere omfattende røgtestfunktioner og mere grundige resultater.
Nedenfor finder du en liste over fem af de bedste værktøjer til automatisering af røgtests på markedet.
5 bedste værktøjer til automatisering af røgtest i virksomheder
1. ZAPTEST ENTERPRISE udgave
ZAPTEST ENTERPRISE-udgaven er en suite til softwaretestning og RPA, der fuldt ud kan automatisere enhver type test, herunder røgtestning.
Den gratis version er velegnet til mindre virksomheder, der ønsker at vide, hvad ZAPTEST kan, men hvis du leder efter en betalingsløsning, der er nem at bruge og egnet til test af enhver software eller app på enhver platform, browser eller enhed, OG med 1SCRIPT-implementering på tværs af alle disse, så er ZAPTEST ENTERPRISE et godt sted at starte.
2. SoapUI
SoapUI er et testværktøj til virksomheder, der gør det nemt at administrere og udføre end-to-end QA-tests af software. Det er et relativt simpelt værktøj at installere, men det har sine begrænsninger, hvilket afspejles i deres prisniveau.
3. Vidnesbyrd
Testim er et betalt værktøj til røgtest, der bruger AI til at oprette kodeløse tests, der vurderer funktionaliteten af din software. Testim’s Javascript API kan bruges til at refaktorisere, tilpasse og fejlfinde tests.
4. T-Plan robot
T-Plan Robot er et testværktøj til virksomheder, som QA-ingeniører kan bruge til at automatisere scriptede brugerhandlinger og Robotic Process Automation (RPA) på Windows, Mac, Linux og mobil. Du kan bruge T-Plan Robot til at automatisere røgtests på en række applikationer og oprette automatiserede scripts, der kan køres på vigtige tidspunkter under udviklingen.
5. Regnskovens kvalitetssikring
Rainforest QA er et værktøj til røgtestning af QA, der giver brugerne mulighed for at administrere og implementere både manuelle og automatiserede røgtest fra et enkelt instrumentbræt. Det gør den ideel til organisationer, der er interesserede i at prøve den hybride tilgang, og den er velegnet til en lang række platforme, herunder cloud-baserede applikationer, Windows og Mac.
Hvornår skal du bruge værktøjer til virksomhedstest og hvornår skal du bruge gratis værktøjer til røgtest?
Virksomhedsværktøjer og gratis værktøjer til røgtestning kan opfylde lignende behov på lidt forskellige måder. Gratis værktøjer er normalt en fremragende indgang til organisationer, der er fortrolige med manuel røgtestning, men som ønsker at udforske automatiseret røgtestning mere detaljeret.
De kan også være mere velegnede til meget små nystartede virksomheder, hvor pengene til betalte værktøjer bare ikke er til stede endnu.
Virksomhedstestværktøjer bliver normalt en mere levedygtig mulighed, når virksomheder vokser. De tilbyder en række fordele i forhold til gratis værktøjer og tilbyder normalt mere fleksibilitet, bedre support og mere brugervenlige grænseflader, der gør det nemt for selv ikke-tekniske fagfolk at udføre automatiseret røgtestning.
Tjekliste for røgtestning
Inden softwarens QA-team starter en røgtest, kan de bruge denne tjekliste til at sikre, at de dækker alle trin i røgtestprocessen.
● Identificer de værktøjer til røgtest, som du vil bruge
● Vælg, om du vil oprette en manuel eller automatiseret test
● Vælg de testcases, du vil teste
● Opret testskripter for hver case
● Identificer kravene til “bestået” for hvert testtilfælde
● Kør dine røgtests
● Analyser resultaterne
● Feedback til udvikling og kvalitetssikring
Konklusion
Smoke-test er et vigtigt skridt i softwareudvikling og kvalitetssikring. Det sikrer, at et produkt er funktionelt, før der foretages yderligere testning, hvilket forhindrer risikoen for, at QA-teams spilder tid og ressourcer på at udføre intensive funktionelle test på builds, der endnu ikke er stabile.
Smoke-testning er en relativt hurtig og enkel proces, som bør udføres af softwareteams så ofte som muligt.
I takt med at virksomheder stræber efter at opnå optimal effektivitet ved hjælp af avancerede værktøjer, der understøtter hyperautomatisering, RPA og andre relaterede teknologier, bliver automatiserede røgtests mere og mere almindelige i organisationer af alle størrelser.
Både manuel og automatiseret røgtestning har stadig en plads i moderne QA-miljøer, men efterhånden som automatiseret testning bliver mere almindelig, er der ingen tvivl om, at det vil blive normen.
Ofte stillede spørgsmål og ressourcer
Hvad er de bedste kurser i automatisering af røgtest?
Hvis du ønsker at lære mere om automatisering af røgtests, kan du tage nogle eksempler på online-kurser:
● Coursera-kurser i røgtestning
● Udemy-kurser i røgtestning
● Skillshare-kurser i røgtestning
Et af de bedste kurser for begyndere er Certified Tester ISTQB Foundation Level (CTFL), som fås hos Udemy.
Hver af disse online ressourcer tilbyder kurser i røgtestning for elever med forskellige færdigheder, og det kan være muligt at tage både gratis og betalte kurser på disse websteder.
Hvis du ønsker at blive certificeret, skal du søge efter kurser, der er akkrediteret af CAST.
Hvad er de bedste bøger om røgtestning?
Hvis du vil vide mere om røgtestning, kan du læse bøger om softwaretestning og røgtestning for at udvikle din forståelse af metoderne og fordelene ved røgtestning. Nogle af de bedste bøger om røgtestning omfatter:
● The Art of Software Testing, af Glenford J Myers, Tom Badgett og Corey Sandler
● Softwaretestning, af Ron Patton
● Software Test Automation, af Mark Fewster og Dorothy Graham
Der findes dog masser af fantastiske bøger om softwaretestning, som kan hjælpe dig med at forstå mere om hvordan, hvorfor og hvad testning er.
Vælg en bog, der tiltaler dig og udforsker de emner, der interesserer dig mest, mere detaljeret.
Hvad er de 5 vigtigste interviewspørgsmål om røgtest?
Hvis du overvejer at gå til samtale om en stilling, der kan indebære røgtest, skal du forberede dig på din samtale ved at forberede dine svar på almindelige spørgsmål til samtalen, f.eks:
● Hvornår er det rigtige tidspunkt at udføre røgtest?
● Hvordan beslutter du, hvilke testcases du vil bruge i en røgtest?
● Hvordan adskiller røgtest sig fra andre typer test, f.eks. sanity testing?
● Hvor meget viden om kodning er nødvendig for at udføre røgtest?
● Hvad vil du gøre, hvis en røgtest mislykkes?
Hvad er de bedste YouTube-vejledninger om røgtest?
Hvis du er til visuel læring, kan du bruge disse YouTube-videoer til at lære mere om røgtestning:
● Edureka vejledning i røgtestning
● Hvad er røgtestning?
● Smoke-test vs. sanity-test
Hvordan vedligeholdes røgtest?
Vedligeholdelse af røgtests handler om at sikre, at de røgtests, du opretter, forbliver sunde og relevante, efterhånden som dit softwareopbygningsprojekt fortsætter.
Udføre røgtests dagligt og oprette nye testcases, når der er behov for det.
Du kan også maksimere fordelene ved dine røgtests ved at arbejde tæt sammen med de udviklere, hvis bidrag ikke formår at forbedre kvaliteten af deres kode.
Hvad er røgtestning inden for softwareudvikling?
Smoke-testning inden for softwareudvikling kaldes også for test af build-verifikation, og det er en enkel og hurtig test til at sikre, at et software build er stabilt.
Smoke-testning bruges til at teste kernefunktionaliteterne i et build, og det tjener som en indledende test, før der foretages yderligere QA-testning.
Røgetest vs. sanity-test
Smoke- og sanity-testning er begge testtyper, der involverer hurtig testning af kernefunktionaliteterne i et software build eller produkt.
Men mens røgtestning tester, om softwarens kernefunktioner opførte sig som forventet, bruges sanity testing normalt til at kontrollere, om fejlrettelser har løst identificerede problemer.
Smoke testing er en mere formel og dokumenteret proces, der normalt udføres, før et build verificeres som stabilt, mens sanity testing er en uformel type test, der kan udføres som en del af regressionstest på relativt stabile builds.
Røgetest vs. regressionstest
Smoke- og regressionstest er begge testtyper, der tjekker, om softwaren stadig fungerer korrekt, efter at der er foretaget nye ændringer.
Røgetestning er imidlertid en relativt hurtig og lav dybdegående type test, som blot tjekker kernefunktioner og sikrer, at softwaren er stabil.
Regressionstest er en test på et dybere niveau, som tager meget længere tid og vurderer buildet mere detaljeret.
Smoke-test vs. sanity-test vs. regressionstest
Når du sammenligner røgtest og sanity-test med regressionstest, er det vigtigt at forstå, at alle tre typer test er nødvendige for god softwareudvikling og kvalitetssikring.
Smoke testing og sanity testing er en hurtig måde at kontrollere, om softwaren fungerer normalt, mens regressionstest giver en dybere indsigt i produktets funktion.
QA-teams røgtester først softwaren, og hvis softwaren klarer denne kontrol, kan der foretages sanity testing og senere regressionstest.
Automatiseret røgtest ved hjælp af røgtestværktøjer bliver mere og mere almindeligt, men nogle typer test, f.eks. regressionstest, kan endnu ikke automatiseres fuldt ud på grund af testens komplekse karakter.
Endelig, hvis du leder efter værktøjer til at udføre test på Windows-platforme, iOS, Android, UI-tests, Linux og mange flere, så download ZAPTEST GRATIS!