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

Smoke testing is een proces dat wordt gebruikt om software te testen om te bepalen of de uitgerolde software al dan niet stabiel is.

Wanneer u software rooktest, voert u een reeks tests uit die ontworpen zijn om elke kernfunctie van de software te beoordelen.

Smoke testing tools controleren of de belangrijkste functies van de software werken. Er zijn verschillende benaderingen voor rooktesten, en de moderne technologie maakt geautomatiseerde rooktesten mogelijk voor de meeste software.

In dit artikel gaan we diep in op rooktesten om de soorten, processen en benaderingen van rooktesten te bekijken die softwaretesters gebruiken. We zullen ook kijken naar moderne hulpmiddelen voor rooktesten, waaronder automatisering van rooktesten.

Kortom, u leert alles wat u ooit zult moeten weten over rooktesten.

 

Inhoudsopgave

Wat is rooktesten in software engineering?

 

Smoke testing is het proces van het testen van software om ervoor te zorgen dat deze voldoet aan de basisvereisten inzake functionaliteit en stabiliteit. Het is in wezen een soort miniatuur, snelle regressietest waarbij de belangrijkste functies van de software worden getest om er zeker van te zijn dat ze op een basisniveau werken.

Smoke testing is een belangrijke vroege stap in het QA proces omdat het aangeeft of het team moet doorgaan met verder testen of het product onmiddellijk moet terugsturen naar de ontwikkelaars.

Als het product de rooktest niet doorstaat, geeft dit aan dat de eerste build aanzienlijke gebreken vertoont die moeten worden aangepakt voordat verdere tests kunnen plaatsvinden.

 

Wanneer moet je rooktesten doen?

 

Wij testen software met rooktests wanneer nieuwe functionaliteiten worden ontwikkeld en geïntegreerd in een bestaande build en voordat de nieuwe build wordt uitgerold naar QA. Door in dit stadium rooktesten uit te voeren, wordt voorkomen dat geld en andere middelen worden verspild aan QA-testen voor software met grote onderliggende problemen.

Om een QA rooktest uit te voeren, zet het ontwikkelingsteam de nieuwe software build uit in QA en wordt een subset van testcases genomen en uitgevoerd op de build. Het QA-team test de toepassing op haar belangrijkste functionaliteiten. Als de rooktest slaagt, gaat het QA-team verder met functionele tests, en als die mislukken, wordt de build teruggegeven aan het ontwikkelingsteam voor verdere ontwikkeling.

Smoke testing zoals deze vindt plaats telkens wanneer nieuwe functies worden toegevoegd aan een software build.

Er kunnen andere momenten zijn dat QA-teams software zullen smoke-testen, zoals:

Voordat u nieuwe code naar een archief vastlegt
Voor een grote testserie inclusief regressie- en acceptatietests
Na het uitrollen van een nieuwe software build

Als u op deze punten geen rooktest uitvoert, kunt u in latere stadia van het testen van de functionaliteit grote gebreken vinden die de releasedatum van uw nieuwe build kunnen beïnvloeden of uw planning ernstiger kunnen verstoren.

 

Wanneer u geen rooktest hoeft te doen

 

Bij het testen van software is het belangrijk om rooktesten uit te voeren wanneer u wijzigingen aanbrengt in de softwarecode of nieuwe functies toevoegt aan een build.

Het is ook een essentiële voorbereidende stap voor het testen van functionaliteit, omdat het voorkomt dat QA-teams hun tijd verspillen aan het testen van software die niet klaar is.

Als uw software niet aan deze criteria voldoet, hoeft u op dit moment misschien geen rooktest uit te voeren… hoewel geautomatiseerde rooktesttools het gemakkelijk en kosteneffectief maken om regelmatig rooktests uit te voeren om ervoor te zorgen dat software altijd goed functioneert.

 

Wie is betrokken bij het rookonderzoek

 

Smoke testing wordt uitgevoerd door QA engineers of de QA lead; het is de eerste fase van QA testing en wordt uitgevoerd binnen een QA omgeving.

Het QA-team is verantwoordelijk voor het testen van de software en het beoordelen van de prestaties ervan onder uiteenlopende omstandigheden en belastingen. Tijdens de rooktest zoeken QA-technici naar ‘showstoppers’, oftewel bugs die de ontwikkeling stilleggen en moeten worden opgelost voordat het testen kan worden voortgezet.

Bij het vergelijken van smoke testing vs sanity testing vs regressietesten is het belangrijk om niet alleen te overwegen wat er getest wordt, maar ook wie de tests uitvoert.

Smoke testing bij het testen van software wordt altijd gedaan door QA professionals. Dit onderscheidt smoke testing van sanity testing, dat is testen in de ontwikkelingsomgeving en waarbij het QA-team meestal niet betrokken is.

 

De levenscyclus van de rooktest

 

De levenscyclus van rooktesten illustreert waar rooktesten plaatsvinden tijdens productontwikkeling en QA-testen. Inzicht in elke fase van deze cyclus zal u helpen meer te begrijpen over hoe rooktesten passen in het testtraject en de verschillen tussen rooktesten vs. sanity testing vs. regressietesten.

 

1. Code

De eerste fase van het bouwen van software is altijd het schrijven en maken van code. Code is de bouwsteen van elke software, en het ontwikkelingsteam moet de code schrijven voordat deze kan worden getest op stabiliteit en functionaliteit.

 

2. Eenheidstesten

Unit testen wordt meestal uitgevoerd door ontwikkelaars, hoewel soms ook QA engineers wat unit testen uitvoeren. Eenheidstests zorgen ervoor dat verschillende eenheden of elementen van code werken zoals verwacht, voordat de afzonderlijke eenheden samen worden geïntegreerd in één softwarebouwwerk.

Eenheidstests vinden gewoonlijk plaats naast de ontwikkeling, omdat ze fouten en bugs in de code aan het licht brengen die onmiddellijk kunnen worden hersteld.

 

