Levenscyclus van softwaretests (STLC): 6 fasen, in- en uitstapcriteria, voorbeeld
Testen is meer dan het uitvoeren van testgevallen aan het einde van een project. Leer de zes STLC-fasen, wat elke fase nodig heeft en produceert, hoe ze van toepassing zijn op een echte functie en hoe Agile-teams ze aanpassen.
- De levenscyclus van softwaretests is de reeks activiteiten die worden gebruikt voor het plannen, ontwerpen, uitvoeren en afsluiten van tests.
- Het gemeenschappelijke model kent zes fasen, van de analyse van de vereisten tot de afsluiting van de test.
- Ingangs- en uitgangscriteria bepalen wanneer een fase kan beginnen en wanneer deze klaar is.
- Agile teams behouden dezelfde activiteiten, maar herhalen deze elke sprint in kleine lusjes.
Wanneer een bug in productie komt, is de oorzaak vaak niet dat iemand vergeten is een test uit te voeren. Het is dat een vereiste nooit in twijfel werd getrokken, dat de testgegevens verkeerd waren of dat niemand het eens was over wat ‘gedaan’ betekende. De levenscyclus voor het testen van software pakt deze problemen aan door het testen een duidelijke structuur te geven, vanaf de eerste vereiste tot aan het eindrapport.
Deze gids legt elke fase uit en volgt vervolgens één illustratief kenmerk door ze allemaal: een inlogpagina die een account vergrendelt na vijf mislukte pogingen. Bronnen zijn het niet helemaal eens over het aantal fasen. Je ziet modellen met zeven of acht, maar meestal verdelen ze hetzelfde werk anders. Wij gebruiken de algemeen onderwezen zesfasenversie.
Wat is de STLC?
De STLC is een gedefinieerde reeks testactiviteiten die worden uitgevoerd om te bevestigen dat software aan de vereisten voldoet. Elke fase heeft een doel, input en output, zodat het testen gepland en traceerbaar is in plaats van aan het eind te improviseren.
De voordelen zijn praktisch. Testers worden er vroeg bij betrokken, wanneer defecten goedkoper te repareren zijn. Inspanning gaat naar de hoogste risico’s. En als een manager vraagt: “Zijn we klaar om vrij te geven?”, Kan het team antwoorden met bewijsmateriaal.
De zes STLC-fasen in één oogopslag
| Fase | Hoofddoel | Sleuteluitvoer |
|---|---|---|
| 1. Behoefteanalyse | Begrijp wat u moet testen | Vragen, toetsbare vereisten, RTM |
| 2. Testplanning | Bepaal hoe u gaat testen | Testplan, schattingen |
| 3. Ontwikkeling van testcases | Ontwerp de tests | Testcases, scripts, testgegevens |
| 4. Omgevingsinstellingen | Bereid voor waar u wilt testen | Klaar omgeving, rooktestresultaat |
| 5. Testuitvoering | Voer tests uit en registreer defecten | Resultaten, bugrapporten |
| 6. Testafsluiting | Evalueer en leer | Afsluitingsrapport, geleerde lessen |
Toegangscriteria zijn de voorwaarden waaraan moet worden voldaan voordat een fase begint. Uitgangscriteria zijn de voorwaarden waaraan moet worden voldaan voordat deze eindigt. Ze weerhouden een team ervan om bijvoorbeeld tests uit te voeren op een kapotte build en daarmee een dag te verspillen.
Fase 1: Behoefteanalyse
Testers bestuderen de eisen om erachter te komen wat er getest kan worden en wat onduidelijk is. Dit is vaak de goedkoopste plek om een bug te voorkomen, omdat een vraag veel minder kost dan een productiefix.
- Invoer: Er zijn vereiste documenten of gebruikersverhalen beschikbaar.
- Activiteiten: functionele en niet-functionele behoeften identificeren, vragen stellen, risico’s inschatten en beslissen wat geautomatiseerd kan worden.
- Afsluiten: open vragen worden beantwoord en de traceerbaarheidsmatrix (RTM) van eisen wordt gestart.
- Deliverables: een lijst met testbare vereisten en de RTM.
Inlogvoorbeeld. Het verhaal zegt: “Vergrendel het account na vijf mislukte pogingen”. Een goede tester vraagt: vijf in welke periode? Hoe wordt het ontgrendeld? Wordt bij een succesvolle aanmelding de telling gereset? Welke melding wordt getoond? Elk antwoord wordt iets toetsbaars.
Fase 2: Testplanning
Het team bepaalt de omvang, aanpak, mensen, middelen, planning en risico’s. Meestal is de testleider eigenaar van deze fase.
- Entry: analyseerde de vereisten en een eerste risicobeoordeling.
- Activiteiten: bepaal de reikwijdte, schat de inspanning, selecteer tools, wijs rollen toe en stel exitcriteria in voor latere fasen.
- Afsluiten: het testplan wordt beoordeeld en goedgekeurd.
- Deliverables: het testplan en de inspanningsschattingen.
Inlogvoorbeeld. In het bereik: uitsluitingsregels, reset- en foutmeldingen op internet en mobiel. Buiten bereik: eenmalige aanmelding, afgehandeld door een ander team. Het grootste risico is het buitensluiten van echte gebruikers, dus dat krijgt de meeste aandacht. Als je niet zeker weet hoe een plan verschilt van een strategie, lees dan Testplan versus teststrategie.
Fase 3: Ontwikkeling van testcases
Hier schrijven testers de gedetailleerde testcases, automatiseringsscripts en testgegevens.
- Toegang: een goedgekeurd testplan en stabiele eisen.
- Activiteiten: testcases schrijven en beoordelen, gegevens voorbereiden, geautomatiseerde controles scripten en de RTM bijwerken.
- Afsluiten: testcases en gegevens zijn beoordeeld en klaar.
- Deliverables: testcases, scripts en testgegevens.
| Identiteitskaart | Scenario | Verwacht resultaat |
|---|---|---|
| TC-01 | 4 mislukte pogingen, daarna het juiste wachtwoord | Het inloggen is gelukt en de telling wordt opnieuw ingesteld |
| TC-02 | 5 mislukte pogingen | Account wordt vergrendeld en er verschijnt een duidelijk bericht |
| TC-03 | Correct wachtwoord op een vergrendeld account | Inloggen wordt nog steeds geweigerd |
| TC-04 | Mislukte pogingen in twee browsers tegelijk | De telling wordt gedeeld en blijft accuraat |
| TC-05 | Ontgrendel met de resetlink | Inloggen werkt en de telling is gewist |
Merk op dat TC-01 en TC-02 beide kanten van de limiet testen, wat rechtstreeks voortkomt uit grenswaardeanalyse. Voor meer informatie over hoe je deze goed schrijft, zie hoe je testcases schrijft.
Fase 4: Inrichting van de testomgeving
Tests moeten ergens realistisch kunnen worden uitgevoerd: de juiste servers, gegevens, accounts, browsers en netwerktoegang. Deze fase loopt vaak parallel met fase 3 en kan worden afgehandeld door ontwikkelaars of een DevOps-team.
- Invoer: een testplan, een architectuuroverzicht en omgevingseisen.
- Activiteiten: hardware of containers instellen, gegevens laden, toegang configureren en de build installeren.
- Afsluiten: de omgeving is gereed en een rooktest is geslaagd.
- Deliverables: een werkomgeving en een rooktestresultaat.
Inlogvoorbeeld. Staging krijgt testaccounts in bekende statussen, samen met een verkorte vergrendelingstimer, zodat testers niet hoeven te wachten. Een snelle rooktest bevestigt dat de login überhaupt wordt geladen voordat de volledige run begint. Containers helpen omgevingen consistent te houden, zoals u kunt zien in onze Docker Compose-tutorial.
Fase 5: Testuitvoering
Testers voeren de geplande tests uit, vergelijken werkelijke en verwachte resultaten en rapporteren defecten. Vaste bugs worden opnieuw getest en gerelateerde gebieden ondergaan regressietests.
- Entry: testcases zijn klaar, de omgeving werkt en er is een build opgeleverd.
- Activiteiten: voer tests uit, registreer resultaten, registreer defecten, test oplossingen opnieuw en update de RTM.
- Afsluiten: geplande tests worden uitgevoerd en defecten worden verholpen of formeel geaccepteerd.
- Deliverables: testresultaten en defectrapporten.
Inlogvoorbeeld. TC-04 mislukt: met twee browsers staat de teller slechts op vier. De tester registreert de bug met duidelijke stappen en bewijsmateriaal, zoals beschreven in hoe u een bugrapport schrijft. Zodra het probleem is verholpen, wordt TC-04 opnieuw uitgevoerd en doorlopen de bijbehorende inlogcontroles de regressiechecklist.
Tip: Maak exitcriteria meetbaar en spreek deze vooraf af. “Alle kritische tests slagen en er zijn geen bugs met een hoge ernst open” is moeilijk te beargumenteren. ‘Testen ziet er goed uit’ is geen criterium.
Fase 6: Testafsluiting
Deze fase wordt vaak overgeslagen, wat jammer is, want het is de manier waarop een team verbetert. Het team evalueert de cyclus, archiveert zijn werk en legt vast wat het heeft geleerd.
- Invoer: de uitvoering is voltooid en de defectstatus is bekend.
- Activiteiten: controleer de exitcriteria, analyseer defecttrends, archiveer testmiddelen en houd een retrospectief.
- Afsluiten: het afsluitingsrapport is afgetekend.
- Deliverables: het afsluitingsrapport en de geleerde lessen.
Inlogvoorbeeld. Uit het rapport blijkt dat alle vijf de gevallen na één oplossing zijn afgehandeld. De les is dat gelijktijdigheid pas laat werd getest, dus toekomstige functies met tellers krijgen dat scenario toegevoegd tijdens het ontwerp.
STLC versus SDLC
De SDLC, of levenscyclus van softwareontwikkeling, omvat het bouwen van het hele product. De STLC is het onderdeel gericht op testen en loopt ernaast.
| Aspect | SDLC | STLC |
|---|---|---|
| Focus | Software bouwen en leveren | Valideren van de software |
| Onder leiding van | Het hele productteam | Voornamelijk QA- en testingenieurs |
| Fasen | Eisen, ontwerpen, bouwen, testen, implementeren, onderhouden | De zes fasen hierboven |
| Uitvoer | Een werkend product | Een bewijs van de kwaliteit ervan |
Vereistenanalyse in de SDLC voedt de vereistenanalyse in de STLC, en ontwikkeling levert builds op voor de testuitvoering. Het testen hoeft niet te wachten tot het coderen is afgelopen. Vroeg beginnen is wat mensen bedoelen met ‘naar links verschuiven’.
STLC in Agile en DevOps
De fasen kunnen klinken als een lang eenrichtingsproces, maar dat hoeft niet zo te zijn. In Agile krimpen en herhalen dezelfde activiteiten binnen elke sprint, vaak in uren in plaats van weken:
- Behoefteanalyse gebeurt bij het verfijnen van de achterstand, door middel van vragen over het gebruikersverhaal.
- Planning gebeurt tijdens de sprintplanning, met lichte aantekeningen in plaats van lange documenten.
- Testontwerp gebeurt naast het coderen, vaak als acceptatiecriteria en geautomatiseerde tests.
- Het instellen van de omgeving wordt geautomatiseerd via containers en infrastructuur als code.
- Uitvoering wordt continu uitgevoerd in een CI/CD-pijplijn.
- Afsluiting wordt onderdeel van de sprintrecensie en retrospective.
Bewaar wat nuttig is en pas het papierwerk aan het risico aan. Voor een klein intern instrument is wellicht een korte checklist nodig, terwijl voor een banksysteem om regelgevingsredenen wellicht formele goedkeuringen nodig zijn.
Veel voorkomende fouten
- Testers te laat binnenbrengen. Bugs die in de vereisten worden aangetroffen, zijn veel goedkoper dan bugs die na de release worden gevonden.
- Vage exitcriteria. Zonder deze criteria bepalen deadlines voor jou de beslissing.
- Testen in een slechte omgeving. Fouten veroorzaakt door slechte gegevens of configuratie verspillen tijd en ondermijnen het vertrouwen.
- Afsluiting overslaan. Het team herhaalt dezelfde fouten in de volgende cyclus.
- Het te strikt volgen. De STLC is een leidraad. Zware documenten betekenen niet automatisch een betere kwaliteit.
Tot slot
De levenscyclus van het testen van software is simpelweg een gedisciplineerd antwoord op zes vragen: wat testen we, hoe, met welke cases, waar, wat is er gebeurd en wat hebben we geleerd? Kijk naar uw volgende functie en kijk welke van deze vragen uw team gewoonlijk overslaat. Als u dat ene gat oplost, krijgt u waarschijnlijk de grootste winst.
Veelgestelde vragen
Wat zijn de 6 fasen van de STLC?
Dit zijn behoefteanalyse, testplanning, ontwikkeling van testcases, inrichting van de testomgeving, testuitvoering en testafsluiting. Sommige modellen splitsen deze in meer stappen.
Wat is het verschil tussen STLC en SDLC?
De SDLC omvat de bouw van het hele product, van vereisten tot onderhoud. De STLC omvat alleen testactiviteiten en loopt naast de ontwikkeling.
Wat zijn in- en uitstapcriteria?
Toelatingscriteria zijn voorwaarden die nodig zijn voordat een fase kan starten, zoals een stabiele bouw. Exitcriteria zijn voorwaarden die nodig zijn om het te voltooien, zoals het slagen voor alle kritische tests.
Wat is een RTM bij testen?
Een traceerbaarheidsmatrix voor vereisten brengt elke vereiste in kaart met zijn testgevallen. Het laat zien of aan elke vereiste wordt voldaan en helpt u de impact van wijzigingen in te schatten.
Wordt de STLC gebruikt in Agile?
Ja. Agile teams voeren dezelfde activiteiten uit, maar in kortere, herhaalde cycli binnen elke sprint, met meer automatisering en minder formele documentatie.
Blijf leren
Hulp nodig met testen, WordPress of SEO?
We helpen teams betere software te leveren en hun sites te laten groeien. Vertel ons waar u mee bezig bent en wij stellen een duidelijke volgende stap voor.
Meer handleidingen over testen, AI en moderne ontwikkeling
Genoten van dit artikel? Kies een onderwerp en ga direct naar onze nieuwste tutorials.
AI-hallucinaties uitgelegd: waarom taalmodellen dingen verzinnen en hoe ze te verminderen
AI-hallucinaties uitgelegd: wat ze zijn, waarom taalmodellen ze produceren, veelvoorkomende typen, hoe je ze kunt verminderen met aarding en aanwijz…
Lees artikel →DevOpsOmgevingsvariabelen uitgelegd: .env-bestanden, geheimen en configuratie goed gedaan
Omgevingsvariabelen uitgelegd met Python-voorbeelden die we hebben uitgevoerd: ze lezen en instellen, waarom elke waarde een string is, .env-bestand…
Lees artikel →SoftwareontwikkelingAPI-snelheidsbeperking uitgelegd: algoritmen, headers en afhandeling van 429-fouten
API-snelheidsbeperking uitgelegd met een simulatie die we hebben uitgevoerd: token-bucket, vast venster, schuifvenster, 429 reacties, headers van sn…
Lees artikel →TestautomatiseringSpotten in Python: unittest.mock, patch en de fouten die tests doen liegen
Spotten in Python met unittest.mock, getest: Mock en return_value, side_effect, patchen waar een naam wordt gebruikt, spec en autospec, spotdatums e…
Lees artikel →SoftwaretestenCodedekking uitgelegd: lijn versus filiaaldekking en wat 100% werkelijk betekent
Codedekking uitgelegd met een echte dekking.py-run: dekking van lijnen, vertakkingen en condities, een rapport lezen, waarom 100% dekking nog steeds…
Lees artikel →Databases & SQLDELETE versus TRUNCATE versus DROP in SQL: verschillen, terugdraaien en wanneer elk te gebruiken
DELETE versus TRUNCATE versus DROP uitgelegd met geteste SQL: wat elk verwijdert, terugdraaien, triggers, identiteitsreset, snelheid en hoe PostgreS…
Lees artikel →Databases & SQLSQL-weergaven uitgelegd: creëer, gebruik en vermijd de valkuilen, met voorbeelden
SQL-weergaven uitgelegd met query's die we hebben uitgevoerd: een weergave maken, live resultaten, kolommen verbergen, prestaties, bijwerkbare en ge…
Lees artikel →SoftwareontwikkelingTypeScript-interface versus type: echte verschillen, getest met de compiler
TypeScript-interface versus type, gecontroleerd met de echte compiler: wat beide kunnen doen, wat slechts één kan doen, samenvoegen van declaraties,…
Lees artikel →SoftwareontwikkelingPython *args en **kwargs uitgelegd: flexibele functies met duidelijke voorbeelden
Python *args en **kwargs uitgelegd met code die we hebben uitgevoerd: in- en uitpakken, parametervolgorde, argumenten die alleen trefwoorden en posi…
Lees artikel →SoftwareontwikkelingPython Lambda-functies: syntaxis, echt gebruik en wanneer u ze niet moet gebruiken
Python lambda-functies uitgelegd met code die we hebben uitgevoerd: syntaxis, sorteren met sleutel, kaart en filter, sluitingen, de laat-bindende va…
Lees artikel →Kunstmatige intelligentieWat zijn AI-agenten? Hoe ze werken, met een eenvoudige agentloop die u kunt uitvoeren
Wat zijn AI-agenten? Een duidelijke gids voor de agentenlus, tools, geheugen en vangrails, met een kleine Python-lus die we hebben uitgevoerd, echte…
Lees artikel →DevOpsMonitoring versus waarneembaarheid: het echte verschil, met logboeken, statistieken en sporen
Monitoring versus waarneembaarheid uitgelegd: bekende en onbekende fouten, logboeken, statistieken en sporen, een walkthrough voor afrekenincidenten…
Lees artikel →DevOpsDocker-volumes versus bindingsmounts: bewaar containergegevens op de juiste manier
Docker-volumes versus bind-mounts uitgelegd: waarom containergegevens verdwijnen, benoemde volumes, bind-mounts, tmpfs, Compose-voorbeelden, back-up…
Lees artikel →TestautomatiseringTDD versus BDD: belangrijkste verschillen, één functie die op beide manieren is gebouwd en wanneer deze moet worden gebruikt
TDD versus BDD uitgelegd met één kortingsfunctie die in beide richtingen is gebouwd: rood-groen-refactor met code die we hebben uitgevoerd, gegeven-…
Lees artikel →SoftwaretestenGebruikersacceptatietesten (UAT): proces, checklist en echte voorbeelden
Gebruikersacceptatietesten uitgelegd: wie voert het uit, hoe het verschilt van QA, een proces in zeven stappen, een UAT-testcase-sjabloon, een check…
Lees artikel →Databases & SQLSQL NULL-waarden uitgelegd: IS NULL, COALESCE, NULLIF en de te vermijden vallen
SQL NULL-waarden uitgelegd met query's die we hebben uitgevoerd: logica met drie waarden, IS NULL, COALESCE, NULLIF, hoe aggregaten, joins en sorter…
Lees artikel →Databases & SQLSQL CASE WHEN-instructie: syntaxis, echte voorbeelden en veelvoorkomende fouten
SQL CASE WHEN uitgelegd met vragen die we hebben uitgevoerd: eenvoudige en doorzochte formulieren, volgorde van de voorwaarden, draaipunten met SUM,…
Lees artikel →SoftwareontwikkelingWat is JWT? JSON-webtokens uitgelegd met een werkend voorbeeld
Wat is JWT? JSON Web Tokens uitgelegd: de drie delen, een token gebouwd en waarmee is geknoeid in de code die we hebben uitgevoerd, JWT versus sessi…
Lees artikel →SoftwareontwikkelingJavaScript-gebeurtenislus uitgelegd: call-stack, microtaken en timers met voorbeelden
De JavaScript-gebeurtenislus uitgelegd met code die we hebben uitgevoerd: call-stack, taak- en microtask-wachtrijen, waarom setTimeout 0 niet onmidd…
Lees artikel →SoftwareontwikkelingPython-generatoren en opbrengst uitgelegd: bespaar geheugen met echte voorbeelden
Python-generatoren en opbrengst uitgelegd met code die we hebben uitgevoerd: hoe ze pauzeren en hervatten, gemeten geheugenbesparingen, pijplijnen, …
Lees artikel →Kunstmatige intelligentieWat zijn inbeddingen? Vectoren en cosinusovereenkomst eenvoudig uitgelegd
Wat zijn insluitingen? Een gids in duidelijke taal over vectoren, cosinusovereenkomst en semantisch zoeken, met een klein voorbeeld dat we hebben ui…
Lees artikel →DevOpsImplementatie van blauwgroen versus kanarie: verschillen, afwegingen en hoe te kiezen
Blauw-groen versus kanarie-implementatie uitgelegd: hoe elk werkt, kosten, risico's en terugdraaien, stabiele gebruikersbucket die we hebben getest,…
Lees artikel →TestautomatiseringSchilferige tests: wat de oorzaak ervan is en hoe u ze voorgoed kunt oplossen
Zwakke tests uitgelegd met demo's die we hebben uitgevoerd: de belangrijkste oorzaken, hoe je er een kunt bevestigen en diagnosticeren, goede oploss…
Lees artikel →SoftwaretestenBelastingtesten versus stresstesten: verschillen, statistieken en k6-voorbeelden
Belastingtesten versus stresstesten uitgelegd: wat elk bewijst, piek- en soak-tests, de statistieken die er toe doen, waarom gemiddelden misleiden, …
Lees artikel →SoftwaretestenTestcase versus testscenario: belangrijkste verschillen, voorbeelden en wanneer deze te gebruiken
Testcase versus testscenario uitgelegd: duidelijke definities, een tabel naast elkaar, één functie voor het opnieuw instellen van wachtwoorden, over…
Lees artikel →Databases & SQLOptimalisatie van SQL-query's: lees uitvoeringsplannen en repareer langzame query's, met timing
Optimalisatie van SQL-query's getest op een miljoen rijen: lees uitvoeringsplannen, voeg de juiste indexen toe, repareer niet-sargeerbare filters, g…
Lees artikel →Databases & SQLSQL UNION versus UNION ALL: verschillen, voorbeelden en geteste prestaties
SQL UNION versus UNION ALL uitgelegd met de query's die we hebben uitgevoerd: duplicaten, de regels volgen beide, een echte databug, gemeten prestat…
Lees artikel →SoftwareontwikkelingJavaScript Fetch API-tutorial: GET, POST, foutafhandeling en time-outs
Een JavaScript Fetch API-tutorial getest tegen een lokale server: GET en POST, waarom 404 niet gooit, een herbruikbare helper, queryreeksen, time-ou…
Lees artikel →SoftwareontwikkelingPython-bestandsverwerking: lezen, schrijven, CSV, JSON en pathlib met voorbeelden
Het verwerken van Python-bestanden uitgelegd met code die we hebben uitgevoerd: open modi, met het lezen van grote bestanden, CSV, JSON, pathlib, bi…
Lees artikel →SoftwareontwikkelingPython-klassen en -objecten: OOP-zelfstudie met echte voorbeelden
Python-klassen en -objecten uitgelegd met code die we hebben uitgevoerd: __init__, methoden, klasse versus instantie-attributen, overerving, eigensc…
Lees artikel →Kunstmatige intelligentieWat is een groot taalmodel? Hoe LLM's werken, uitgelegd zonder de hype
Wat is een groot taalmodel? LLM's uitgelegd in duidelijke taal: tokens, inbedding, aandacht, training, temperatuur- en contextvensters, een kleine d…
Lees artikel →DevOpsLinux-opdrachten voor beginners: de essentiële terminalgids met voorbeelden
Linux-opdrachten voor beginners, gegroepeerd op taak: navigatie, bestanden, logboeken bekijken, grep, pipelines, machtigingen, processen en archieve…
Lees artikel →TestautomatiseringSelenium versus toneelschrijver: belangrijkste verschillen, code vergeleken en welke te kiezen
Selenium versus Playwright vergeleken: architectuur, wachten, browser- en taalondersteuning, debuggen, dezelfde test in beide tools, migratieadvies …
Lees artikel →SoftwaretestenEquivalentiepartitionering: testontwerptechniek uitgelegd met uitgewerkte voorbeelden
Equivalentiepartitionering uitgelegd: hoe je geldige en ongeldige partities kunt vinden, uitgewerkte voorbeelden voor leeftijden, wachtwoorden en ko…
Lees artikel →SoftwaretestenErnst versus prioriteit bij het testen van software: verschillen, matrix en echte voorbeelden
Ernst versus prioriteit bij het testen van software uitgelegd: duidelijke definities, een vierwegmatrix met voorbeelden, niveauschalen, wie deze bep…
Lees artikel →Databases & SQLTutorial voor SQL-subquery's: typen, gecorreleerde subquery's en BESTAAN met voorbeelden
Een SQL-subquery-tutorial met query's die we hebben uitgevoerd: scalaire, IN-, FROM- en SELECT-subquery's, gecorreleerde subquery's, EXISTS, de NOT …
Lees artikel →Databases & SQLSQL-transacties en ACID uitgelegd: COMMIT-, ROLLBACK- en isolatieniveaus
SQL-transacties en ACID uitgelegd met een bankoverschrijving die we hebben uitgevoerd: COMMIT, ROLLBACK, savepoints, locks, isolatieniveaus, dirty r…
Lees artikel →SoftwareontwikkelingGit Commands Cheat Sheet: de commando's die je daadwerkelijk gebruikt, met voorbeelden
Een spiekbriefje voor Git-opdrachten, gegroepeerd op taak: setup, staging, branches, remotes, stash, geschiedenis en fouten ongedaan maken, met uitv…
Lees artikel →SoftwareontwikkelingJavaScript-beloften uitgelegd: vervolgens catch, Promise.all en veelvoorkomende fouten
JavaScript-beloften uitgelegd met code die we hebben uitgevoerd: staten, dan en catch-ketens, foutafhandeling, Promise.all, allSettled, race en wat …
Lees artikel →SoftwareontwikkelingZelfstudie Python-woordenboek: methoden, voorbeelden en veelvoorkomende patronen
Een Python-woordenboektutorial met code die we hebben uitgevoerd: dictaten, sleutelmethoden, samenvoeg-, begrips-, tel- en groeperingspatronen en ve…
Lees artikel →Kunstmatige intelligentieWat is RAG? Retrieval-Augmented Generation uitgelegd met een werkend voorbeeld
Wat is RAG? Retrieval-augmented generatie stap voor stap uitgelegd: indexeren, chunken, insluiten, ophalen, een klein werkend Python-voorbeeld, eval…
Lees artikel →DevOpsTerraform-zelfstudie voor beginners: infrastructuur als code van het eerste bestand tot modules
Een Terraform-tutorial voor beginners: begin zonder cloudaccount, leer init, plan en pas toe, vervolgens variabelen, outputs, status, modules en een…
Lees artikel →DevOpsDocker versus Kubernetes: belangrijkste verschillen, hoe ze samenwerken en welke u nodig heeft
Docker vs Kubernetes legde uit: wat elk doet, dezelfde app draait met beide, Docker Compose en Swarm vergeleken, de dockershim veranderen en hoe je …
Lees artikel →TestautomatiseringPytest-tutorial voor beginners: armaturen, parametriseren en echte voorbeelden
Een pytest-tutorial voor beginners met tests die we hebben uitgevoerd op pytest 9.2: beweringen, armaturen, parametrize, conftest, markers, tmp_path…
Lees artikel →SoftwaretestenLevenscyclus van softwaretests (STLC): 6 fasen, in- en uitgangscriteria, voorbeeld
De levenscyclus van softwaretesten uitgelegd: zes STLC-fasen met in- en uitstapcriteria, deliverables, een voorbeeld van een uitgewerkte inlogfuncti…
Lees artikel →SoftwareontwikkelingGit merge vs rebase: verschillen, voorbeelden en wanneer je wat gebruikt
Git merge vs rebase uitgelegd met echte logoutput, een vergelijkingstabel, de gouden regel van rebase en een veilige teamwerkwijze.
Lees artikel →SoftwareontwikkelingPython list comprehension: syntaxis, voorbeelden en wanneer je het vermijdt
Python list comprehension uitgelegd: syntaxis, filteren, if-else, geneste lussen, gemeten tijden en wanneer een gewone for-lus beter is.
Lees artikel →Databases & SQLSQL JOIN uitgelegd met voorbeelden (Inner, Left, Right, Full)
Begrijp SQL joins stap voor stap met voorbeeldtabellen en queries: INNER, LEFT, RIGHT, FULL, CROSS en SELF, plus veelgemaakte fouten en prestatietips.
Lees artikel →