Software testen: niemand twijfelt aan nut, toch gebeurt het te weinig

Abonneer je gratis op Techzine!

Veel bedrijven ontwikkelen zelf software. Of het nou gaat om extensies op hun ERP-omgeving, een mobiele app om de klantervaring te verbeteren of iets simpelers als de bedrijfswebsite. Het testen van deze nieuwe applicaties gebeurt echter nog veel te weinig. Iets wat wel enorm belangrijk is.

Er zijn vandaag de dag verschillende mogelijkheden voor het geautomatiseerd testen van applicaties. Wij gingen in gesprek met Arno van de Velde, presales consultant application delivery management bij Micro Focus.

Micro Focus is een van de bedrijven die oplossingen levert voor het geautomatiseerd testen van software. Applicaties met de hand testen is vandaag de dag eigenlijk niet meer te doen, al komt het natuurlijk nog wel voor. Er zijn teveel verschillende apparaten met elk hun eigen specificaties en beveiligingen. Als je dat met de hand wil testen, kost het enorm veel tijd. Dit terwijl er oplossingen in de markt zijn, waaronder die van Micro Focus, om duizenden testen automatisch uit te voeren met één druk op de knop. Uiteraard moet je specifieke functionele testen wel met de hand configureren, maar dat geldt lang niet voor alle testen.

Functioneel, performance en security

Of het nou gaat om functioneel testen, performance testen of security testen: bij Micro Focus hebben ze de verschillende testen gebundeld in oplossingen. De manier van testen vereist volgens Van de Velde overigens wel een bepaalde mindset. Bij security testen moet je uitgaan van het meest zwarte scenario. Je moet vooral negatieve scenario’s testen om te zien of applicaties daar tegen bestand zijn. Terwijl je bij functioneel en performance testen, eerder positief denkt. Alle manieren van testen kennen zo hun eigen specialisaties en kenmerken. Van de Velde ziet wel één gemeenschappelijke deler: “the devil is in the details”. Uiteindelijk gaat het bij testen altijd om de details. Fijn dat een bepaalde workflow werkt, maar werkt die ook 100 procent?

The devil is in the details

Elk bedrijf houdt er zijn eigen manier van software ontwikkelen op na. Of het nou agile, iterative, DevOps of de traditionele waterfall methoden is: je moet ze allemaal uitgebreid testen. Overigens stelt Van de Velde dat veel bedrijven tegenwoordig weliswaar roepen dat ze zijn overgestapt op een DevOps-methodiek, in de praktijk blijkt dat dit vaak meer de wens der gedachte is. Uiteindelijk zijn er veel verschillende manieren in het ontwikkelen van software. Hybride vormen komen dan ook veel voor.

Vrijwel alle software kan je testen

Volgens Van de Velde is Micro Focus in staat om in principe alle vormen van development te testen. Enkel het testen van low-code applicaties is nog weleens uitdagend, omdat objecten in die applicaties niet altijd goed zijn te identificeren. Het bedrijf heeft een breed portfolio aan oplossingen, ook in het testen van software. Het voordeel van het Micro Focus-portfolio is ook dat veel oplossingen met elkaar integreren. Als je al klant bent van Micro Focus kan dit een voordeel zijn. In de praktijk komt het echter ook vaak voor dat Micro Focus samenwerkt met bepaalde tools van derde partijen, bijvoorbeeld Open Source. Uiteindelijk moet het doel altijd zijn om een goede test uit te kunnen voeren, stelt Van de Velde. Als dat in combinatie is met oplossingen van derde partijen is dat geen probleem. Zeker als klanten al geïnvesteerd hebben in sommige oplossingen is het zonde om die zomaar te vervangen. Het uitgangspunt moet altijd de kwaliteit van de test zijn.

Het testen van software is steeds complexer geworden

Het testen van een applicatie is in de loop der jaren steeds complexer geworden. Vroeger hadden we vrijwel enkel Windows-desktopapplicaties, nu zien we steeds meer webapps die op verschillende form-factors moeten werken. Daar komt bij dat de browsermarkt veranderingen doormaakt. Waar Internet Explorer vroeger belangrijk was, voert momenteel de Chrome-browser de boventoon. Dat is een belangrijk gegeven, wat de testresultaten uit Chrome belangrijker maakt. Ook kan het ven belang zijn om het geheugengebruik van bepaalde browsers in de gaten te houden. Chrome is in de loop der jaren steeds zwaarder geworden voor computersystemen. Dat kan effect hebben op een performance test, waarbij de latency belangrijk is. Bij latency gaat het om de tijd die een applicatie nodig heeft om te reageren op een invoer van data. In een applicatie maakt het een wereld van verschil of een formulier in één seconde wordt verzonden of in vijf seconden.

Mobile software testen

Naast de webapps zijn er ook nog de nodige Android- en iOS-apps. Apple voert vooral performance verbeteringen door. Apple houdt heel erg vast aan bepaalde formaten, aspect ratio’s en schermresoluties. Op Android loopt dit echter kriskras door elkaar. Dat kan betekenen dat een applicatie op de ene Android-smartphone perfect werkt en op de andere ruimte tekortkomt om bijvoorbeeld een knop goed te tonen.

Het testen op veel verschillende Android-apparaten is dan ook verstandig. Gelukkig betekent dit niet automatisch dat je als bedrijf een tiental smartphones moet kopen voor testdoeleinden en alles met de hand moet testen. Daarvoor heeft Micro Focus oplossingen in huis. Micro Focus levert een dienst waarbij je met één druk op de knop een applicatie kan testen op een heel scala aan apparaten. Micro Focus werkt met partners die smartphones hebben gehost in de cloud, waarop heel snel applicaties kunnen worden uitgerold en getest. Dit zorgt voor een grote hoeveelheid tijdwinst met het testen van applicaties.