3. Integratie testen

Integratie testen is het proces van testen hoe individuele eenheden samenwerken wanneer ze geïntegreerd zijn in één stuk software.

Zelfs als elke afzonderlijke eenheid goed functioneert, kunnen er vaak problemen ontstaan wanneer deze eenheden met elkaar worden geïntegreerd. Integratietests worden meestal uitgevoerd door ontwikkelaars, hoewel verschillende benaderingen van dit soort tests betekenen dat zij in verschillende stadia van het softwarebouwproces kunnen worden uitgevoerd.

 

4. Saniteitstests

Saniteitstests zijn een soort regressietests, en meestal de laatste soort regressietests die plaatsvinden. Dit gebeurt tijdens de ontwikkelingsfase van de build, nadat eventuele bugs die uit regressietests naar voren zijn gekomen, zijn gerepareerd.

Saniteitstests zijn meestal zeer snel en bestaan gewoon om ervoor te zorgen dat de software soepel draait en dat eventuele bugs die zijn gevonden, adequaat zijn verholpen.

Smoke en sanity testing worden soms verward, maar het is belangrijk te onthouden dat sanity testing plaatsvindt in de ontwikkelingsomgeving, terwijl smoke tests plaatsvinden in de QA-omgeving.

 

5. Rooktesten

Smoke testing is de eerste fase van QA testen en het eerste type test dat wordt uitgevoerd binnen een QA omgeving.

Smoke testing vindt meestal plaats vóór sanity testing en regressietesten, ondanks het feit dat het meestal wordt uitgevoerd door QA-teams. Het is een snel en eenvoudig testproces – en tegenwoordig gebruiken de meeste QA-teams geautomatiseerde rooktesten bij het testen van software – dat bepaalt of de build al dan niet stabiel is en of er verdere tests moeten worden uitgevoerd.

Omdat rooktesten de snelste en eenvoudigste test is bij een vergelijking tussen rooktesten vs. sanity testen vs. regressietesten, is het verstandig deze eerst uit te voeren alvorens over te gaan tot andere, complexere testen.

 

6. Functioneel testen

Functioneel testen is de volgende fase van de levenscyclus van softwaretesten, en wordt uitgevoerd binnen de QA-omgeving.

Functionele tests toetsen elke functie van een softwaretoepassing aan de eisen ervan, en richten zich op functies, bruikbaarheid, toegankelijkheid en foutcondities.

Het functioneel testen kan beginnen zodra de rooktest is geslaagd.

 

Rooktesttoepassingen op verschillende niveaus

Rooktesten zijn van toepassing op drie verschillende testniveaus: rooktesten op acceptatieniveau, rooktesten op systeemniveau en rooktesten op integratieniveau.

 

1. Niveau van de acceptatietests

Smoke testing op acceptatieniveau wordt gewoonlijk uitgevoerd wanneer een software build wordt vrijgegeven voor QA. Dit type QA smoke test controleert eenvoudigweg de basisfunctionaliteit van de build en of deze overeenkomt met de verwachte functionaliteit.

 

2. Niveau van systeemtests

Smoke testing op systeemniveau omvat het testen van de belangrijkste workflows van het systeem. Dit gebeurt nadat het systeem zelf is getest en voordat een volledige regressietest van het systeem wordt uitgevoerd.

Op systeemniveau zijn geautomatiseerde rooktesten de meest voorkomende vorm van rooktesten.

 

3. Niveau van integratietests

Op het niveau van de integratietests zorgen smoke tests ervoor dat alle end-to-end functionaliteiten van de software werken zoals verwacht en dat de basisintegratie functioneel is.

Dit type “smoke testing” vindt gewoonlijk plaats wanneer afzonderlijke modules worden geïmplementeerd, of wanneer meerdere modules worden geïntegreerd in één softwarebouwwerk.

 

Handmatige vs. geautomatiseerde rooktests

 

Wanneer softwareteams voor het eerst rooktesten gaan uitvoeren, moeten ze beslissen of ze handmatige rooktesten of geautomatiseerde rooktesten gaan uitvoeren.

Hoewel geautomatiseerde rooktests meestal snellere en meer kosteneffectieve resultaten opleveren, kan het ook tijd kosten om ze te maken en uit te voeren. Veel teams beginnen met het maken van handmatige rooktests voordat ze verder automatisering overwegen.

 

1. Handmatige rooktests

 

Handmatige rooktesten zijn vrij eenvoudig te ontwerpen en kunnen meestal worden uitgevoerd door niet-technische professionals van buiten de QA- of ontwikkelingsteams. Dit betekent dat handmatige rooktesten vaak de voorkeur genieten binnen kleinere bedrijven die misschien nog geen toegewijde QA lead hebben.

Bij het handmatig uitvoeren van rooktesten is het belangrijk een aantal use cases te testen die voldoende kernfuncties van de software omvatten, zonder er zoveel te omvatten dat de rooktest te lang duurt. Het ideale aantal use cases wordt gewoonlijk geacht tussen 20 en 50 te liggen.

 

De voordelen van het handmatig uitvoeren van rooktesten

 

Het uitvoeren van handmatige rooktesten in QA heeft meerdere voordelen ten opzichte van geautomatiseerde rooktesten. Handmatige smoke tests bieden vaak meer gedetailleerde inzichten in de prestaties en functionaliteit van software in vergelijking met geautomatiseerde tests.

 

Niet-ingenieurs kunnen handmatige tests uitvoeren

Terwijl geautomatiseerde rooktesten meestal de expertise van software engineers en ontwikkelaars vereisen om op te zetten, kunnen handmatige rooktesten worden uitgevoerd door teamleden met minder specialistische expertise.

Dit is meestal nuttig in kleinere teams waar de middelen al overbelast zijn en de tijd van gespecialiseerd personeel uiterst waardevol is.

 

U kunt een aangepaste rooktest maken voor elke opdracht

