Adhoc Testen: A Brief Note With Examples

FacebookTwitterLinkedInShare

Adhoc-testen worden meestal uitgevoerd om het systeem te doorbreken en op onconventionele manieren. Het meest verbazingwekkende kenmerk van adhoc-testen is dat er geen testontwerptechniek bestaat om testgevallen te maken.

Het proces wordt gewoonlijk uitgevoerd om mazen in de software te vinden. Aangezien Adhoc-testen geen testgevallen heeft, wordt het vaak uitgevoerd zonder enige documentatie.

Heb een blik op het proces in detail

Adhoc-testen is een techniek die valt onder de categorie ‘Ongestructureerd testen’.

adhoc-principe

Wat zijn gestructureerde en ongestructureerde tests?

Gestructureerde tests

In deze aanpak is elke activiteit die tijdens de testprocedure plaatsvindt, van het maken van testgevallen tot de sequentiële uitvoering ervan, in een script vastgelegd. De testers volgen dit script om de tests volgens het script uit te voeren.

Ongestructureerd Testen

In deze benadering wordt het testen meestal gedaan door middel van fouten raden, waarbij de testers de testgevallen creëren, tijdens het testproces zelf.

Wat is Adhoc Testen?

Adhoc testdiagram

Zoals hierboven besproken, is het een soort ongestructureerde testaanpak, waarbij geen georganiseerd plan wordt gemaakt voordat met het testproces wordt begonnen.

Daarom wordt er voorafgaand aan het testen geen documentatie van eisen of planning en ontwerp van testgevallen gemaakt.

Ad-Hoc testen wordt meestal uitgevoerd door een tester die een sterke kennis van de te testen software heeft, met betrekking tot wat het doet en hoe het werkt.

Dit testen wordt gedaan door willekeurig testgevallen te creëren door fouten te raden en ze uit te voeren, zonder enige vereisten voor de test te volgen.

Een belangrijk deel van dit testen is het achterhalen van de potentiële gebieden van de software, waar fouten aanwezig zouden kunnen zijn.

Dit is de reden waarom het soms ook bekend staat als Monkey Testing of Random Testing. Daarom is het belangrijk dat alleen testers met een goede kennis van de software deze test uitvoeren.

Een voordeel van ad hoc-testen is dat het heel wat tijd bespaart, die anders gaat zitten in het opstellen van documenten zoals testvereisten, testcase-planning, ontwerpen, enz.

Het wordt ook meestal uitgevoerd nadat het gestructureerde testen al is uitgevoerd. Dit wordt gedaan om ongewone fouten in de software te ontdekken die niet konden worden opgespoord door de vooraf geschreven testgevallen te volgen.

Typen ad hoc-testen

1) Buddy-testen

Bij dit type ad hoc-testen worden tests uitgevoerd door een team van ten minste twee personen. Dit team bestaat gewoonlijk uit ten minste één softwaretester en één softwareontwikkelaar.

Dit type testen vindt plaats nadat het uitvoeren van unit-testen van een module is voltooid.

Het team van de twee ‘buddy’s’ werkt samen aan die module om geldige testgevallen te creëren.

Dit wordt gedaan zodat de tester niet eindigt met het rapporteren van fouten die door ongeldige testgevallen worden gegenereerd. Deze vorm van testen kan ook worden beschouwd als de combinatie van zowel unit- als systeemtesten.

2) Monkey Testing

De willekeurigheid van de aanpak die bij dit testen wordt gebruikt, is de reden waarom het wordt aangeduid als ‘monkey testing’.

Hierbij wordt de te testen software voorzien van willekeurige inputs, waarvoor hun overeenkomstige outputs worden geobserveerd.

Op basis van de verkregen outputs, wordt elk voorkomen van fouten, inconsistenties, of systeemcrashes bepaald.

3) Paar testen

Dit testen lijkt veel op buddy testen. Nochtans, hier, werkt een paar van slechts de testers samen aan de modules voor het testen.

Zij werken samen om ideeën, meningen, en kennis over dezelfde machine te delen om fouten en tekortkomingen te identificeren.

Testers worden gekoppeld op basis van hun kennisniveau en expertise, om een ander inzicht te krijgen in een probleem.

