Wat is agile testen?

Agile testcyclus

Wat is Agile-testen?

Agile testen is een praktijk voor het testen van software die de principes volgt van de agile methodologie. In tegenstelling tot de watervalmethodologie, die testen tot het einde van de levenscyclus van softwareontwikkeling duwt , brengt Agile het ontwikkelings- en testteam samen om sneller kwaliteitsproducten in sprints te bouwen en te verzenden. Agile creëert een omgeving die meer samenwerking tussen ontwikkelaars, testers en bedrijfsanalisten aanmoedigt om de applicatie te testen en continue feedback te geven over de kwaliteit en defecten in dezelfde iteratie op te lossen.

3 Agile Manifesto-beeld

Agile-principes toepassen bij testen

Het agile manifest heeft punten genoemd voor de softwareontwikkeling die ook geschikt zijn om teams te testen:

  • Individuen en interacties over processen en tools: testers moeten aansluiten bij de rest van het ontwikkelingsteam, d.w.z. ontwikkelaars, productbelanghebbenden en de eindgebruikers. De voortdurende feedbackloop tussen deze teams zal testers helpen het product dat wordt ontwikkeld/getest, en verschillende benaderingen om de kwaliteit van het product te verbeteren, beter te begrijpen.
  • Werkende software boven uitgebreide documentatie: Testers in de agile omgeving moeten openstaan om zich aan te passen aan de veranderende eisen. In tegenstelling tot waterval, waar er uitgebreide vereistendocumentatie is waartegen testers zullen testen, volgen agile testers geen strikte documentatie. Ze moeten voortdurend communiceren met de rest van het team en op de hoogte worden gehouden van de veranderende/nieuwe eisen en samen de acceptatiecriteria bepalen.
  • Samenwerking met klanten boven contractonderhandelingen: Testers hebben meestal geen direct contact met de klanten. Agile-principes moedigen testers echter aan om de vereisten vanuit het oogpunt van de klant te begrijpen en zich daar meer op te richten.
  • Reageren op een verandering volgens een plan: om echt te slagen in agile testen, testers moeten reageren op de verandering, bereid zijn om hun tests opnieuw te prioriteren, wat zal resulteren in respectievelijk het minimaliseren van de risico’s en het bereiken van het doel.

Typen Agile Methodologie:

Er zijn twee typen agile methoden

  1. Scrum
  2. Kanban

1.Scrum

Scrum-methodologie is de meest populaire en meest gebruikte agile-methodologie. Scrum team zal hebben

a. Zakelijke belanghebbenden
b. Product eigenaar
c. Scrum Master
d. ontwikkelaars
e. Testers
F. Automatisering Ingenieurs

Scrum framework is gebaseerd op continu leren en continu verbeteren. Het vereist een iteratieve aanpak en helpt teams zich aan te passen aan de veranderende gebruikersvereisten, tests opnieuw te prioriteren en risico’s te minimaliseren, wat resulteert in continue verbetering en leren.

Scrum 2

Scrum begint met het identificeren van artefacten. Drie veelvoorkomende scrum-artefacten zijn:

a. Productachterstand
b. Sprintachterstand
c. Sprintdoel/Gereed/Verhogingen

Elk van de leden die bij de Scrum betrokken zijn, houdt toezicht op deze artefacten en rijdt de hele sprint.

a. Productachterstand

Product owner houdt de product backlog bij, dit is een lijst met taken die door het team moeten worden uitgevoerd. De lijst bevat een lijst met vereisten, functies, bugs die moeten worden opgelost enz., die zullen dienen als invoer voor de Sprint Backlog/Taken.

b. Sprintplanning

Het hele team onder leiding van de scrummaster (kan een ontwikkelaar/tester zijn) die de taken plant die voor de huidige sprint moeten worden uitgevoerd, wordt sprintplanning genoemd. In deze vergadering kiezen teams de items uit de product backlog, ook wel sprint backlogs genoemd, waar ze aan willen werken voor de huidige sprint. Na de sprintplanning moet elk lid duidelijk zijn over de sprintdoelen en hoe deze kunnen worden bereikt.

c. Sprint

Een sprint is een daadwerkelijke periode waarin teams samenwerken en de doelen behalen. Hoewel een typische sprintperiode kan variëren tussen 1-4 weken, geven de meeste teams de voorkeur aan een sprint van 2 weken. Alle evenementen, van planning tot levering, vinden plaats in een sprint. In deze periode kunnen de development en product owner de scope bespreken en zo nodig herhalen. Zodra de tijd voor een sprint is vastgesteld, moet deze consistent zijn gedurende de ontwikkelingsperiode.

d. Dagelijkse Scrum-vergadering

Daily scrum meeting, ook wel daily stand-ups genoemd, zijn snelle meetings van 15 minuten. Het doel van deze bijeenkomst is ervoor te zorgen dat iedereen in het team op dezelfde lijn zit met betrekking tot de doelen en een routekaart te plannen voor de komende 24 uur.

e. Review/demo

Iedereen in het team komt aan het einde van een sprint samen voor een review of demo van de sprintdoelen. Het ontwikkelteam presenteert de ‘Klaar/Increment’-taken aan de belanghebbenden en teamgenoten ter beoordeling. Zodra de product owner het groene licht geeft, wordt de increment vrijgegeven.

