3 tips om slimmer, sneller en minder te testen
Time flies als we het over softwareontwikkeling hebben. Iedereen doet morgen het liefste wat gisteren nog niet kon. En dan hebben we het in deze whitepaper over moderne technieken die je testproces verbeteren én versnellen. Dat blijft cruciaal om eersteklas producten te leveren.
Tegelijkertijd dagen de toenemende vraag naar snellere releases en de hogere kwaliteitseisen de traditionele testmethoden uit. Ook het releaseproces is de afgelopen jaren aanzienlijk versneld, en testers zijn tegenwoordig veel directer betrokken bij het ontwerp- en ontwikkelproces.
Testen blijft een knelpunt in snelle en betrouwbare oplevering
Met alles wat verandert, dendert het ontwerpen-ontwikkelen-testen-treintje voort, met testen vaak als laatste wagon en een belemmerende hobbel op het kritieke pad. We testen dan wel eerder, meer in dezelfde tijd en steeds meer geautomatiseerd, maar de verleiding om sneller te releasen wint het vaak van de betrouwbare kwaliteit die je wilt leveren.
Natuurlijk is testen waardevol en onmisbaar bij de ontwikkeling en oplevering van producten. Maar hoe zorg je ervoor dat de optimalisatie die is doorgevoerd in het ontwikkeltraject ook het maximale uit je testproces haalt?
Te vaak is testen toch nog een weinig transparante en vooral kostbare activiteit met onvoorspelbare output — een laatste check of hobbel die, in plaats van inzicht in de staat van het product, vooral een vinkje moet opleveren. Dus hoe zorg je ervoor dat het testproces binnen een steeds veeleisender markt het maximale effect blijft leveren?
Steeds meer testen, steeds minder inzicht in softwarekwaliteit
Nog niet zo lang geleden was testen een kostbare bezigheid. Er werd veel nagedacht over een goede teststrategie. Tegenwoordig lijkt het er meer op dat, als er iets geautomatiseerd kán worden, dat ook meteen gedaan wordt — zonder een duidelijke achterliggende strategie. Eenmaal geautomatiseerd is gecheckt, lijkt de gedachte.
En zijn de testen eenmaal geautomatiseerd, dan blijft dat altijd belangrijk en moet dat zo blijven, is het mantra. Dat onderhoud op testsets op die manier steeds duurder wordt, de overlap in testdekking toeneemt en regressietesten steeds langer duren, nemen we dan maar voor lief.
Er ontstaat zo echter een nieuw probleem, en de ‘testbottleneck’ blijft zich herhalen. Elk team maakt vaak eigen keuzes over de teststrategie, testtools en testframeworks. En hoewel er al heel veel testen zijn — en dat aantal elke sprint gestaag meegroeit met alle nieuwe features — is het opmerkelijk dat inzicht in de kwaliteit paradoxaal genoeg alleen maar kleiner wordt.
Een volledige regressierun van inmiddels duizenden testen duurt dan geen minuten meer, maar uren. Er valt eigenlijk altijd wel wat om. Soms door wijzigingen van een ander team, soms vanwege omgevingsinstabiliteit, maar vaak ook om onduidelijke redenen. Het blijft (te veel) tijd kosten om dat allemaal uit te zoeken.
Augmented Testing als kansrijke ontwikkeling
Wanneer je niet goed nadenkt over welke zaken hoe, waarom en wanneer (niet) getest moeten worden, ontstaan er vaak situaties waarin het proces terugvalt naar een werkwijze van hokjes en hand-overs. De ‘scheidingslijnen’ vallen dan al snel weer terug op de grenzen van de testsoort: ontwikkelaars zijn verantwoordelijk voor de unittesten, testers voor de systeem- en acceptatietesten.
Maar levert deze scheiding van verantwoordelijkheden binnen je team nu écht de meest effectieve teststrategie op? Zorg je zo voor snellere releases en de beste softwarekwaliteit?
In de meeste geautomatiseerde testtrajecten groeit de set van testgevallen namelijk mee met de hoeveelheid opgeleverde functionaliteit. Vaak treedt er dan ongemerkt ook al snel redundantie op in de aanwezige testen, met vertraging in releases als logisch gevolg.
Hoe is dit te voorkomen? Deze whitepaper gaat in op moderne benaderingen en technieken die je testproces kunnen verbeteren én versnellen. We focussen hierbij op de uitdagingen in softwaretesten, de optimalisatie van testprocessen en de rol van Augmented Testing. Daarbij kijken we ook naar wat Gartner daarover voorspelt.
Uitdagingen in testen
Veel organisaties kampen nog altijd met uitdagingen in hun testprocessen. Testen wordt vaak gezien als een tijdrovende en dure activiteit, met een lastig te berekenen ROI.
Je maakt al snel voor iedere change een geautomatiseerde test. Voor je ’t weet draaien er uren aan testen en lukt het niet meer om bijvoorbeeld in een nacht alle testen te draaien. Laat staan dat je tussendoor of vlak voor een release nog een gefixte bug kan testen.
Dit leidt tot situaties waarin testen onder druk komt te staan, vooral wanneer deadlines rap dichterbij komen. Je moet dus slim kiezen hoe je de structuur van testen opzet. Doe je dat niet? Dan ligt vertraging van releases al snel op de loer.
Belangrijke uitdagingen bij testen zijn:
Tijdgebrek
Kosten
Complexiteit
Compliancy en toezicht
3 tips die je helpen strategische keuzes te maken
Om deze uitdagingen aan te pakken, zijn er strategieën en technieken die om testen efficiënter en effectiever maken.
1. Slimmer testen
Gebruik geavanceerde technieken en tools om het testproces te optimaliseren. Denk bijvoorbeeld aan:
Testautomatisering
Zet tools in voor testautomatisering om repetitieve en tijdrovende testcases te automatiseren. Zo kunnen testers zich focussen op complexere scenario’s, user experience of exploratory testing.
Houd daarbij wel in het achterhoofd dat automatisering altijd pas ná een strategie of plan komt, en niet andersom, om geautomatiseerde chaos en vertraging te voorkomen.
Een testautomatiseringsplan is dan ook altijd onderdeel van de overall strategie, waarin je ook de kosten voor onderhoud meeneemt.
Risicogebaseerd testen
Richt je testinspanningen op de meest kritieke onderdelen van de applicatie. Zo ontdek je eerder belangrijke bugs en minimaliseer je de tijd voor het maken van nieuwe testen.
Later geeft een goede risico-inventarisatie, in combinatie met de traceerbaarheid van tests en systeemwijzigingen, de benodigde onderbouwing om bepaalde testen niet (altijd) uit te voeren.
Defectanalyse versnellen
Door de historie van defects en de bijbehorende analyses op te bouwen en doorzoekbaar te maken, wordt de analysetijd van toekomstige defecten drastisch korter.
2. Sneller testen
Sneller testen lukt door processen te stroomlijnen en bottlenecks te elimineren.
Parallelle testuitvoering
Voer tegelijkertijd testen uit op meerdere omgevingen, of doe parallel testen van verschillende testsets op dezelfde testomgeving. Dit vraagt om individueel uitvoerbare testen en gedegen testdatamanagement.
Continuous Integration / Continuous Delivery (CI/CD)
Integreer je testprocessen in de CI/CD-pipeline. Zo zorg je ervoor dat de juiste testen automatisch worden uitgevoerd bij elke code- of configuratiewijziging. Richt je dit goed in, dan garandeer je ook snelle feedback aan alle betrokkenen.
3. Minder testen
Minder testen betekent niet dat je op voorhand inlevert op kwaliteit; je legt juist de focus op efficiëntie.
Testoptimalisatie
Beoordeel of je overbodige (redundante) testen kunt verwijderen en testcases kunt herzien om alleen noodzakelijke, waardevolle tests te behouden.
Gebruik AI en Machine Learning
Deze technologieën kunnen helpen voorspellen waar bugs het meest waarschijnlijk zijn bij veranderingen aan systeemonderdelen. Ze kunnen ook automatisch tests genereren en uitvoeren op basis van de belangrijkste requirements.
Dit voorspelt Gartner over augmented testing
Gartner voorspelt dat tegen 2025, 75% van de testactiviteiten augmented testing-technologieën zal gebruiken. Dit betekent dat AI en machine learning een centrale rol gaan spelen in het testproces.
AI-gestuurde testautomatisering
Gebruik AI om testcases automatisch te genereren en uit te voeren, voor meer efficiëntie en een hogere testdekking.
Zelflerende mechanismen
Implementeer systemen die kunnen leren van testresultaten om toekomstige testen te optimaliseren en verfijnen.
Data-analyse en inzichten
Gebruik geavanceerde analysetools om testdata te interpreteren en trends te identificeren die helpen bij de verbetering van teststrategieën.
Orangebeard: dé oplossing voor modern Augmented Testen
Orangebeard biedt geavanceerde oplossingen die aansluiten bij de behoeften van moderne testomgevingen en de adviezen van Gartner. Orangebeard helpt organisaties bij de implementatie van efficiënte en effectieve teststrategieën.
Hoe? Door alle geautomatiseerde testresultaten samen te brengen in één platform, wat zorgt voor continue en consistente testuitvoering. Eén plek voor alle rapportage en je test(cyclus)historie, leesbaar voor iedereen in een eenduidig format.
Orangebeard gebruikt machine learning en artificial intelligence om zowel testresultaten als door de gebruiker gemaakte defectanalyses te analyseren. Met deze analyse schotelt Orangebeard je gedetailleerde rapportages voor die helpen bij het identificeren van trends, patronen en potentiële problemen.
Met de ingebouwde functionaliteiten voor risicobeoordeling stelt Orangebeard teams ook in staat om testinspanningen te richten op waar het nodig is — in die onderdelen van het systeem waar wijzigingen hebben plaatsgevonden en in aanverwante systemen.
Alle testresultaten zijn real-time met Orangebeard te monitoren. Zo kunnen teams onmiddellijk reageren op testresultaten en direct bijsturen waar dat nodig is.
Ontdek de voordelen van Orangebeard
- 1 overzicht van alle testresultaten, dus geen wirwar aan verschillende rapporten meer
- Integratie met elke testtool en elke testsoort
- Real-time inzicht in de testresultaten (in zowel lokale testruns als de pipeline
- Automatische defectanalyse van faalredenen
- Overzichtelijke en audit ready rapportages
- Inzicht in de resultaten van code-analysetools en security scanners
- Context-aware filtering van overbodige testen uit de testset
- Prioritering van testen op basis van correlaties tussen wijzigingen en testen
Conclusie: ook jouw testproces kan beter én sneller
De wereld van softwaretesten draait door. Met slimmer, sneller en minder testen kunnen organisaties hun testprocessen optimaliseren, de kwaliteit van software verhogen en tegelijk de kosten onder controle houden.
Augmented Testing is met AI en machine learning een kansrijke manier om het testproces te verbeteren én versnellen. Zo wordt testen niet langer de sluitpost van delivery, maar een integraal onderdeel van een efficiënte en effectieve ontwikkelcyclus.
Met oplossingen als Orangebeard kunnen bedrijven beter inspelen op de eisen van de markt en wetgeving en snel eersteklas softwareproducten blijven leveren.
Over Orangebeard: 1 Software Quality Intelligence Platform, alle antwoorden
Steeds meer testactiviteiten worden geautomatiseerd. Maar de doorlooptijd van testen blijft een knelpunt. Het aantal testen groeit en testen analyseren kost veel tijd. Je raakt hierdoor ook nog het overzicht kwijt.
Orangebeard geeft je vanaf één plek controle over alle testactiviteiten in je bestaande test- en ontwikkeltools. Van automatische defectanalyse, slim leren van eerdere testruns tot heldere rapportages voor audits.
Je ziet alles, weet meer en doet meer met wat echt nodig en nuttig is. Zo stuur je met Orangebeard op de slimste manier naar de snelste oplevering van de beste software.