Testanalyse en basisprincipes van testen

โšก Slimme samenvatting

Testanalyse, ook wel testbasis genoemd, is de gestructureerde beoordeling van eisen, ontwerpdocumenten en andere artefacten die worden gebruikt om testbare voorwaarden af โ€‹โ€‹te leiden. Dit artikel beschrijft de bronnen, de stapsgewijze workflow en de plaatsing van testanalyse in het V-model.

  • ๐Ÿ“‹ Belangrijkste principe: De testbasis is de gezaghebbende bron โ€” SRS, BRS, ontwerpdocumenten โ€” waaruit elke testconditie en elk testgeval moet kunnen worden afgeleid.
  • โœ… Kwaliteitsdriver: Een grondige testanalyse voorkomt dat eisen over het hoofd worden gezien, dat er onduidelijke verwachtingen ontstaan โ€‹โ€‹en dat er tijdens de uitvoering en de gebruikersacceptatietests opnieuw moet worden gewerkt.
  • ๐Ÿ” Focus op de workflow: RevBekijk de testbare omstandigheden, identificeer ze op prioriteit en type, en zet ze vervolgens om in gestructureerde testgevallen.
  • ๐Ÿงช Modelafstemming: Elke fase van het V-model levert een testartefact op dat gekoppeld is aan het bijbehorende ontwikkelingsdocument; de testanalyse wordt uitgevoerd aan de hand van het corresponderende document.
  • โš ๏ธ Risico-inzicht: Een onduidelijke of onvolledige testbasis is de belangrijkste oorzaak van onopgemerkte defecten, waardoor een vroege analyse de meest effectieve QA-activiteit is.

Wat is testanalyse (testbasis)?

Testanalyse โ€” ook wel testbasis genoemd โ€” staat helemaal aan het begin van de testlevenscyclus. Elke testconditie en elk testgeval wordt uiteindelijk geanalyseerd. tracLaten we er weer op terugkomen. De onderstaande secties definiรซren de term, leggen de bronnen ervan uit, beschrijven de analyseworkflow en plaatsen deze in het V-model.

Wat is testanalyse?

Testanalyse In softwaretesten is het het proces van het beoordelen van de input die gebruikt wordt om testcondities en testgevallen af โ€‹โ€‹te leiden. Deze input โ€“ specificaties, vereisten, ontwerpdocumenten, gebruikersverhalen en vergelijkbare deliverables โ€“ worden gezamenlijk genoemd testartefactenHet doel van testanalyse is om te onderzoekentracDe testdoelstellingen zijn duidelijk genoeg dat elk ervan kan worden omgezet in een ondubbelzinnige testconditie. Omdat het geanalyseerde materiaal de basis vormt voor alle tests, wordt het ook wel de Testbasis.

Typische bronnen waaruit testers testinformatie halen, zijn onder andere:

  • SRS โ€” Softwarevereistenspecificatie
  • BRS โ€” Bedrijfsvereistenspecificatie
  • Functionele ontwerpdocumenten
  • Gebruikersverhalen, acceptatiecriteria en wireframes

Testers kunnen ook testomstandigheden genereren door de te testen applicatie direct te verkennen of door gebruik te maken van eerdere ervaringen, maar de meeste testers doen dat op een andere manier. testgevallen worden afgeleid van testartefacten om te onderhouden traceability.

๐Ÿ‘‰ Schrijf je gratis in voor een live softwaretestproject

Waarom is Test Basis belangrijk?