Karakteristieken van Adhoc Testen

  • Dit testen wordt gedaan nadat formele testtechnieken al zijn uitgevoerd op de software. De reden hiervoor is dat ad-hoc tests worden uitgevoerd om de afwijkingen in de applicatie te ontdekken, die niet kunnen worden voorspeld voorafgaand aan het testen.
  • Dit testen kan alleen worden uitgevoerd door die testers die een goede en grondige kennis hebben van de werking van de applicatie. Dit komt omdat effectief ‘fouten raden’ alleen kan worden gedaan wanneer de tester weet wat de applicatie doet en hoe deze werkt.
  • De ad hoc testtechniek is het meest geschikt voor het vinden van bugs en inconsistenties die aanleiding geven tot kritieke leemten in een applicatie. Dergelijke fouten zijn meestal zeer moeilijk aan het licht te brengen.
  • Deze testtechniek vergt in vergelijking minder tijd dan andere testtechnieken. Dit komt omdat het wordt gedaan zonder voorafgaande planning, ontwerpen en structureren.
  • Adhoc-testen worden slechts eenmaal uitgevoerd, omdat eventuele fouten die worden gevonden, opnieuw moeten worden getest.

Voorbeelden van adhoc-testen

  • Testen op de goede werking van een toepassing wanneer de browserinstellingen anders zijn. Bijvoorbeeld, het identificeren van fouten die optreden wanneer de optie voor JavaScript is uitgeschakeld in verschillende browsers, enz.
  • Het testen van de toepassing over platforms. Het is essentieel om te controleren of de ontwikkelde applicatie vloeiend kan draaien op verschillende besturingssystemen of browsers.
  • Invoer aan het systeem geven die buiten het bereik van geldige invoer valt, om te controleren of de resulterende actie die door de applicatie wordt ondernomen juist is of niet.
  • De URL van de applicatie kopiëren en manipuleren om deze op een andere browser uit te voeren. Dit wordt gedaan om ervoor te zorgen dat onbevoegde gebruikers niet in staat zijn om ongeautoriseerde toegang tot het systeem te krijgen.
  • Het doorlopen van een reeks willekeurige stappen of het willekeurig navigeren door de toepassing om de resultaten te controleren die worden verkregen door een bepaalde combinatie van ongebruikelijke inputs te doorlopen.

Wanneer ad hoc testen uitvoeren

In de regel worden ad hoc testen uitgevoerd wanneer er niet genoeg tijd is om uitputtende en grondige testen uit te voeren, waaronder het opstellen van test requirements document, test cases, en test case ontwerpen.

Het perfecte moment om dit soort tests uit te voeren is na de voltooiing van formele testtechnieken.

Hoewel ad-hoc tests ook midden in de ontwikkeling van de software kunnen worden uitgevoerd.

Het kan worden uitgevoerd na de volledige ontwikkeling van de software, of zelfs nadat een paar modules zijn ontwikkeld.

Het kan ook worden uitgevoerd tijdens het proces van formele testmethoden ook.

Er zijn een paar situaties waarin dit testen, echter, niet moet worden uitgevoerd. Daarom moet elke tester weten wanneer hij dit testen moet vermijden.

Hieronder staan een paar omstandigheden wanneer ad-hoc testen niet mogen worden uitgevoerd:

  • Ad-hoc testen mogen niet worden uitgevoerd wanneer er Beta testen worden uitgevoerd. Bij bètatesten zijn namelijk de klanten betrokken, die de ontwikkelde software testen om suggesties te doen voor nieuwe functies die moeten worden toegevoegd of om de eisen eraan te wijzigen.
  • Het wordt ook afgeraden om deze tests uit te voeren in de testgevallen waarin al bestaande fouten zitten. De fouten moeten eerst goed worden gedocumenteerd voordat ze uit het systeem worden gehaald.

Wat zijn de voordelen van ad hoc testen?

  • Een voordeel van ad hoc testen is dat veel fouten, die meestal onopgemerkt blijven wanneer alleen formele testmethoden worden gebruikt, kunnen worden gevonden door het willekeurig testen van de applicatie.
  • De testers kunnen de applicatie vrij verkennen, volgens hun intuïtie en begrip van de applicatie. Zij kunnen dan de tests uitvoeren terwijl zij gaan, hen helpend in het vinden van fouten tijdens dit proces.
  • Testers zowel als de ontwikkelaars van de toepassing kunnen gemakkelijk de toepassing testen, aangezien geen testgevallen moeten worden gepland en ontworpen. Dit helpt de ontwikkelaars om meer effectieve en foutloze codes gemakkelijk te genereren.
  • Dit testen kan ook helpen bij het creëren van unieke testgevallen die fouten ineffectief kunnen detecteren. Daarom kunnen dergelijke testgevallen worden toegevoegd aan formele testen met andere geplande testgevallen.
  • Ad-hoc testen kunnen worden uitgevoerd op elk moment tijdens de software-ontwikkeling levenscyclus, omdat het niet volgen van een formeel proces.
  • Het kan worden gecombineerd met andere testtechnieken en worden uitgevoerd om meer informatieve en effectieve resultaten te produceren.