Als u ervoor wilt zorgen dat uw rooktest nauwkeurig de belangrijkste functies van een softwaretoepassing dekt en zich richt op de functies die belangrijker zijn voor elke build, stelt het maken van een handmatige rooktest testers in staat om de test op maat te maken voor elk project.

Dergelijke handmatige rooktesten kunnen nuttiger resultaten opleveren dan sommige geautomatiseerde tests, maar het opzetten en uitvoeren ervan kost veel tijd.

 

Handmatige tests brengen kwalitatieve gegevens aan het licht

Wanneer u een geautomatiseerde rooktest uitvoert, kunt u alleen kwantitatieve gegevens verwachten over welke aspecten van de test zijn geslaagd en welke niet.

Wanneer teamleden handmatige rooktesten uitvoeren, kunnen zij hun inzicht, intuïtie en oordeel gebruiken om niet alleen te beoordelen of de build slaagt of faalt, maar ook hoe en/of waarom.

 

De uitdagingen van handmatige rooktesten

 

Er zijn ook veel uitdagingen bij het handmatig uitvoeren van rooktesten en daarom kiezen veel bedrijven waar mogelijk voor geautomatiseerde rooktesten.

Handmatige rooktesten zijn grondig, maar ook zeer tijdrovend.

 

Handmatige rooktesten kosten tijd

Handmatige rooktests duren aanzienlijk langer dan geautomatiseerde tests, en vergen veel meer aandacht van uw team.

Terwijl geautomatiseerde tests gewoon zelf op de achtergrond kunnen draaien, moet uw team tijd uittrekken om een handmatige rooktest uit te voeren.

 

Handmatige tests kunnen niet te vaak worden uitgevoerd

Vanwege de enorme hoeveelheid tijd en middelen die handmatige rooktesten vergen, kunnen ze niet zo regelmatig worden uitgevoerd als geautomatiseerde rooktesten.

Bij het uitvoeren van een handmatige rooktest moeten softwaretesters uren, tot een halve dag, uittrekken, afhankelijk van de complexiteit van de test.

Dit neemt de mogelijkheid weg van dagelijkse rooktests, die algemeen worden beschouwd als de beste praktijk in de sector.

 

Er is altijd ruimte voor fouten

Omdat mensen handmatige tests uitvoeren, bestaat altijd de mogelijkheid dat er fouten worden gemaakt tijdens handmatige rooktests.

Om deze reden is handmatig testen meestal niet zo uitgebreid als geautomatiseerd testen, vooral als het gaat om het oppikken van subtiele bugs die gemakkelijker te missen zijn of bij het uitvoeren van extreem repetitieve tests waardoor testers hun aandacht zouden kunnen verliezen tijdens het testen.

 

Wanneer handmatige rooktests gebruiken

 

Handmatig rooktesten wordt meestal gebruikt in kleinere teams die misschien niet de middelen hebben om ingenieurs te sparen voor geautomatiseerd rooktesten, of in gevallen waarin extra menselijk inzicht en oordeel gewenst of nodig zijn.

Daarom worden handmatige rooktesten vaak uitgevoerd in rooktesten op integratief niveau.

 

2. Geautomatiseerde rooktesten

 

Geautomatiseerde rooktesten kunnen worden uitgevoerd door software-ingenieurs met de nodige coderingsvaardigheden om een reeks relevante use cases te maken en uit te voeren voor elke software build.

Geautomatiseerde smoke testing is veel sneller dan handmatig testen, en duurt meestal niet langer dan 30 tot 60 minuten, en kan op de achtergrond worden uitgevoerd terwijl alle leden van het ontwikkelings- en QA-team hun dagelijkse taken voortzetten.

Om die reden zijn geautomatiseerde rooktests gemeengoed geworden in de software-industrie, nu steeds meer bedrijven de efficiëntie op de werkplek willen verbeteren.

 

De voordelen van rooktestautomatisering

 

Automatisering van rooktesten biedt veel voordelen voor bedrijven die de tijd en de middelen hebben om het te implementeren. Het is snel en effectief, en omdat geautomatiseerde tests teams en middelen niet belasten, kunnen ze zelfs in kleine bedrijven regelmatig worden uitgevoerd.

 

Geautomatiseerd testen is snel

Geautomatiseerde rooktesten zijn veel sneller dan handmatige testen: de meeste geautomatiseerde testen duren niet langer dan 30 tot 60 minuten.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Handmatige tests kunnen in vergelijking uren duren.

Geautomatiseerde rooktesten vergen minimale middelen en zijn, eenmaal uitgevoerd, zeer eenvoudig uit te voeren.

 

Automatisering maakt dagelijkse rooktesten mogelijk

Volgens de huidige best practices in de industrie zijn dagelijkse rooktesten ideaal, vooral wanneer wordt gewerkt aan software die voortdurend in beweging is.

Handmatige smoke tests zijn te tijdrovend om dagelijks uit te voeren, maar geautomatiseerde smoke tests zijn gemakkelijk uit te voeren aan het begin van elke werkdag.

 

Automatisering elimineert menselijke fouten

Geautomatiseerde tests draaien op basis van scripts die vooraf zijn voorbereid en volgens zeer strenge normen zijn gemaakt. Dit betekent dat de kans dat een geautomatiseerde test een grote bug of een belangrijk probleem mist, zeer klein is.

 

Automatisering kan belasting- en prestatietests nabootsen

Belasting- en prestatietests beoordelen hoe goed een toepassing werkt wanneer veel gebruikers er tegelijk gebruik van maken. Geautomatiseerde smoke testing kan de extra belasting van meerdere gebruikers nabootsen op manieren die handmatige tests niet kunnen en een extra gegevenslaag bieden over de prestaties van de software in bepaalde omstandigheden.

 

De uitdagingen van rooktestautomatisering

 

Automatisering van rooktesten is niet zonder uitdagingen. Het kan meer tijd en middelen vergen om geautomatiseerde rooktesten uit te voeren, vooral in kleinere teams met minder ingenieurs tot hun beschikking.

 