De testbasis is de belangrijkste factor die bepaalt of een testsuite daadwerkelijke defecten opspoort of alleen maar spookdefecten. Het als optioneel beschouwen van de testbasis is de meest voorkomende oorzaak dat onopgemerkte bugs in productie terechtkomen. Een gedegen testanalyse levert vier concrete voordelen op:

  • Tracgeschiktheid: Elke testcase kan worden gekoppeld aan een specifieke vereiste, waardoor impactanalyses van wijzigingen snel verlopen en auditbeoordelingen probleemloos verlopen.
  • Duidelijkheid van de berichtgeving: RevHet in kaart brengen van de hiaten in de basisstructuur โ€” ongespecificeerde fouttoestanden, ontbrekende randgevallen, ongedefinieerde niet-functionele drempelwaarden โ€” voordat ze zich voordoen bij productieproblemen.
  • Uitlijning van belanghebbenden: Wanneer het testteam de testomstandigheden afleidt uit dezelfde documenten als het ontwikkelteam, hanteren beide partijen een gedeelde definitie van "klaar".
  • Vroegtijdige detectie van defecten: Veel eisenfouten (dubbelzinnigheden, tegenstrijdigheden, ontbrekende acceptatiecriteria) worden al tijdens de testanalyse ontdekt, ruim voordat er code wordt geschreven โ€“ verreweg de goedkoopste manier om ze te verhelpen.

Veelvoorkomende bronnen van testbasis

Verschillende artefacten leveren input voor verschillende testniveaus. Gebruik de onderstaande tabel als snel naslagwerk om te bepalen welk document u moet raadplegen bij het schrijven van testgevallen.

BronartefactBest geschikt voorWat je Extract
Specificatie bedrijfsvereisten (BRS)Acceptatie- en systeemtestenBedrijfsregels van begin tot eind, wettelijke beperkingen, succescriteria
Specificatie softwarevereisten (SRS)Systeem testenFunctionele en niet-functionele eisen met meetbare drempelwaarden
Functionele/technische ontwerpdocumentenIntegratietestenModule-interfaces, gegevensstroom, specificaties voor foutafhandeling
Gebruikersverhalen en acceptatiecriteriaAgile sprinttestenGedragsverwachtingen in de vorm "Gegeven-Wanneer-Dan"
Wireframes en UI-mockupsUI-/gebruiksvriendelijkheidstestenLay-out, navigatie, regels voor invoervalidatie
Applicatie in testfase (verkennend)Verkennende en regressietestsNiet-gedocumenteerd gedrag, werkprocessen in de praktijk, uitzonderlijke gevallen

Stapsgewijze handleiding voor het uitvoeren van testanalyses

Effectieve testanalyse volgt een herhaalbaar vijfstappenplan, ongeacht de omvang van het project of de gebruikte methodologie.

  1. Verzamel en inventariseer de testbasis. Verzamel alle documenten die het beoogde gedrag beschrijven: SRS, BRS, ontwerpdocumenten, user stories, mockups. Noteer welk document bij elke vereiste hoort. tracDe levensvatbaarheid blijft intact.
  2. Revbeoordeling voor testbaarheid. Lees elk document met drie vragen in gedachten: Is deze bewering meetbaar? Is deze ondubbelzinnig? Is deze volledig? Markeer elke eis die niet aan een van deze criteria voldoet en stuur deze terug naar de auteur voordat je er tests voor schrijft.
  3. Bepaal de testomstandigheden. Geef voor elke testbare bewering een lijst van de voorwaarden die geverifieerd moeten worden (positieve paden, negatieve paden, grenswaarden, foutafhandeling, beveiliging, prestaties). Een testvoorwaarde is de absolute waarde.tract โ€œwatโ€ โ€” bijvoorbeeld, โ€œHet systeem weigert bestellingen met een hoeveelheid van nul.โ€ โ€” iets wat verschilt van het concrete "hoe" van een testgeval.
  4. Prioriteer en groepeer de aandoeningen. Classificeer elke conditie op basis van risico en gebruiksfrequentie. Condities met een hoog risico en een hoge frequentie krijgen een gedetailleerde beschrijving; condities met een laag risico kunnen worden gecombineerd of steekproefsgewijs worden geanalyseerd. Hier bepaalt u ook welke condities geschikt zijn voor automatisering.
  5. Zet voorwaarden om in testgevallen. Elke prioriteitsconditie wordt een of meer testgevallen met randvoorwaarden, stappen, testgegevens en verwachte resultaten. Houd een eisenlijst bij. tracEen geschiktheidsmatrix die elk testgeval koppelt aan de oorspronkelijke vereiste.