4 Kanban

2.Kanban

Kanban is een andere veel gebruikte agile-praktijk die is afgeleid van de productie-industrie. De succesvolle invoering van dit raamwerk vereist realtime communicatie en transparantie op het werk. In Kanban worden de werkitems/vereisten meestal gepresenteerd in een Kanban-bord met de lijst ‘To Do, Doing, Done’. Wanneer de ontwikkelaar er klaar voor is, kan hij op elk moment achterstanden van de takenlijst halen en eraan beginnen te werken.

Het Kanban-team zal hebben:

  • Product eigenaar
  • ontwikkelaars
  • Testers
  • Projectleider
  • Automatisering Ingenieurs

Het team zal minder planningsvergaderingen hebben in vergelijking met Scrum. Daarom moeten de leden van het team redelijk flexibel zijn en nauw communiceren. Met het virtuele Kanban-bord kunnen teamleden het lopende werk voor elk item en bijbehorende details volgen, zoals wie verantwoordelijk is voor die taak, functiebeschrijving en een tijdlijn. Het is het meest geschikt voor kleine teams die uitsluitend werken op basis van prioriteit en niet op vaste, tijdige releases.

Agile testplan

Agile-testteams, ongeacht welke agile-methodologie ze volgen, moeten een goed testplan maken. Het kan aan de teamleden worden gecommuniceerd via een document of met behulp van een testmatrix. Dit plan schetst de gebruikersverhalen of acceptatiecriteria, vereiste testgevallen, de reikwijdte van de tests en methoden voor het uitvoeren van de test, dwz handmatig of geautomatiseerd.
Een goed testplan en beheer zullen agile testers helpen de productkwaliteit te verbeteren en kortere releasecycli mogelijk te maken.

3 Agile-testmethoden

Agile testmethodologie

1. Testgestuurde ontwikkeling (TDD)

TDD begint, zoals de naam al doet vermoeden, met testen. Dit type ontwikkeling begint met het schrijven van een unittest – user story – schrijf code totdat de test slaagt. TDD is toepasbaar voor unit- en componenttests. Het zorgt ervoor dat de functies werken zoals verwacht. De andere typen TDD zijn Acceptance-Test Driven Development (ATDD) en Behaviour Driven Development (BDD).

2. Verkennend testen

Exploratory Testing vereist geen vooraf gedefinieerd testscript. Het begint met testers die hun intuïtie volgen en test de werking van de software door het gebruikersgedrag na te bootsen. Het helpt om bugs op te sporen die aan het testen van functionaliteit zijn ontsnapt en ook potentiële risicovolle bugs die de software zouden kunnen breken. Het hele proces wordt vastgelegd en als test opgeslagen.

3. Sessie-gebaseerd testen

Sessiegebaseerd testen verschilt weinig van verkennend testen in termen van een meer gestructureerd testproces. Het doel van deze test is hetzelfde: kritieke bugs vinden die de software kunnen breken

Traditioneel testen versus Agile testen

Traditioneel/ Waterval testen Agile testen
Vereisten zijn goed gedocumenteerd en goed gestructureerd Licht op documentatie en het vereist minimale planning

Tests gebeuren alleen aan het einde van SDLC.

p>

Testers en ontwikkelaars werken onafhankelijk van elkaar en er is weinig communicatie

Testen schuift helemaal naar links

Testers werken samen met ontwikkelaars en communiceren regelmatig

Testers zijn mogelijk niet aanwezig in de vereistenfase Testers zijn betrokken bij de vereistenfase
Gevonden gebreken alleen in de latere stadia Vroegere detectie van defecten is mogelijk dankzij voortdurende feedback tussen teams
Strikte naleving van vereisten en als zich veranderingen voordoen, zeer moeilijk aan te passen en minder effectief gebleken Flexibel en welkom bij veranderingen in de vereisten
Meest geschikt voor complexe en grote projecten Meest geschikt voor kleine projecten en werkt prima voor de lange termijn
 Alle functies worden in bulk geleverd na de implementatie Verzendbare functies van de software worden na elke iteratie geleverd

Voordelen van Agile Testen

  • Een beter begrip van het product omdat alle teams samenwerken
  • Eerdere detectie van defecten bespaart tijd en kosten
  • Continue feedback die leidt tot continue verbetering van de productkwaliteit
  • Eenvoudig om de software te beheren

Laatste woord

De tegenslagen van de waterval en de voordelen van de agile opzet hebben organisaties ertoe aangezet om snel over te stappen naar de agile cultuur om hun digitale transformatiedoelen te realiseren.

Hoe eenvoudig het ook lijkt om agile te omarmen, de echte uitdagingen liggen in ‘adoptie’. Bedrijven moeten rekening houden met de juiste onboarding van leden in de agile mentaliteit, het trainingsproces, weten wanneer agile niet bij hen past, en ook het goede voorbeeld geven om de kloof tussen omarmen en adoptie te overbruggen.

Op zoek naar een ervaren agile testservice aanbieder om over te stappen naar uw leveringscyclus naadloos? Stuur ons een bericht voor deskundig advies van de QA-experts van Zuci.

WILT U DIGITAAL CONTROLEREN?