Technische eisen

Geautomatiseerde rooktesten vereisen meer technische kennis en vaardigheden in codering dan handmatige rooktesten. Software-ingenieurs moeten de tijd en de kennis hebben om te weten hoe ze geautomatiseerde tests moeten maken voordat deze kunnen worden uitgevoerd, en niet alle teams zullen noodzakelijkerwijs de middelen hebben om dit te doen.

 

Gebrek aan menselijk inzicht

Automatiseringstesten bieden een algemeen beeld van de functionaliteit van een softwareapplicatie, en bij het uitvoeren van een geautomatiseerde rooktest krijgen softwaretesters inzicht in de basisfuncties van de software, wat het uiteindelijke doel is van een rooktest.

Geautomatiseerde tests bieden echter geen inzicht in meer subjectieve aspecten van softwareprestaties, zoals bruikbaarheid en toegankelijkheid.

 

Wanneer automatisering van rooktesten toepassen

 

Automatisering wordt vaak ingezet bij rooktesten omdat het doel van rooktesten eenvoudigweg is de basisfunctionaliteit te controleren, iets waar geautomatiseerde testen relatief goed in zijn.

Teams met voldoende technische vaardigheden om geautomatiseerde rooktesten uit te voeren, hebben waarschijnlijk de meeste tijd en middelen om in dit proces te investeren, en grotere, meer gevestigde bedrijven zullen waarschijnlijk meer druk voelen om te voldoen aan de beste praktijknormen voor dagelijkse rooktesten.

 

Automatisering van rooktesten vs. handmatige rooktesten

 

Er is geen goede of verkeerde manier om rooktesten uit te voeren, en wat voor het ene team goed werkt, werkt misschien niet voor het andere.

Alvorens een rooktest uit te voeren, moeten softwareteams hun doelstellingen, middelen en langetermijnprojectplannen in overweging nemen. Het handmatig testen van software kan leerzaam zijn voor jonge professionals die nieuw zijn in QA, maar voor meer gevestigde teams is er zelden een voordeel om te kiezen voor handmatig testen boven geautomatiseerd testen.

 

Hybride rooktests

 

De derde optie voor teams die niet kunnen kiezen tussen handmatige en geautomatiseerde smoke testing en sanity testing is kiezen voor hybride testen.

Hybride tests combineren aspecten van zowel handmatige als geautomatiseerde rooktesten om de algehele prestaties en efficiëntie van de tests te verbeteren. Bij de hybride rooktestmethode kan het grootste deel van de test geautomatiseerd zijn, maar kunnen bepaalde aspecten handmatig worden uitgevoerd. Hierdoor kunnen teams meer aandacht besteden aan die aspecten van de bouw die dat nodig hebben, terwijl de totale tijdsvereisten van de rooktest laag blijven.

 

Soorten rooktesten

 

Rooktesten kunnen grofweg worden onderverdeeld in twee categorieën, formele en informele rooktesten. Of smoke testing formeel of informeel is, hangt af van de vraag of het formeel door de QA lead wordt geïnitieerd of gewoon als onderdeel van de ontwikkeling wordt uitgevoerd.

 

1. Formele rooktesten

Bij een formele rooktest geven softwareontwikkelaars de softwarebouw door aan de QA engineer of QA lead voor een formele test. De QA lead wijst testers toe aan de taak van smoke testing en verzoekt hen de smoke test uit te voeren met behulp van smoke testing tools zoals automatisering of handmatig.

Bij het uitvoeren van formele rooktesten bundelen QA testers de resultaten van de test in een formeel rapport dat door de QA lead kan worden geanalyseerd.

Formele rooktesten worden uitgevoerd op belangrijke punten tijdens het bouwproces van de software, bijvoorbeeld voordat nieuwe functies functioneel worden getest.

 

2. Informele rookproeven

Informele rooktesten zijn rooktesten die worden uitgevoerd op een software build tijdens het ontwikkelings- of QA-proces die niet formeel worden gerapporteerd of vereist door de QA lead.

Dagelijkse rooktesten, die veel softwareteams volgens protocol uitvoeren, zijn een voorbeeld van informele rooktesten.

Informele tests kunnen op ad-hocbasis worden uitgevoerd wanneer QA-technici denken dat het nuttig kan zijn.

 

Wat je nodig hebt om te beginnen met rooktesten

 

Voordat u kunt beginnen met rooktesten bij het testen van software, is het belangrijk om alle dingen te verzamelen die u nodig hebt, waaronder gegevensbestanden en vaardigheden binnen uw organisatie.

Wat u nodig hebt om uw rooktest uit te voeren, hangt af van de vraag of u geautomatiseerde of handmatige rooktests wilt uitvoeren, en welke testtools u gebruikt om het proces te vergemakkelijken.

 

1. Een lijst van testgevallen

Voordat u een rooktest start, hebt u een uitgebreide lijst nodig van alle testgevallen die u met uw rooktest wilt evalueren.

Testgevallen zijn individuele sets van acties die u wilt testen om te beoordelen of het resultaat van het nemen van deze acties overeenkomt met de uitkomsten die u verwacht.

Een zeer eenvoudige test kan bijvoorbeeld zijn dat de software het hoofddashboard laadt wanneer u de toepassing opent.

 

2. Testbestanden

Voordat u uw rooktest kunt uitvoeren, moet u alle testbestanden verzamelen waarop u uw rooktest gaat uitvoeren. Misschien kunt u de opdrachtregel van de rooktestsoftware die u gebruikt gebruiken om al uw bestanden op één plaats te verzamelen.

Hoe u uw bestanden verzamelt en waar u ze opslaat, hangt af van de manier waarop uw organisatie werkt.

 

3. Rooktestinstrumenten

U kunt een basisrooktest uitvoeren zonder gebruik te maken van specifieke hulpmiddelen, maar het gebruik van hulpmiddelen voor rooktests kan u helpen de nauwkeurigheid van uw resultaten te verbeteren en het rooktestproces te versnellen.