Door deze volgorde te volgen, worden de meest voorkomende fouten bij testanalyse vermeden: het schrijven van testgevallen zonder duidelijke basis, het missen van negatieve scenario's en het produceren van tests die tijdens de defectanalyse niet aan een vereiste kunnen worden gekoppeld.

Testanalyse in het V-model

Het V-model koppelt elke ontwikkelactiviteit aan een corresponderende testactiviteit. Testanalyse vindt op elk niveau plaats met behulp van het document dat op dat moment in de levenscyclus beschikbaar is.

Testanalyse in V-testmodel

Figuur 1: Testanalyse over de fasen van de V-model.

Casestudy: Testgevallen afleiden uit een klantvereiste

Stel je een scenario voor waarin de klant de volgende eis van รฉรฉn regel verstuurt.

Client requirement: Add search functionality to an eCommerce Store

Hoewel de applicatie nog niet gebouwd is, kan een tester al verschillende testcondities afleiden door te analyseren wat de vereisten inhouden โ€“ zowel het gewenste resultaat als de mogelijke fouten die de klant niet expliciet heeft vermeld. Enkele voorbeelden zijn:

  • Controleer het zoekresultaat wanneer er geen zoekwoord is ingevoerd.
  • Controleer het zoekresultaat als er geen overeenkomend product is voor het ingevoerde zoekwoord.
  • Controleer het zoekresultaat wanneer er meerdere overeenkomende producten voor het zoekwoord bestaan.
  • Controleer het gedrag met speciale tekens, spaties aan het begin en einde van een invoer en zeer lange invoer.
  • Controleer de hoofdlettergevoeligheid en het gedrag bij gedeeltelijke overeenkomsten.
  • Controleer de zoekresponstijd onder de verwachte gebruikersbelasting.

De tester neemt de klantvereiste (de testbasis), analyseert deze en zet deze om in testcondities. Dit patroon herhaalt zich in elke fase van het V-model: testplannen en testgevallen worden gemaakt op basis van het document dat op dat moment in de levenscyclus beschikbaar is.

Video: Testanalyse uitgelegd

Als de video niet laadt, bekijk hem dan direct op YouTube.

Veelgestelde vragen

Een testconditie beschrijft wat moet worden geverifieerd (bijvoorbeeld: "het systeem blokkeert lege zoekopdrachten"). Een testcase voegt dit toe. hoe: voorwaarden, stappen, gegevens en verwacht resultaat. Meerdere testgevallen kunnen รฉรฉn voorwaarde dekken.

Ja. AI-tools analyseren vereisten, bijvoorbeeld.tracTestbare beweringen worden geformuleerd en testvoorwaarden worden voorgesteld, waarbij vaak onduidelijkheden worden gesignaleerd die een menselijke beoordelaar mogelijk over het hoofd zou zien. Menselijke beoordeling blijft echter essentieel om prioriteiten, bedrijfsrisico's en domeinspecifieke randgevallen te valideren.

Testers melden eventuele tekortkomingen aan businessanalisten en ontwikkelaars, waarna ze exploratief testen en ervaringsgerichte technieken gebruiken om de onbekende gebieden te onderzoeken. Documenteer elke aanname zodat deze opnieuw gevalideerd kan worden zodra de vereisten stabiel zijn.

De principes zijn identiek; alleen het ritme verschilt. Agile teams voeren continu testanalyses uit, per user story, tijdens de sprintplanning en -verfijning. V-model teams doen dit in grotere batches, gebaseerd op formele SRS- en ontwerpdocumenten.

Generatieve AI koppelt semantisch vergelijkbare tekst in vereisten en testgevallen en genereert automatisch builds. tracHet maakt gebruik van geschiktheidsmatrices en detecteert ontbrekende tests of niet-gedekte vereisten. Dit verkort de voorbereidingstijd voor audits en brengt dekkingslacunes aan het licht die met een zoekopdracht op trefwoorden over het hoofd zouden worden gezien.

Vat dit bericht samen met: