Elk van ons heeft de kans om onszelf te bewijzen als testers, en onze tests omvatten het gebruik van bijvoorbeeld utility-producten. Nadat we ze hebben ingeschakeld en vervolgens hebben gecontroleerd of ze hun functies uitvoeren en in lijn zijn met onze verwachtingen, kunnen we concluderen dat de apparaten goed functioneren. Als we defecten waarnemen die verband houden met hun gebruik, retourneren we ze voor klacht. Softwaretesting is gebaseerd op een vergelijkbaar principe.
Software ontwikkeld door programmeurs wordt onderworpen aan tests die bestaan uit het controleren van de correcte werking en naleving van de specificatie. Dit wordt softwareverificatie genoemd.
Specificatie is een document dat alle noodzakelijke informatie over de software bevat, bijvoorbeeld een applicatie, en het bevat eerst een beschrijving van de functies die het zou moeten uitvoeren. Controleren of de software werkt volgens de verwachtingen van de gebruikers wordt validatie genoemd.
Testing verbetert de kwaliteit van de software, beperkt de kans op storingen als gevolg van fouten, vermindert financiële verliezen, verkort de tijd van softwareontwikkeling en versterkt het imago van het bedrijf. Testactiviteiten worden het beste uitgevoerd in de vroegste stadia van software-implementatie. Hoe eerder een bug wordt ontdekt, hoe lager de kosten voor het oplossen ervan. Als tests niet worden uitgevoerd in de vroegste stadia van softwareontwikkeling, kunnen er complicaties ontstaan door bijvoorbeeld geavanceerd werk aan het project, wat het moeilijk kan maken om de bron van de fout te lokaliseren en deze op te lossen.
Volgens ISTQB (International Software Testing Qualifications Board) kunnen testdoelstellingen worden bereikt door:
Het werk van een tester is om bugs te rapporteren die zijn gevonden als gevolg van software-exploitatie. In geval van het vinden ervan, rapporteert hij deze aan een programmeur die verantwoordelijk is voor een bepaald gebied of de hele software. Voor dit soort rapportage zijn speciale programma’s ontworpen. De tester beschrijft het pad waarin hij stap voor stap de wijze waarop de fout werd gedetecteerd presenteert. Dit stelt de programmeur in staat om de bug snel te vinden en op te lossen, en vervolgens de voltooide taak aan de tester te rapporteren voor retesten. De tester volgt op zijn beurt het pad opnieuw door dezelfde reeks stappen te herhalen. Als de bug is opgelost, accepteert hij de taak, en als deze zich herhaalt, rapporteert hij deze opnieuw aan de programmeur.
Testers worden verdeeld in handmatige en geautomatiseerde testers. Aangezien het werk van een handmatige tester is om zelfstandig de software te testen door elk testschema te beoordelen dat alle gevallen bevat, is dit tijdrovend. Een geautomatiseerde tester daarentegen gebruikt tools om scripts en programma’s te schrijven die het proces versnellen en bovendien fouten detecteren die mogelijk onopgemerkt blijven door een handmatige tester. Automatische testing is dus nauwkeuriger, maar het creëren van tools vereist kennis van programmeertalen, bijvoorbeeld Java, SQL of Python.
Iemand die van plan is om softwaretester te worden, moet de theorie van testen leren. De verworven kennis kan vervolgens worden geverifieerd door het afleggen van het ISTQB-examen. Dit is een non-profitorganisatie die sinds 2002 actief is. Het examen heeft de vorm van een test, en na het behalen van een positief resultaat ontvangt de examinee een certificaat dat zijn of haar competentie en kennis als tester bevestigt. Het voordeel van het examen is dat er geen vervaldatum voor de certificering is en dat het wereldwijd wordt erkend.
Het ISTQB-examen kan op drie niveaus worden afgelegd: Core, Agile en Specialized. Core behandelt het veelzijdige onderwerp van softwaretesting. Agile verwijst naar agile softwaretestingpraktijken, en de specialistische module biedt bijvoorbeeld informatie met betrekking tot specifieke testactiviteiten zoals testautomatisering. Er zijn ook drie niveaus van examendifficulty: basis, gevorderd en expert. Hieronder staat een diagram van de genoemde modules en hun niveaus.
Een tester speelt een vitale rol in de goede werking van de software, dus hij of zij moet over kwaliteiten beschikken die het werk vergemakkelijken. Nauwkeurige, geduldige, consistente en communicatieve individuen zullen het beste presteren in softwaretesting. Een tester moet ook analytische denkvaardigheden vertonen vanwege de implementatie van testschema’s.
Softwaretesting is een manier om onregelmatigheden in software te detecteren en de kwaliteit ervan te verbeteren door het voldoen aan testdoelstellingen. Het hele proces wordt afgehandeld door softwaretesters die de specifieke kennis hebben om hun werk te vergemakkelijken en ze kunnen dit bevestigen door bijvoorbeeld het behalen van het ISTQB-certificaat.
Wat is softwaretesting? Nu weet je het antwoord! Bekijk onze andere series over Python en Javascript!
Als je onze inhoud leuk vindt, sluit je dan aan bij onze drukke bijengemeenschap op Facebook, Twitter, LinkedIn, Instagram, YouTube.
JavaScript-expert en instructeur die IT-afdelingen coacht. Zijn belangrijkste doel is om de productiviteit van het team te verhogen door anderen te leren hoe ze effectief kunnen samenwerken tijdens het coderen.
Wat is functieanalyse? Heb je ooit zo'n term gehoord, weet je wat je moet doen…
Bestanden in PDF-formaat vergezellen ons elke dag. Deze universele manier van het opslaan van inhoud…
De ontwikkeling van het internet en machine learning heeft eindelijk de traditionele zware papieren taaldictionaries…
Röntgenzoektocht is een van de vele dataverzoektechnieken die door HR-afdelingen worden gebruikt om werknemers te…
Vandaag zullen we ons richten op de initiële fase van bedrijfsontwikkeling - start-ups. We zullen…
Programma's om apps te bouwen zonder te coderen – ken je er een paar? Zoals…