Sanity Testing Vs Smoke Testing: Introductie en verschillen

Inhoudsopgave:

Anonim

Het verschil tussen rook- en gezondheidstests is het meest verkeerd begrepen onderwerp in softwaretests. Er is een enorme hoeveelheid literatuur over het onderwerp, maar de meeste zijn verwarrend. In het volgende artikel wordt geprobeerd de verwarring weg te nemen.

De belangrijkste verschillen tussen rooktesten en gezondheidstesten kunnen worden geleerd met behulp van het volgende diagram -

Rook testen versus testen op gezond verstand

Om het bovenstaande diagram te waarderen, laten we eerst begrijpen -

Wat is een softwarebouw?

Als u een eenvoudig computerprogramma ontwikkelt dat uit slechts één broncodebestand bestaat, hoeft u alleen dit ene bestand te compileren en te koppelen om een ​​uitvoerbaar bestand te maken. Dit proces is heel eenvoudig.
Meestal is dit niet het geval. Een typisch softwareproject bestaat uit honderden of zelfs duizenden broncodebestanden. Het maken van een uitvoerbaar programma van deze bronbestanden is een gecompliceerde en tijdrovende taak.
U moet "build" -software gebruiken om een ​​uitvoerbaar programma te maken en het proces wordt "Software Build" genoemd

Rook testen

Smoke Testing is een softwaretesttechniek die wordt uitgevoerd na het bouwen van software om te verifiëren dat de kritieke functionaliteiten van software goed werken. Het wordt uitgevoerd voordat er gedetailleerde functionele of regressietests worden uitgevoerd. Het belangrijkste doel van rooktesten is om een ​​softwareapplicatie met defecten af ​​te wijzen, zodat het QA-team geen tijd verspilt aan het testen van kapotte softwareapplicaties.

Bij rooktesten kozen de testcases ervoor om de belangrijkste functionaliteit of component van het systeem te behandelen. Het doel is niet om uitgebreide tests uit te voeren, maar om te verifiëren dat de kritieke functionaliteiten van het systeem goed werken.
Een typische rooktest zou bijvoorbeeld zijn: Controleer of de toepassing met succes wordt gestart, controleer of de GUI reageert ... enz.

BELANGRIJK VERSCHIL

  • Smoke Testing heeft als doel om "stabiliteit" te verifiëren, terwijl Sanity Testing een doel heeft om "rationaliteit" te verifiëren.
  • Smoke Testing wordt gedaan door zowel ontwikkelaars als testers, terwijl Sanity Testing wordt gedaan door testers.
  • Smoke Testing verifieert de kritieke functionaliteiten van het systeem, terwijl Sanity Testing de nieuwe functionaliteit verifieert, zoals bugfixes.
  • Rooktesten is een subset van acceptatietesten, terwijl Sanity-testen een subset is van regressietesten.
  • Rooktesten zijn gedocumenteerd of scripted, terwijl Sanity-testen dat niet zijn.
  • Bij rooktesten wordt het hele systeem van begin tot eind geverifieerd, terwijl Sanity Testing alleen een bepaald onderdeel verifieert.

Wat is gezondheidstesten?

Sanity-testen is een soort softwaretest die wordt uitgevoerd na ontvangst van een software-build, met kleine wijzigingen in code of functionaliteit, om na te gaan of de bugs zijn verholpen en dat er geen verdere problemen zijn ontstaan ​​als gevolg van deze wijzigingen. Het doel is om te bepalen of de voorgestelde functionaliteit ongeveer werkt zoals verwacht. Als de gezondheidstest mislukt, wordt de build afgewezen om tijd en kosten te besparen die nodig zijn voor een meer rigoureuze test.

Het doel is "niet" om de nieuwe functionaliteit grondig te verifiëren, maar om vast te stellen dat de ontwikkelaar enige rationaliteit (gezond verstand) heeft toegepast tijdens het produceren van de software. Als uw wetenschappelijke rekenmachine bijvoorbeeld het resultaat geeft van 2 + 2 = 5! Dan heeft het geen zin om de geavanceerde functionaliteiten zoals sin 30 + cos 50 te testen.

Rookproeven versus gezond verstand - Belangrijkste verschillen

Hieronder volgt het verschil tussen Sanity- en Smoke-testen:

Rook testen Sanity testen
Er worden rooktesten uitgevoerd om na te gaan of de kritieke functionaliteiten van het programma goed werken Sanity Testing wordt gedaan om te controleren of de nieuwe functionaliteit / bugs zijn verholpen
Het doel van deze tests is om de "stabiliteit" van het systeem te verifiëren om door te gaan met meer rigoureuze tests Het doel van het testen is om de "rationaliteit" van het systeem te verifiëren om door te gaan met meer rigoureuze testen
Dit testen wordt uitgevoerd door de ontwikkelaars of testers Sanity-testen bij het testen van software worden meestal uitgevoerd door testers
Rooktesten zijn meestal gedocumenteerd of scripted Gezondheidstesten zijn meestal niet gedocumenteerd en zijn niet beschreven
Rooktesten is een subset van acceptatietesten Sanity testing is een subset van regressietesten
Bij rooktesten wordt het hele systeem van begin tot eind getraind Bij het testen van gezond verstand wordt alleen het specifieke onderdeel van het hele systeem uitgeoefend
Rooktesten is als General Health Check Up Sanity Testing is als een gespecialiseerde gezondheidscontrole

Punten om op te merken.

  • Zowel Sanity- als Smoke-tests zijn manieren om tijd en moeite te verspillen door snel te bepalen of een toepassing te gebrekkig is om rigoureus te testen.
  • Smoke Testing wordt ook wel testeracceptatietesten genoemd.
  • Rooktesten die op een bepaalde build worden uitgevoerd, worden ook wel een buildverificatietest genoemd .
  • Een van de beste praktijken in de branche is het uitvoeren van een dagelijkse bouw- en rooktest in softwareprojecten.
  • Zowel rook- als gezondheidstests kunnen handmatig of met behulp van een automatiseringstool worden uitgevoerd . Wanneer geautomatiseerde tools worden gebruikt, worden de tests vaak geïnitieerd door hetzelfde proces dat de build zelf genereert.
  • Afhankelijk van de testbehoeften, moet u mogelijk zowel Sanity- als Smoke-tests uitvoeren in de software-build. In dergelijke gevallen voert u eerst rooktesten uit en gaat u vervolgens verder met Sanity Testing. In de industrie worden testcases voor Sanity Testing vaak gecombineerd met die voor rooktesten, om de testuitvoering te versnellen. Daarom is het gebruikelijk dat de termen vaak door elkaar worden gehaald en door elkaar worden gebruikt

Klik hier als de video niet toegankelijk is

Lees meer over rooktesten in software engineering