Wat is gelijktijdigheidstesten?
Concurrency Testing wordt gedefinieerd als een testtechniek om de defecten in een applicatie te detecteren wanneer meerdere gebruikers zijn ingelogd. Met andere woorden: het effect monitoren terwijl meerdere gebruikers tegelijkertijd dezelfde actie uitvoeren. De onderstaande afbeelding toont de gelijktijdige tests
Gelijktijdig testen wordt ook wel multi-user testen genoemd. Het testen van een gelijktijdig programma is uitdagender dan het testen van een sequentieel programma, vanwege niet-determinisme en synchronisatieproblemen.
Waarom gelijktijdigheidstesten
- Identificeert de effecten van het tegelijkertijd openen van dezelfde databaserecords, modules of applicatiecode.
- Identificeert en meet het niveau van impasse, vergrendeling en gebruik van single-threaded code en het beperken van toegang tot gedeelde bronnen
Voordelen van gelijktijdig testen
- Het vermindert relatief de hoeveelheid inspanning die nodig is om een applicatie te testen door de reikwijdte van gelijktijdige interacties te beperken tot een paar veelgebruikte, goed geteste componenten.
- De inkapselingswaarde maakt het mogelijk om het gedrag van een deel van een programma te analyseren zonder de volledige code of het hele programma te herzien
- Het helpt bij het verbeteren van de betrouwbaarheid en robuustheid van gelijktijdige programma's.
Nadelen van gelijktijdig testen
Nadelen die kunnen worden ondervonden door testen tijdens het uitvoeren van gelijktijdige tests
- Moet op meerdere platforms worden getest
- Vereist intensievere tests
- Functies geven hun resultaat niet onmiddellijk terug aan de beller, maar in plaats daarvan kan het later worden afgeleverd via meldingen, blokken, callback-functies of soortgelijke mechanismen, wat het testen moeilijker maakt.
- De informatie of programmastroom wordt niet weerspiegeld in de oproepstapel.
- Het aantal uitvoeringspaden in het systeem kan extreem groot zijn, aangezien de processen in een gelijktijdig systeem met elkaar kunnen communiceren terwijl ze worden uitgevoerd
- Gelijktijdige programma's hebben meer foutenpercentages dan opeenvolgende programma's
- Foutopsporing van gelijktijdige programma's
Overzicht:
Gelijktijdige of gelijktijdige testtechniek wordt uitgevoerd om de defecten in een applicatie te detecteren wanneer meerdere gebruikers zijn ingelogd.