Onderzoek eerst online rooktesthulpmiddelen en kies de software die uw rooktest automatiseert of optimaliseert in relatie tot uw specifieke behoeften en budget.

 

Het rooktestproces

 

De beste manier om een rooktest uit te voeren verschilt per organisatie, en als u nieuw bent met rooktesten wilt u misschien experimenteren met verschillende benaderingen om te zien wat het beste werkt voor uw team.

Hieronder staat een voorbeeld van hoe u een basis rooktest kunt uitvoeren om de kernfuncties van uw software te beoordelen.

 

Stap 1: Kies uw testgevallen

De eerste stap bij het uitvoeren van een rooktest is kiezen op welke testgevallen je je rooktest gaat uitvoeren.

Bij het ontwerpen van een smoke test moeten software engineers en QA engineers bedenken welke softwarefuncties het meest kritisch zijn voor de software en hoe deze functies het beste getest kunnen worden. Verspil geen tijd aan het testen van functies die niet belangrijk zijn voor de werking van de software.

 

Stap 2: Bouw rooktests

Als je eenmaal hebt vastgesteld welke testgevallen je gaat gebruiken, kun je testscripts schrijven om ze te testen. Gebruik één script voor rooktesten om de flexibiliteit tijdens het uitvoeren van de test te vergroten.

Als u ervoor kiest om rooktesten te automatiseren, hoeft u niet altijd handmatige testscripts te schrijven telkens wanneer u een rooktest wilt uitvoeren. U kunt software testing automation suites gebruiken om dit soort scripts te automatiseren.

 

Stap 3: rooktests uitvoeren

Zodra u uw rooktestscripts hebt gemaakt, kunt u ze uitvoeren op uw build om te zoeken naar bugs en andere grote fouten. Dit zou niet meer dan 30 tot 60 minuten moeten duren, en zodra uw tests klaar zijn kunt u de resultaten beoordelen om uw volgende stappen te bepalen.

 

Stap 4: Bugs repareren

Het doel van rooktesten bij softwareontwikkeling is het identificeren van belangrijke bugs of showstoppers voordat de volledige QA-testen van start gaan.

Als uw rooktesten belangrijke problemen aan het licht brengen die de kernfuncties van uw softwarebouw verstoren, is het belangrijk om de software en uw analyse terug te sturen naar het ontwikkelingsteam voor het oplossen van bugs voordat u verder gaat met QA.

 

Beste praktijken voor rooktesten

 

Smoke testing is een vertrouwde manier om belangrijke bugs in software builds in alle stadia van ontwikkeling op te sporen. De beste manier om ervoor te zorgen dat uw rooktesten efficiënt, nauwkeurig en productief zijn, is het volgen van de beste praktijken in de sector.

 

1. Voer vaak rooktesten uit

Het is niet altijd mogelijk om elke dag rooktesten uit te voeren, vooral als u handmatige tests uitvoert in plaats van geautomatiseerde rooktesten.

Voer zo vaak mogelijk smoke tests uit, en elke keer dat u wijzigingen in uw software doorvoert. Zodra u daartoe in staat bent, wordt het uitvoeren van dagelijkse rooktesten beschouwd als de beste praktijk.

 

2. Sla nooit testfasen over

Als u haast hebt, kan het verleidelijk zijn om sommige testfasen over te slaan om sneller te vorderen in het ontwikkelingsproces, maar zowel rook- als regressietests zijn essentieel om uw ontwikkeling op schema te houden.

Test uw builds altijd met smoke- en sanitytests voordat u naar de volgende fase gaat.

 

3. Test elke verandering

Er is niet één enkele toepassing voor rooktesten. U kunt en moet smoke tests gebruiken om elke verandering die u aanbrengt in een software build te testen en om uw software te testen tussen verschillende stadia van ontwikkeling.

Smoke tests moeten de voorloper zijn van integratietests, prestatietests en functionele tests.

 

4. Volg uw testresultaten

Het is een standaardpraktijk om de resultaten van een formele rookproef te testen, maar zelfs bij het uitvoeren van informele rookproeven moeten ingenieurs de resultaten bijhouden.

Dit maakt het gemakkelijker om de resultaten terug te koppelen naar de ontwikkelaars en bij te houden welke functies de test niet doorstaan.

 

5. Voer uw rooktest twee keer uit

Uw rooktest twee keer uitvoeren lijkt misschien overkill, maar als u echt elke bug tijdens uw test wilt vangen, kunt u hem het beste twee keer uitvoeren.

Dit zorgt ervoor dat uw rooktest alle kans heeft om belangrijke bugs en problemen op te sporen die verdere problemen kunnen veroorzaken als ze niet onmiddellijk worden opgelost.

 

6. Het juiste type rooktest kiezen

Of u handmatige of geautomatiseerde rooktesten moet gebruiken, hangt af van de grootte en de behoeften van uw team. Zorg ervoor dat u het beste testtype voor uw project kiest om de efficiëntie te optimaliseren zonder afbreuk te doen aan de nauwkeurigheid van uw resultaten.

 

Soorten outputs van een rooktest

Wanneer u een rooktest uitvoert, kunt u verwachten dat uw rooktest een van de twee verschillende resultaten oplevert voor elk testgeval dat u beoordeelt: geslaagd of niet geslaagd.

1. Pas

Een mogelijke uitkomst voor elk testgeval dat u uitvoert, is dat de rooktest slaagt. Dit betekent dat het werkelijke resultaat van de test overeenkomt met het verwachte resultaat van de test.

Als u bijvoorbeeld een test uitvoert over wat er gebeurt als u de toepassing laadt en deze laadt naar het scherm dat bij het laden zou moeten openen, zou uw script dit als een pass moeten weergeven.

2. Fail