Wat zijn de nadelen van Adhoc-testen?

  • Omdat het testproces niet is gedocumenteerd en er geen specifieke testcase wordt gevolgd, wordt het voor de tester erg moeilijk om een fout te herstellen. Dit komt omdat de tester zich de exacte stappen moet herinneren die hij heeft gevolgd om die fout te krijgen, wat niet elke keer mogelijk is.
  • Soms, als gevolg van de uitvoering van ongeldige testgevallen die willekeurig door de tester zijn ontwikkeld, worden ongeldige fouten gerapporteerd, wat een probleem wordt in de daaropvolgende foutopsporingsprocessen.
  • Als de testers geen voorkennis hebben over de werking van de te testen applicatie, dan zal het uitvoeren van ad-hoc tests niet in staat zijn om veel fouten aan het licht te brengen. Dit komt omdat de testers moeten werken met het gissen naar fouten en ter plekke intuïtief testgevallen moeten creëren en uitvoeren.
  • Ad-hoc testen biedt geen zekerheid dat fouten gevonden zullen worden. Proactief fouten raden voor het testen hangt volledig af van de vaardigheid en kennis van de tester.
  • Omdat er geen eerder gemaakte en gedocumenteerde testgevallen zijn, blijft de hoeveelheid tijd en inspanningen die in dit testen gaan onzeker. Soms kan het vinden van zelfs maar één fout een enorme hoeveelheid tijd kosten.

Best Practices to Conduct Adhoc Testing

Voor het effectief uitvoeren van de Ad-Hoc testtechniek is het belangrijk om te weten wat de meest effectieve en efficiënte manieren zijn om dit te doen.

Dit komt omdat als de tests niet op de juiste manier worden uitgevoerd, de moeite en tijd die in de tests zijn gestoken verspild zullen zijn.

Daarom, om dit type van het testen uit te voeren, moet men de beste praktijken kennen die in een meer uitvoerige benadering van het testen kunnen helpen:

1) Goede Softwarekennis

Zorg ervoor dat de tester die voor het testen van de toepassing door de ad-hoc benadering wordt toegewezen een goede greep op de toepassing heeft.

De tester moet bekend zijn met alle functies van de toepassing, zodat een betere ‘error guessing’ op de applicatie te vergemakkelijken.

Met voldoende kennis ter ondersteuning van de tester het testproces, het vinden van meer fouten, bugs, en inconsistenties gemakkelijker geworden.

2) Zoek uit fout-gevoelige gebieden

Als testers, hoe zijn niet vertrouwd met de toepassing, dan is de beste praktijk voor hen om te beginnen hun testproces is om te controleren op het deel van de toepassing waar de meerderheid van de fouten liggen.

Het kiezen van dergelijke gevoelige gebieden om ad-hoc tests uit te voeren, kan hen helpen gemakkelijker fouten te vinden.

3) Prioritize Test Areas

Het is altijd beter om te beginnen met testen vanuit de gebieden van de applicatie die het meest wordt gebruikt door de eindgebruikers of klanten. Dit helpt bij het beveiligen van de belangrijke functies en het melden van een bug beforehand.

4) Ruwweg Plan Het Testplan

Hoewel Adhoc testen geen voorafgaande planning of documentatie vereist, blijkt het zeer nuttig en efficiënt te zijn als een ruw plan vooraf wordt gemaakt.

Het noteren van de belangrijkste aanwijzingen en gebieden die testen vereisen kan de testers helpen om het maximale deel van de applicatie in een korte hoeveelheid tijd te dekken.

5) Hulpmiddelen

Het is essentieel om gebruik te maken van de juiste soort hulpmiddelen zoals debuggers, taakmonitors en profilers om het proces van testen te vergemakkelijken.

Dit komt omdat er momenten zijn waarop specifieke bugs en uitzonderingen niet kunnen worden gezien en niet worden gevangen tijdens het testen.

Het gebruik van de juiste hulpmiddelen kan echter helpen de fout in slechts een korte tijd te isoleren.

Adhoc testing vs Exploratory testing

Adhoc testing Exploratory testing
Testers moeten een duidelijk beeld hebben van de workflow van de applicatie Testers leren over de toepassing onderweg
Meer over het perfectioneren van het testproces Het is een leermethode om meer te weten te komen over de toepassing
Een vorm van positief testen Een vorm van negatief systeem
Er is geen plan Er zal een op handvest gebaseerd plan worden gebruikt
Er is geen voorgestelde tijdslimiet Tijdgebonden/karakter vector
Kan worden uitgevoerd door de software test engineer Hoeven te worden gedaan door de deskundige
Focus is op het toepassingsproces Gegevensinvoergebieden zullen de belangrijkste focus zijn
Complexiteit van tests zal niet veel last van dit proces Challenges betrokken

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.