In de financiële dienstverlening wordt het een 'maker-checker proces' genoemd In risicomanagement wordt het in de volksmond het '4 ogen principe' genoemd In het beheer van Amerikaanse kernwapens wordt het het 'tweepersoonsconcept' genoemd
In essentie doen ze allemaal hetzelfde: Deze processen omvatten een extra niveau van evaluatie, bevestiging, autorisatie of goedkeuring om de nauwkeurigheid, kwaliteit of relevantie van de output te garanderen.
Bij softwareontwikkeling wordt dit testen of kwaliteitsborging genoemd. Simpel gezegd evalueert het testen van software code om er zeker van te zijn dat het werkt zoals verwacht. Om deze activiteit effectief uit te voeren, gebruiken kwaliteitsteams een krachtig hulpmiddel dat testcase heet.
In deze blogpost onderzoeken we wat het is, waarom het nodig is, wanneer het te gebruiken en vooral, hoe testcases te schrijven.
Wat is een testcase?
Een testcase is een verzameling acties, voorwaarden en invoergegevens die worden gebruikt om de kwaliteit van een softwaretoepassing te evalueren.
Laten we zeggen dat je een formulier hebt gemaakt om de naam en het ID van de e-mail van de gebruiker vast te leggen voor een abonnement op een nieuwsbrief. De testcase zal het volgende specificeren:
**Acties, zowel voor de gebruiker als intern: Alles wat de gebruiker of de software geacht wordt te doen om de werkstroom in de gebouwde software te voltooien.
- De gebruiker voert een naam in
- De gebruiker voert een e-mailadres in
- De gebruiker klikt op 'Verzenden'
- Bevestigings e-mail wordt naar de gebruiker gestuurd
- Gegevens opgeslagen in de bijbehorende database
- De gegevens worden toegevoegd aan de lijst met e-mailadressen van de betreffende nieuwsbrief
Voorwaarden: De vereisten waaraan de gebruiker of het systeem geacht wordt te voldoen tijdens het uitvoeren van hun acties.
- Opslaan als validatie voor het veld naam is geaccepteerd, anders foutmelding weergeven
- Opslaan als validatie voor het veld e-mailadres is geaccepteerd, anders foutbericht weergeven
- Alleen toevoegen aan de lijst met nieuwsbrieven als de gebruiker zijn e-mailadres heeft bevestigd
- Als de gebruiker al bestaat, toon dan de bijbehorende foutmelding
Invoergegevens: Steekproeven van wat aanvaardbare invoer is voor de functie. Teams van Quality Assurance (QA) maken testgegevens waarmee positieve en negatieve resultaten getest kunnen worden.
Bijvoorbeeld, als een voorwaarde voor validatie van een naamveld is "kan alleen letters van het alfabet en ruimte bevatten", dan zijn de testgegevens
- Jane Doe, die aan de criteria voldoet
- Ad@m Sand!er, die niet aan de criteria voldoet
Rol van testgevallen in software-engineering
De testgevalmethode is een uitgebreide, systematische en herhaalbare aanpak voor het testen van software. Hoewel het primaire doel is om de kwaliteit van de applicatie te waarborgen, voegt het meerdere niveaus van robuustheid en betrouwbaarheid toe aan het software-engineeringproces zelf.
✅ Defecten identificeren: Testgevallen helpen bij het identificeren van defecten in software. Ze bepalen of de applicatie veilig is om in productie te nemen.
✅ Valideren van vereisten: Testgevallen zorgen ervoor dat wat u hebt gebouwd is wat u al die tijd van plan was. Dit is vooral belangrijk als je een serviceorganisatie bent die software bouwt voor externe belanghebbenden die specifieke eisen hebben.
✅ Risico's beperken: Testgevallen evalueren een functie op veiligheid, prestaties en financiële risico's. De kwaliteitsanalist neemt ook voorwaarden op met betrekking tot naleving van regelgeving, industrienormen, enz. om er zeker van te zijn dat alle bases gedekt zijn.
✅ Het grote geheel in evenwicht brengen: Een nieuwe functie kan op zichzelf goed werken. Maar als het geïntegreerd wordt in de rest van de software, kan het breken of een andere functie doen breken. Testgevallen zorgen ervoor dat dit wordt opgemerkt voordat het de gebruikerservaring in de productie beïnvloedt.
Kan één testcase al het bovenstaande doen? Niet echt. Afhankelijk van de functie, software, systemen, behoeften en organisatorische doelen zijn er verschillende soorten testcases die QA teams schrijven.
Soorten testcases
Er is een testcase voor elke
. Enkele van de meest gebruikte zijn de volgende.
Functionaliteitstestgeval: Deze basistestcase evalueert of software werkt zoals bedoeld. Op zijn minst schrijft elke QA deze.
Unit testgevallen: Unit testen evalueert een deel van de functie of een enkele eenheid. Een QA kan bijvoorbeeld unit tests schrijven om te controleren of het veld met het e-mailadres aan verschillende voorwaarden voldoet.
Veiligheidstestgevallen: Hiermee wordt geëvalueerd of de functie voldoet aan de normen voor veiligheid om in productie te worden genomen. Dit zijn bijvoorbeeld tests voor autorisatie, verificatie, naleving van OWASP-standaarden, enzovoort.
Prestatietestgevallen: Hiermee wordt gevalideerd of de nieuwe functie voldoet aan de vereisten voor snelheid, betrouwbaarheid, schaalbaarheid en resourcegebruik.
Regressietestgevallen: Regressietesten zorgen ervoor dat de nieuwe functie die je hebt ontwikkeld geen invloed heeft op de bestaande functies in het product.
Daarnaast kunnen er ook specifieke testcases worden uitgevoerd. Bijvoorbeeld, design-gedreven organisaties kunnen testgevallen voor de gebruikersinterface toevoegen. Producten die deel uitmaken van een grotere werkstroom kunnen veel integratietests schrijven. Anderen kunnen specifieke bruikbaarheidstests maken rond heuristiek, toegankelijkheid, inclusie, etc.
Als eigenaar van een product beslist u wat uw software Nog te doen heeft en maakt u testgevallen die daarop van toepassing zijn. Je moet elk scenario afdekken dat voor jou belangrijk is.
Betekent dit dat een testcase gewoon een testscenario is? Helemaal niet.
Testcase vs. testscenario
Een testcase is een uitgebreide beschrijving van hoe je nieuwe functie zich moet gedragen [en hoe je dat moet testen]. Een testscenario is een beschrijving op hoog niveau van wat er kan gebeuren [en dus getest kan worden].
Uitbreiding van het vorige voorbeeld, het testscenario zou zijn "test het abonnement op de nieuwsbrief" De testgevallen zouden echter zijn:
- Test naam veld met een acceptabele naam
- Test naam veld met speciale tekens
- Test het veld met namen van beroemdheden
- Test naamveld met nummers
- Test naam veld voor placeholder of fictieve namen zoals John Doe
Testcase Testscenario | ||
---|---|---|
Definitie Uitgebreide documentatie over hoe een functie getest moet worden Korte beschrijving van hoe de functie moet werken vanuit het perspectief van de eindgebruiker | ||
Niveau | Acties op laag niveau met fijnmazige verantwoordelijkheid | Acties op hoog niveau met grote verantwoordelijkheid |
Focus | Hoe te testen? Wat te testen? | |
Bron | Afgeleid van testscenario's | Afgeleid van user stories en business use cases |
Aanpak: Overweeg een hogere resolutie van mogelijkheden en test grondig |
Verschillen tussen testcase en testscenario
Nu we de verschillen kennen, richten we onze aandacht weer op de testcase en zoomen we in.
Onderdelen van een testcase
Samengevat is een testcase een gedetailleerde documentatie van alles wat getest moet worden om ervoor te zorgen dat de software werkt zoals bedoeld. Dit maakt het uitgebreid, fijnmazig en veelzijdig, met meerdere componenten.
Enkele van de belangrijkste onderdelen van een testcase zijn:
Testcase ID: Elke testcase heeft een nummer. Dit klinkt misschien eenvoudig, maar om een applicatie grondig te testen, zul je verschillende tests uitvoeren die op elkaar lijken. Het ID van een testcase helpt om ze van elkaar te onderscheiden.
Beschrijving: Beschrijving van waar je op test. In het bovenstaande voorbeeld zou dit kunnen zijn: "Echte, geïnteresseerde prospects toevoegen aan onze nieuwsbriefdatabase."
Precondities: Alle voorwaarden waaraan moet worden voldaan om deze functie te kunnen gebruiken. In het voorbeeld hierboven hebben we de validatie voor elk veld besproken. Daarnaast kunnen andere voorwaarden zijn:
- De gebruiker mag zich nog niet hebben ingeschreven voor de nieuwsbrief
- De gebruiker mag zich niet hebben uitgeschreven voor de nieuwsbrief
Stappen: Stappen die de gebruiker of het systeem moet volgen om de evaluatie te voltooien en als succesvol te markeren.
- De gebruiker voert een geldige naam in
- De gebruiker voert een geldig e-mail ID in
- De gebruiker vinkt het selectievakje privacy aan
- De gebruiker klikt op de knop Verzenden
Verwachte resultaten: Lijst van wat het systeem nu nog moet doen.
- Als de gebruikersnaam ongeldig is, wordt er een foutbericht weergegeven
- Als de e-mail ID ongeldig is, wordt er een foutbericht weergegeven
- Als de gebruikersnaam en e-mail ID geldig zijn, opslaan in de database
- Eenmaal opgeslagen in de database, een bevestigings e-mail sturen naar de gebruiker
Actuele resultaten: Dit zijn de waarnemingen van de tester nadat ze de testcase hebben uitgevoerd. Dit wordt teruggestuurd naar de ontwikkelaar als er iets niet goed werkt.
- Naamveld getest met Katy P3rry en het werd geaccepteerd als een geldige invoer [hoewel het een nummer bevat]
Nu ben je helemaal klaar om effectieve testgevallen te schrijven. Hier lees je hoe.
Hoe effectieve testgevallen schrijven met voorbeelden
Het schrijven van een goede testcase vereist zowel business logica als technisch inzicht. Je moet het begrijpen vanuit het oogpunt van de gebruiker in de echte wereld en vanuit het technologische perspectief in de digitale wereld. Hieronder vind je een robuust raamwerk om je op weg te helpen.
1. Testscenario's identificeren
Voordat je testgevallen schrijft, moet je de echte scenario's begrijpen waarin de functie zal worden gebruikt. Lees de story van de gebruiker, bestudeer het document met de vereisten of bespreek de specificaties zelfs met de ontwikkelaar.
De testscenario's in het vorige voorbeeld zouden bijvoorbeeld zijn: Gebruiker schrijft zich succesvol in voor de nieuwsbrief.
In deze stap is het belangrijk om te vragen of het document met vereisten de gebruiker op een specifieke manier beschrijft.
Bijvoorbeeld, als je een nieuwsbrieffunctie maakt voor alleen betalende klanten, zul je een scenario hebben waarbij niet-betalende gebruikers zich proberen in te schrijven.
Bestudeer de requirements, specificaties en user stories dus grondig.
2. Doelstellingen van testcases definiëren
Definieer in deze fase wat je wilt bereiken met je tests. Als je bijvoorbeeld alleen maar test of de functie werkt zoals het abonnement, dan schrijf je functionele testcases.
Als de functie echter ook veilig en performant moet zijn, schrijf je ook overeenkomstige testgevallen. Dit helpt bij het stroomlijnen van je
proces en de resultaten presenteren aan het ontwikkelteam.
3. Schrijf duidelijke en beknopte stappen
Deze fase is meer dan alleen het schetsen van de werkstroom. Het is alles wat de QA moet doen om ervoor te zorgen dat de functie werkt zoals verwacht.
Maak het grondig: Ga zo gedetailleerd mogelijk te werk. Vermeld wat er moet gebeuren op basis van de actie van de gebruiker/het systeem. In het voorbeeld zou je kunnen schrijven:
- Voer de naam in het veld naam in
- Als de naam een nummer bevat, geeft u de foutmelding "Voer een naam in met alleen letters en ruimte"
- Als de naam speciale tekens bevat, verschijnt de foutmelding "Voer een naam in met alleen letters en ruimte"
- Als de naam een plaatshouder is, verschijnt de foutmelding "Voer een geldige naam in"
- Als de naam gevalideerd is, kan de gebruiker deze verzenden
Maak het herbruikbaar: De meeste functies hebben overlappingen met andere functies uit het verleden. De velden voor abonnementen op nieuwsbrieven kunnen bijvoorbeeld lijken op de velden voor het maken van nieuwe accounts voor gebruikers. Hergebruik ze zoveel mogelijk om consistentie en efficiëntie te behouden.
In feite kun je ook herbruikbare document sjablonen voor productvereisten maken waaruit het gemakkelijker is om testscenario's en testgevallen te extraheren.
Teken het proces: Voor complexe functies kan het moeilijk zijn om alle testgevallen lineair te documenteren. Probeer in zulke gevallen een stroomdiagram.
Hoe koffie maken als stroomdiagram met ClickUp Whiteboards
ClickUp Whiteboards
biedt een zeer aanpasbaar leeg canvas om uw functie workstroom te visualiseren. Voel niet de druk om het alleen te doen. Maak uw flowcharts en deel ze met alle belanghebbenden - bedrijfsanalisten, ontwikkelaars, testmanagers, enzovoort - en zorg dat ze meewerken voordat u aan de slag gaat!
Stel de context in: Terwijl het testscenario de context van de Business schetst, moet je ook de installatie voor het testen duidelijk schetsen. Vermeld de software versie, OS/browser, hardware, datum/tijd formats, tijdzone, etc. Koppel ook documenten en hulpbronnen die nuttig kunnen zijn tijdens de testuitvoering.
4. Geef verwachte resultaten op
Dit is het antwoord op wat er gebeurt als! Dus, wat gebeurt er als het veld naam wordt gevalideerd? Wat gebeurt er als het veld naam niet gevalideerd is?
- Wat als de gebruiker al een abonnee is? Moet u hun abonnement weigeren of opnieuw abonneren?
- Wat als de gebruiker geen betalende klant is, moet u hem dan vragen om nu te betalen?
- Wat als de gebruiker zich eerder heeft uitgeschreven? Moet u dubbel controleren voordat u zich opnieuw inschrijft?
Schets op deze manier de verwachte resultaten voor elke mogelijkheid. Hoe complexer je functie, hoe langer je lijst zal zijn.
5. Voeg precondities en postcondities toe
Geen enkele functie is een eiland. In softwareontwikkeling is elke functie verbonden met iets anders, wat betekent dat testen een aantal voorwaarden en condities heeft.
Voorbeelden van randvoorwaarden
- Moet een betalende klant zijn
- Moet een geldige naam en e-mail adres opgeven
- Moet de algemene voorwaarden accepteren
- Moet de laatste versie van Chrome gebruiken
- Moet mobiel ingelogd zijn
voorbeelden van Voorwaarden
- Moet worden toegevoegd aan de database
- Abonnement moet geaccepteerd worden met bevestigings e-mail
- Moet worden toegevoegd aan de lijst met nieuwsbrieven in CRM
Als u een productleider bent die tests onder de knie wil krijgen, zijn hier enkele voorbeelden
no-code tools voor productmanagers
.
Dat waren de basisprincipes, laten we overgaan tot de kern van de zaak.
Best Practices voor het schrijven van testgevallen
Laten we eerlijk zijn: Testgevallen schrijven is een kunst. Een goede testcase zal bugs en defecten aan het licht brengen die niet eens zichtbaar waren in de vereisten. Bijvoorbeeld, wat als het veld voor de naam twee ruimtes had? Of wat als de achternaam van de gebruiker een koppelteken had?
Overweeg de volgende best practices om ervoor te zorgen dat je testcases gericht zijn op het leveren van software van hoge kwaliteit.
Denk als een gebruiker
Denk vanuit het perspectief van de gebruiker voordat u testcases schrijft. Wees kritisch en gedetailleerd. In het voorbeeld dat we tot nu toe hebben besproken, zou je je kunnen afvragen:
- Wat betekent 'naam'? Voornaam? Achternaam? Of beide?
- Van wie is deze naam? Moet de tekst van de veldnaam "jouw naam" zijn?
- Moet er een vervangende tekst zijn om de lezer de weg te wijzen?
- Als de gebruiker een ongeldige naam invoert, moet de foutmelding dan aangeven wat er mis is?
Kruip in de huid van de gebruiker. Verken verschillende mogelijkheden en zelfs edge cases. Misschien maak je niet voor alles testcases, maar het verkennen ervan helpt om de functie te versterken.
Focus je op één ding tegelijk
Schrijf geen functionele testcase die ook een bruikbaarheidstestcase en een databasetestcase is. Doe één ding tegelijk. Op deze manier weet je bij een goed/fout testresultaat precies wat werkte of wat er fout ging.
Het opnemen van te veel variabelen in één test zal de problemen bemoeilijken wanneer de test mislukt.
Doe het niet alleen
Testgevallen definiëren softwarekwaliteit. Ook al is het de checker in het maker-checker proces, het heeft nog een laag van twee personen nodig. Dus, als je de testgevallen geschreven hebt, laat ze dan beoordelen door vakgenoten.
Vraag een collega om te kijken naar wat je geschreven hebt. Moedig hen aan om fouten te vinden en kritische feedback te geven. Het helpt ook om dit te doen in samenwerking met business analisten en ontwikkelaars om hun bedoelingen beter te begrijpen.
♻️ Maak herbruikbare sjablonen
Van alle best practices in het schrijven van testgevallen is het maken van sjablonen de meest waardevolle. Of je nu gelijksoortige functies test of compleet verschillende, een sjabloon biedt structuur aan je gedachten. Neem sleutelcomponenten op, een geautomatiseerd nummeringsmechanisme of een raamwerk om alle testresultaten te presenteren.
ClickUp's sjabloon voor testgevallen
is een eenvoudig, maar krachtig voorbeeld van hoe u de efficiëntie en zichtbaarheid drastisch kunt verbeteren met een herhaalbaar framework. Dit sjabloon voor beginners is aanpasbaar, zodat uw teams sneller meer Klaar krijgen. En wat is er nog meer? Je kunt dit sjabloon ook gebruiken om kandidaten voor automatisering te identificeren en je QA-inspanningen te verdubbelen.
🛠️ Gebruik de juiste hulpmiddelen
In een softwareontwikkelingsteam kan het schrijven van uitgebreide testgevallen voor complexe functies een tijdrovende Taak zijn. Om nog maar te zwijgen van het documenteren en organiseren zodat ze gemakkelijk toegankelijk zijn.
Nog te doen, kies het juiste hulpmiddel.
Hulpmiddelen voor Test Case Management
Goed test case management stelt je in staat om te creëren, organiseren, uitvoeren, registreren en monitoren wat je aan het testen bent. Het helpt teams om grondig te testen zonder aan efficiëntie in te boeten. Het helpt ontwikkelteams om bugs duidelijk te zien.
Hoewel de voordelen eindeloos zijn, zijn de uitdagingen dat ook. De vuistregel voor het aantal testgevallen per functie is "zoveel als nodig" Afhankelijk van de functie kunnen dat er twee zijn, één positief en één negatief. Het kunnen er drie zijn, als de testcase voorwaardelijk is. Of het kunnen er meerdere zijn.
Om dit te beheren, heb je een robuust hulpmiddel nodig. Sommige van de beste moderne QA testtools zijn:
TestRail
TestRail is een testbeheerplatform voor het documenteren en bijhouden van testabonnementen. Het bevat functies voor traceerbaarheid, dekking, automatisering en analyse van tests. Het integreert met een aantal softwareontwikkeltools en biedt een uitgebreide API.
BrowserStack
BrowserStack is een tool voor het testen van apps en browsers. Het biedt tests voor iOS- en Android-apps en websites op meerdere browsers. Het bevat specifieke modules voor visueel testen, toegankelijkheidstesten, testobservabiliteit, low-code automatisering en meer.
Jira
Als een van de populairste agile projectmanagement tools kan Jira ook worden gebruikt als een software voor het bijhouden van bugs . Met Jira kunt u testgevallen schrijven en deze koppelen aan user stories, bekende bugs of andere problemen.
Omdat Jira echter niet ontworpen is voor het beheren van testcases, kunnen de functies voor rapportage en automatisering beperkt zijn.
ClickUp ClickUp voor softwareteams is een alles-in-één projectmanagementtool, ontworpen om elk aspect van het engineeringproces te ondersteunen. Testcasebeheer is geen uitzondering.
beheer testcases stroomlijnen met ClickUp_
Schrijven van testgevallen: ClickUp stelt teams in staat om hun backlog efficiënt te beheren met robuuste functies voor het bijhouden van bugs en problemen. Beheer bestaande testcases en maak nieuwe aan met ClickUp. Gebruik formulieren voor softwareteams om verzoeken/bugs vast te leggen en automatisch om te zetten in Taken voor het team.
Zichtbaarheid voor operaties: Je kunt het weergeven als een Kanban-bord over statussen heen of de kalenderweergave gebruiken om ze in te plannen. Beheer de taken van het QA team met de ClickUp-taak weergave en breng dingen sneller in productie. Gebruik ClickUp's sjabloon voor het bijhouden van bugs en problemen voor een weergave in vogelvlucht van alle testdingen in uw softwareontwikkelingsproject.
Automatisering in projectmanagement: Integreer testcasebeheer naadloos in uw
.
Gebruik ClickUp Automatiseringen om de juiste tester aan elke testcase toe te wijzen. Als de QA van status verandert, wijs deze dan automatisch terug toe aan de ontwikkelaar ter controle.
Met
ClickUp voor Agile teams
bouw herbruikbare checklists die automatisch worden toegevoegd aan Taken. Stel ClickUp Brain in om QA teams te helpen sneller rapportages te schrijven.
Best practices al ingesteld: Gebruik de tientallen vooraf ontworpen sjablonen om structuur aan te brengen in uw testproces. Begin met de verschillende
of
.
/cta/ https://clickup.com/blog/wp-content/uploads/2024/11/image-7.png ClickUp's sjabloon voor testbeheer https://app.clickup.com/signup?template=t-102451742&department=engineering-product Dit sjabloon downloaden /$$$cta/
Probeer vervolgens
ClickUp's sjabloon voor testbeheer
om uw testscenario's, testgevallen en testruns te stroomlijnen. Met deze sjabloon kunt u processen bijhouden, resultaten evalueren en samenwerken met het ontwikkelteam aan bugs/problemen.
Voor beginners heeft dit sjabloon ook een uitgebreid document 'Hoe te beginnen' om u door het proces te leiden.
Vraag je je af hoe je een testrapport schrijft? We hebben een sjabloon voor je. Download en gebruik de beginnersvriendelijke
ClickUp sjabloon voor testrapporten
om de resultaten van uw tests samen te vatten en te overhandigen aan ontwikkelaars.
Bouw geweldige software voor elke situatie met ClickUp
Bij softwareontwikkeling speelt testen de cruciale rol om ervoor te zorgen dat alles in orde is. Het ondersteunt 360 graden.
Het valideert het werk van het ontwikkelteam. Het bevestigt de geschiktheid voor de intentie van het Business team. Het blijft trouw aan de behoeften van de gebruiker op het gebied van functionaliteit, prestaties, veiligheid en privacy.
Het beheren van een proces dat zo kritisch en veelomvattend is, vraagt om een doordacht pakket tools. Dit is precies wat ClickUp is.
Of u nu agile, waterval of een hybride model van softwareontwikkeling volgt, ClickUp zit boordevol functies, ontworpen om in hoge mate aanpasbaar te zijn aan uw unieke behoeften.
Naast krachtig, veelzijdig Taakbeheer bevat ClickUp ook een testsuite, DevOps automatiseringen , integraties en sjablonen die indruk maken. Bekijk het zelf. Probeer ClickUp vandaag nog gratis uit .