Als uw rooktest voor een bepaald testgeval mislukt, betekent dit meestal dat het feitelijke resultaat van de test niet overeenkwam met het verwachte resultaat van de test.

Als u bijvoorbeeld een winkelapplicatie test en een van de testgevallen die u uitvoert test de functionaliteit van het toevoegen van artikelen aan uw winkelmandje, dan is de test mislukt als de artikelen die u aan uw winkelmandje toevoegt niet in uw winkelmandje verschijnen zoals u verwacht.

 

Voorbeelden van testgevallen voor rooktesten

Wanneer u probeert te bedenken welke testgevallen u in uw rooktest moet opnemen, maak dan een lijst van de kernfuncties van uw software en bedenk welke daarvan essentieel zijn voor het draaien en gebruiken van de software.

Enkele voorbeelden van testgevallen voor rooktesten kunnen u helpen te bepalen welke testgevallen u in uw eigen rooktest moet gebruiken.

 

1. Valideren van inloggegevens

Als uw toepassing vereist dat gebruikers inloggen, wilt u misschien een testcase maken die controleert of het proces van het valideren van inloggegevens werkt zoals het hoort.

Maak hiervoor een script dat het inloggen, het uitvoeren van de test en het controleren van de resultaten automatiseert. Als de software inlogt zoals verwacht, slaagt dit rooktestgeval.

 

2. Een nieuw document maken

U zou een testcase kunnen maken om na te gaan of uw software de gebruikers in staat stelt een nieuw document te creëren. Maak een script dat het maken, benoemen en opslaan van documenten in uw software automatiseert en voer het uit.

Alle grote problemen die zich voordoen en dit proces verhinderen, zouden betekenen dat deze rooktest mislukt.

 

3. Uitloggen

Als uw toepassing een inlogfunctie heeft, moet zij ook een uitlogfunctie hebben. Voer een script uit om te testen wat er gebeurt als gebruikers op ‘uitloggen’ klikken.

Als de gebruiker niet succesvol kan uitloggen wanneer hij op deze knop klikt, mislukt de rooktest.

 

Soorten fouten en bugs die door “smoke testing” worden ontdekt

 

Smoke tests kunnen u helpen fouten en bugs op te sporen die de kernfunctionaliteit van uw software verstoren. Afhankelijk van wanneer u uw rooktest uitvoert en wat u wilt controleren, kunt u via rooktesten verschillende soorten fouten en bugs vinden.

 

1. Functionele fouten

Functionele fouten zijn bugs die ontstaan wanneer uw software zich niet gedraagt zoals u verwacht, of wanneer het niet goed functioneert.

De meeste testgevallen die u met rooktesten zult controleren zijn functionele testen, en dus zullen functionele fouten het meest waarschijnlijk worden geïdentificeerd door dergelijke rooktesten.

 

2. Logische fouten

Logische fouten zijn fouten in de logica van de code en kunnen er ook toe leiden dat de software zich verkeerd gedraagt. Logische fouten kunnen ertoe leiden dat acties een onjuiste output produceren of zelfs software crashen.

Een veel voorkomende logische fout is de oneindige lus, waardoor de software steeds dezelfde handelingen herhaalt tot hij vastloopt.

 

3. Integratie bugs

Als u een rooktest op integratieniveau uitvoert, kunt u tijdens de test integratiebugs vinden. Deze doen zich voor wanneer twee afzonderlijke sets code niet feilloos met elkaar integreren. Ze kunnen worden veroorzaakt door een breed scala aan compatibiliteitsproblemen in de code en kunnen complexe oplossingen vereisen om te herstellen.

 

Gemeenschappelijke rooktestmethoden

 

Bij het uitvoeren van een rooktest kunnen QA-teams metrieken gebruiken om de resultaten van een rooktest te beoordelen en te beoordelen of de test geslaagd of mislukt is.

Naast de vraag of de software zijn kernfuncties naar behoren kan uitvoeren, kan met rooktesten onder meer de snelheid en de laadtijd van de software worden beoordeeld.

 

1. Software snelheid

Smoke tests kunnen worden gebruikt om te controleren of de snelheid en de laadtijd van de software voldoen aan bepaalde criteria die in afzonderlijke testcases zijn vastgelegd.

Als u bijvoorbeeld test hoe de software zich gedraagt wanneer u de toepassing laadt en de toepassing laadt zoals verwacht, maar het duurt twee minuten om op te starten, kunt u dit markeren als een Mislukking omdat het niet voldoet aan de verwachte laadtijd.

 

2. Betrouwbaarheid

Het tweemaal uitvoeren van uw rooktest kan u ook helpen om de betrouwbaarheid van uw software te testen. Als bepaalde testgevallen eenmaal slagen maar eenmaal falen, wijst dit erop dat een fout in de code fouten veroorzaakt die misschien niet elke keer dat de software wordt gebruikt optreden, maar toch ernstige problemen voor de gebruikers kunnen veroorzaken.

 

De beste gratis rooktestprogramma’s

Tools voor rooktesten kunnen u helpen om rooktesten efficiënter en sneller uit te voeren, zodat u het meeste uit uw rooktesten kunt halen.

Hieronder staan enkele van de beste rooktestinstrumenten die vandaag gratis verkrijgbaar zijn.

 

5 beste gratis tools voor rooktests

1. ZAPTEST GRATIS editie

ZAPTEST is een gratis tool waarmee gebruikers softwaretests en RPA kunnen automatiseren zonder een cent te betalen.

U kunt ZAPTEST FREE edition gebruiken om eenvoudige rooktesten uit te voeren op meerdere platforms, waaronder mobiel, web, API en LOAD-platforms.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Als u geautomatiseerde rooktesten wilt uitproberen, kan de gratis editie van ZAPTEST u helpen de voordelen van automatisering uit de eerste hand te zien. Het is ook gemakkelijk te gebruiken, zelfs als je geen technische achtergrond hebt, omdat het een codeloze interface heeft en gebruik maakt van geavanceerde computer vision-technologie.