Uiteindelijk gebeuren de meeste testen middels de SaaS-oplossing, waarbij toestellen zijn gevirtualiseerd. Het testen met fysieke apparaten gebeurt nog maar weinig. Dit komt omdat het met een SaaS-oplossing automatisch en snel kan op enorm veel configuraties. Dat is effectiever dan steeds je smartphone koppelen. Wat wel gebeurt, is dat organisaties een combinatie van toestellen lokaal en in de cloud gebruiken voor een optimale configuratie.

Micro Focus biedt software testen aan verschillende lagen in de organisatie

Bij Micro Focus hebben ze verschillende versies van hun testoplossingen. Ze bieden eigenlijk voor verschillende lagen in de organisatie de mogelijkheid om testen uit te voeren. Voor bedrijven die veel applicaties ontwikkelen, is er UFT Developer. Deze testoplossing werkt vanuit de IDE van de ontwikkelaar, zodat de ontwikkelaar direct testen kan schrijven bij het ontwikkelen van nieuwe functionaliteit. UFT Developer is de meest uitgebreide oplossing, die je direct kan integreren bij het ontwikkelen van je applicaties.

Business Process Testing

Soms is dat echter te laat of wil je dat een ander team zich bezighoudt met het testen. Voor die gevallen is er onder meer Micro Focus BPT. BPT staat voor Business Process Testing en is ook geschikt voor gebruikers met minder technische kennis. In een soort point-en-clicksysteem kan je aangeven wat er moet gebeuren en wat de uitkomst moet zijn. Dit kunnen ook zakelijke gebruikers van een softwareoplossing zijn, die willen weten of de software ook zo werkt als ze bedacht hadden. Bijvoorbeeld applicaties die werken in combinatie met SAP-oplossingen. Veel bedrijven bouwen vaak specifieke applicaties bovenop een SAP-oplossing om simpele workflows mogelijk te maken. Die workflows zijn soms cruciaal voor bedrijfsprocessen, testen is dan geen overbodige luxe. Ook kan het enorm veel problemen voorkomen.

UFT One

Tot slot zijn er ook bedrijven die werken met dedicated test teams. Deze testers kunnen vaak wel code lezen en analyseren, maar minder goed zelf programmeren. Voor die mensen is er UFT One. Daarin kunnen zeer complexe functionele, performance en security testen worden gedaan. Deze moeten echter wel worden geprogrammeerd. Hiervoor ondersteunt Micro Focus Visual Basic. Dat is een zeer laagdrempelige programmeertaal van Microsoft. Visual Basic is inmiddels wel een beetje gedateerd. Dat heeft Micro Focus zich ook gerealiseerd en dus komt er ondersteuning voor Python bij. De reden voor Micro Focus om te kiezen voor Python binnen UFT One en niet voor een andere programmeertaal is de populariteit van Python. Bovenaan veel rankings staat vandaag de dag Python, op nummer twee staat JavaScript. Volgens Van de Velde is niet uitgesloten dat er in de toekomst nog andere programmeertalen bijkomen, zoals JavaScript.  

Goed testen kan ontwikkeling en route naar productie versnellen

Het goed testen van een applicatie is niet alleen goed voor de beveiliging, de functionaliteit en de performance. Het zorgt er tevens voor dat een development team sneller kan werken. Als nieuwe features klaar zijn en vrijwel direct kunnen worden getest, kost het een ontwikkelaar veel minder moeite om fouten te herstellen. Als er later nog een fout of probleem aan het licht komt, moeten ze terug in een module die ze maanden of jaren geleden hebben ontwikkeld.

Met een efficiënte softwareontwikkeling kan ook de route naar het in productie nemen worden versneld. Er kunnen duizenden testen eenvoudig worden uitgevoerd met een simpele druk op de knop. Binnen het team is er meer zekerheid dat een applicatie doet wat die moet doen. Er hoeven geen dingen meer met de hand te worden getest. Ook als radicale wijzigingen worden doorgevoerd in bijvoorbeeld de opmaak van een applicatie, betekent dit niet automatisch een vertraging in het testen. Micro Focus heeft inmiddels de nodige autonome technologieën toegevoegd op basis van kunstmatige intelligentie (AI). Als een aantal knoppen van plek worden verwisseld in een applicatie kan de AI-engine dit gewoon herkennen en blijven testen gewoon werken. Vroeger moest dit dan vaak opnieuw worden gedefinieerd. Die tijd ligt achter ons, aldus Van de Velde.

Conclusie

Het grote voordeel van een efficiënter ontwikkelteam en het sneller in productie nemen van applicaties is niet enkel dat ze meer werk kunnen verzetten. Ook kan het bedrijf meer geld verdienen. Applicaties of features leveren geld op zodra ze in gebruik worden genomen of verkocht kunnen worden. Zolang ze op de “ontwikkelplank” liggen kosten ze vooral geld. Daarmee is er niet alleen een noodzaak voor het goed testen van applicaties, maar heeft het ook nut. Daar staat tegenover dat het goed en snel testen van cruciale bedrijfsprocessen ervoor zorgt dat nieuwe ontwikkelingen ook goed werken. Als cruciale bedrijfsprocessen stil komen te liggen, kan dat enorm veel geld kosten.