Het belangrijkste is dat ZAPTEST FREE goed is…. voor altijd gratis! Veel rooktesten en algemene softwareautomatiseringshulpmiddelen hebben daarentegen een initiële testperiode, waarna u een abonnement moet betalen.

 

2. Selenium

Selenium is een gratis, open-source tool waarmee u verschillende soorten tests op uw software kunt uitvoeren, waaronder rook- en regressietests. Het werkt met veel verschillende programmeertalen en is bijzonder goed voor het testen van webapplicaties.

 

3. Appium

Als u rook- en saniteitstests wilt uitvoeren op mobiele apps, is Appium een betere keuze dan Selenium. Appium is eenvoudig te installeren en te gebruiken en kan worden gebruikt om eenvoudige rooktesten uit te voeren op apps die zijn ontwikkeld voor zowel iOS als Android.

 

4. Testlink

Testlink is een gratis, web-based management tool waarmee gebruikers testplannen en testgevallen kunnen opstellen binnen één gestructureerd kader. Testlink kan u helpen uw rooktesten te plannen en uw verwachtingen en metriek te schetsen voordat u begint met rooktesten.

 

5. QA Wolf

QA Wolf is een gratis, end-to-end testtool waarmee gebruikers een geautomatiseerde QA-rooktest kunnen maken naast andere functionele tests. QA Wolf is zelfs bruikbaar voor mensen zonder technische of coderingsvaardigheden, wat betekent dat het voor de meeste QA-teams een geweldige introductie tot testautomatisering is.

 

De beste enterprise smoke testing tools

 

Als u bereid bent een beetje geld te investeren in uw rooktesttools, kunt u enterprise tools kopen met uitgebreidere rooktestmogelijkheden en grondigere resultaten.

Hieronder volgt een lijst van vijf van de beste enterprise smoke test automation tools op de markt.

 

5 beste enterprise smoke test automation tools

 

1. ZAPTEST ENTERPRISE editie

De ZAPTEST ENTERPRISE editie is een software testing & RPA suite die elk type test volledig kan automatiseren, inclusief smoke testing.

De gratis versie is geschikt voor kleinere bedrijven die willen weten wat ZAPTEST kan, maar als u op zoek bent naar een betaalde oplossing die gebruiksvriendelijk is en geschikt voor het testen van elke software of app, op elk platform, browser of apparaat, EN met 1SCRIPT-implementatie over al deze, dan is ZAPTEST ENTERPRISE een geweldige plek om te beginnen.

 

2. SoapUI

SoapUI is een testtool voor ondernemingen waarmee eenvoudig end-to-end QA-tests op software kunnen worden beheerd en uitgevoerd. Het is een relatief eenvoudig te installeren hulpmiddel, maar het heeft zijn beperkingen, die tot uiting komen in hun prijsstelling.

 

3. Testim

Testim is een betaalde smoke test tool die AI gebruikt om codeloze tests te maken die de functionaliteit van uw software beoordelen. De Javascript API van Testim kan worden gebruikt om tests te refactoriseren, aan te passen en te debuggen.

 

4. T-Plan Robot

T-Plan Robot is een enterprise testing tool waarmee QA engineers scripted user actions en Robotic Process Automation (RPA) kunnen automatiseren op Windows, Mac, Linux en Mobile. U kunt T-Plan Robot gebruiken voor het automatiseren van rooktesten op een reeks toepassingen en geautomatiseerde scripts maken die op belangrijke punten tijdens de ontwikkeling kunnen worden uitgevoerd.

 

5. Regenwoud QA

Rainforest QA is een QA smoke test tool waarmee gebruikers zowel manuele als geautomatiseerde smoke testing kunnen beheren en implementeren vanuit één enkel dashboard. Dit maakt het ideaal voor organisaties die de hybride aanpak willen uitproberen, en het is geschikt voor een groot aantal platforms, waaronder cloud-gebaseerde toepassingen, Windows en Mac.

 

Wanneer moet u hulpmiddelen voor bedrijfs- vs. gratis rooktesten gebruiken?

 

Enterprise- en gratis rooktestprogramma’s kunnen op enigszins verschillende manieren aan vergelijkbare behoeften voldoen. Meestal dienen gratis hulpmiddelen als een uitstekende toegangspoort voor organisaties die vertrouwd zijn met handmatige “smoke testing”, maar die geautomatiseerde “smoke testing” nader willen onderzoeken.

Ze zijn misschien ook meer geschikt voor zeer kleine startende bedrijven waar het geld voor betaalde tools er gewoon nog niet is.

Enterprise testing tools worden meestal een meer haalbare optie naarmate bedrijven uitbreiden. Ze bieden een aantal voordelen ten opzichte van gratis tools, meestal meer flexibiliteit, betere ondersteuning en gebruiksvriendelijkere interfaces die het zelfs voor niet-technische professionals gemakkelijk maken om geautomatiseerde rooktesten uit te voeren.

 

Checklist voor rooktests

 

Voordat het software QA team een rooktest start, kan het deze checklist gebruiken om er zeker van te zijn dat ze elke stap van het rooktestproces afdekken.

● Identificeer de rooktestinstrumenten die je gaat gebruiken
● Kies of je een handmatige of geautomatiseerde test gaat maken
Selecteer de testgevallen die u wilt testen
● Maak testscripts voor elk geval
Identificeer de “pass”-vereisten voor elk testgeval
Voer uw rooktesten uit
De resultaten analyseren
Feedback naar ontwikkeling en QA

 

Conclusie

 

Smoke testing is een essentiële stap in softwareontwikkeling en QA. Het zorgt ervoor dat een product functioneel is voordat verdere tests plaatsvinden, wat het risico voorkomt dat QA-teams tijd en middelen verspillen door intensieve functionele tests uit te voeren op builds die nog niet stabiel zijn.

Smoke testing is een relatief snel en eenvoudig proces dat door softwareteams zo vaak mogelijk moet worden uitgevoerd.

Naarmate bedrijven streven naar optimale efficiëntie door het gebruik van geavanceerde tools die hyperautomatisering, RPA en andere gerelateerde technologieën ondersteunen, worden geautomatiseerde rooktests steeds gebruikelijker in organisaties van elke omvang.

Zowel handmatige als geautomatiseerde rooktesten hebben nog steeds een plaats in hedendaagse QA-omgevingen, maar naarmate geautomatiseerd testen meer gemeengoed wordt, zal het ongetwijfeld de norm worden.

 

FAQ en hulpmiddelen

 

Wat zijn de beste cursussen over rooktestautomatisering?

 

Als u meer wilt leren over rooktestautomatisering, zijn enkele voorbeelden van online cursussen die u zou kunnen volgen:

Coursera rooktestcursussen
Udemy rooktestcursussen
Skillshare rooktestcursussen

Een van de beste cursussen voor beginners is de Certified Tester ISTQB Foundation Level (CTFL), beschikbaar op Udemy.

Elk van deze online bronnen biedt rooktestcursussen aan voor leerlingen van verschillende niveaus, en het is mogelijk om op deze sites zowel gratis als betaalde cursussen te volgen.

Als u gecertificeerd wilt worden, zoek dan naar cursussen die geaccrediteerd zijn door CAST.

 

Wat zijn de beste boeken over rooktesten?

 

Als u meer wilt weten over rooktesten, kunt u boeken over softwaretesten en rooktesten lezen om uw begrip van de benaderingen en voordelen van rooktesten te ontwikkelen. Enkele van de beste boeken over rookproeven zijn:

De kunst van het testen van software, door Glenford J Myers, Tom Badgett en Corey Sandler.
Software testen, door Ron Patton
Software Test Automation, door Mark Fewster en Dorothy Graham.

Er zijn echter veel fantastische boeken over softwaretesten die u kunnen helpen meer te begrijpen over het hoe, waarom en wat van testen.

Kies een boek dat u aanspreekt en dat de onderwerpen die u het meest interesseren verder uitdiept.

 

Wat zijn de top 5 interviewvragen over rooktesten?

 

Als u overweegt te solliciteren voor een functie waarvoor rooktesten nodig zijn, bereid u dan voor op uw sollicitatiegesprek door uw antwoorden op veelgestelde vragen klaar te hebben, zoals:

Wanneer is het juiste moment om rooktesten uit te voeren?
Hoe beslis je welke testgevallen je in een rooktest gebruikt?
Hoe verschillen rooktesten van andere soorten testen, zoals sanity testing?
Hoeveel coderingskennis is nodig om rooktesten uit te voeren?
Wat doet u als een rooktest mislukt?

 

Wat zijn de beste YouTube-tutorials over rooktesten?

 

Als u een visuele leerling bent, kunt u deze YouTube-video’s gebruiken om meer te leren over rooktesten:

Edureka rooktest tutorial
Wat zijn rooktesten?
Smoke testing vs sanity testing

 

Hoe onderhoud je rooktesten?

 

Onderhoud van rooktesten is ervoor zorgen dat de rooktesten die u maakt gezond en relevant blijven terwijl uw softwarebouwproject doorgaat.

Dagelijks rooktesten uitvoeren en nieuwe testgevallen creëren wanneer dat nodig is.

U kunt ook de voordelen van uw rooktesten maximaliseren door nauw samen te werken met die ontwikkelaars wier bijdragen de kwaliteit van hun code niet verbeteren.

 

Wat is rooktesten in software engineering?

 

Smoke testing in software engineering wordt ook wel build verification testing genoemd en is een eenvoudige en snelle test om er zeker van te zijn dat een software build stabiel is.

Smoke testing wordt gebruikt om de kernfuncties van een build te testen, en dient als voorafgaande test voordat verdere QA testen plaatsvinden.

 

Smoke testing vs. sanity testing

 

Smoke testing en sanity testing zijn beide soorten testen waarbij snel de kernfuncties van een software-build of -product worden getest.

Maar terwijl bij smoke testing wordt getest of de kernfuncties van de software zich gedragen zoals verwacht, wordt bij sanity testing meestal nagegaan of bugreparaties vastgestelde problemen hebben verholpen.

Smoke testing is een meer formeel en gedocumenteerd proces dat gewoonlijk wordt uitgevoerd voordat een build als stabiel wordt geverifieerd, terwijl sanity testing een informeel type test is dat kan worden uitgevoerd als onderdeel van regressietests op relatief stabiele builds.

 

Smoke testing vs regressietests

 

Smoke- en regressietests zijn beide soorten tests die nagaan of de software nog goed functioneert nadat nieuwe wijzigingen zijn aangebracht.

Rooktesten zijn echter een relatief snelle en weinig diepgaande vorm van testen die alleen de kernfuncties controleren en ervoor zorgen dat de software stabiel is.

Regressietests zijn diepere tests die veel langer duren en de build gedetailleerder beoordelen.

 

Smoke testing vs sanity testing vs regressietests

 

Wanneer u smoke- en sanity tests vergelijkt met regressietests, is het belangrijk te begrijpen dat alle drie deze soorten tests noodzakelijk zijn voor goede softwareontwikkeling en QA.

Smoke testing en sanity testing bieden een snelle manier om na te gaan of software normaal functioneert, terwijl regressietests dieper inzicht bieden in de werking van het product.

QA-teams testen software eerst met rooktests, en als de software deze controle doorstaat, kunnen sanity tests en later regressietests plaatsvinden.

Geautomatiseerd testen met behulp van smoke testing tools wordt steeds gebruikelijker, maar sommige soorten testen, zoals regressietesten, zijn nog niet volledig te automatiseren vanwege de complexe aard van de test.

Als u op zoek bent naar tools om tests uit te voeren op Windows-platforms, iOS, Android, UI-tests, Linux en nog veel meer, download dan 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