Home Algemeen Softwarecrises in 2020, tekort aan ontwikkelaars maar zeker ook testers

Softwarecrises in 2020, tekort aan ontwikkelaars maar zeker ook testers

291

In zijn blog van 20 januari jl. schrijft Johan Haan (CTO Mendix) dat door het tekort aan ontwikkelaars een softwarecrisis dreigt te ontstaan, met als gevolg de snelgroeiende acceptatie van Low Code en natuurlijk ook No Code. Dit onderschrijf ik volkomen maar daar wil ik graag aan toevoegen dat dit ook zeker geldt voor testers.

Quality Assurance en Testen zijn essentiële onderdelen van het software ontwikkelproces, en niet voor niets. Om bugs in de software te herstellen na release zijn de kosten vele malen hoger dan het tijdig opsporen, bij voorkeur direct na elke sprint.

De verwachting is dat in 2020 ongeveer 32% van het budget aan QA en testen besteed gaat worden en dit is voor een groot deel te danken aan de toegenomen inefficiëntie van de testactiviteiten.

Met Agile en DevOps groeien IT en Business naar elkaar toe, maar worden ook de testprocessen verbeterd en effectiever. Er wordt meer samengewerkt en Continuous Delivery is in zicht.

Uitdaging

Zoals aangegeven is het testen van software een kostbare zaak. Echter, het is niet alleen duur maar ook lastig. En het moet voldoen aan de verwachtingen van de Product Owner en de overige belanghebbenden. Er moeten strategieën ontwikkeld worden om zoveel mogelijk van de functionaliteit binnen de beschikbare tijd en budget te testen. Het is niet ongebruikelijk dat slechts 15% van de applicatiefunctionaliteit werkelijk getest wordt.

En druk neemt toe. Snellere releases, continuous delivery, eindgebruikers die foutloos werkende software eisen, allemaal zaken die tot inefficiëntie in het testproces leiden.

Handmatig testen

Bij het traditionele handmatige testen verkrijg je absoluut nauwkeurige resultaten maar de keerzijde is dat het veel tijd en energie kost. Het kan in veel gevallen de hoeveelheid product features, links, java scripts en integraties niet of nauwelijks aan. Samengevat kan handmatig testen een negatieve impact hebben op het opleveren van een ontwikkelproject vanwege de inefficiënties als:

–          Hoge kosten van onderhoud

–          Fouten door repetitieve taken

–          Beperkte kennis van het coderen van de test scripts

–          Moeilijke overdraagbaarheid

–          Traagheid van uitvoeren

Al met al zeker niet wenselijk in DevOps omgeving.

Geautomatiseerd testen

Testautomatisering is niet meer of minder dan het gebruik van software  voor het uitvoeren van de testen. Er zijn verschillende soorten testen die je kunt uitvoeren, mede afhankelijk van de doelstellingen van de business en de kennis van het testteam.

Regressietesten

Dit wordt ingezet om zeker te stellen dat de functionaliteit van de software nog werkt na het uitbreiden met nieuwe functionaliteit. Als je regressietesten automatiseert dan krijg je door het inzetten van software tools op een snelle en betrouwbare manier terugkoppeling van deze testen. Hierdoor maak je tijd vrij voor de testers om zich te focussen op het verbeteren van de kwaliteit van de software of om zich te focussen op de test cases die speciale aandacht vereisen.

Functioneel UI Testen wordt ingezet om te bepalen of de software werkt conform de specificatie en dit dan vanuit een eindgebruiker perspectief. Hierbij worden vaak de meeste bugs ontdekt. Een eindgebruiker kan een systeem laten crashen terwijl de unit, integratie en performance testen succesvol zijn doorlopen, simpelweg omdat hij met de applicatie werkt op een manier die de ontwikkelaars niet hebben verwacht.

Geautomatiseerd functioneel UI testen verhoogt de efficiëntie. Echter, veel van de in gebruik zijn UI tools zijn nog code gebaseerd.

Continuous testen

Tijdens meerdere stadia van de release pijplijn bevordert het leveren van software van een hoge kwaliteit. Het primaire doel van continuous testen is dat het continue feedback levert wat de snelheid verhoogt en bijdraagt aan de kwaliteit. Continue testen gebeurt normaal gesproken dan ook zonder menselijk interventie. Enkel dan haal je de benodigde snelheid tegen lagere kosten en vermijdt je kans op menselijk fouten.

Sommige tools lenen zich beter voor continuous testing dan de andere. Als de testers uiteindelijk veel tijd kwijt zijn aan het programmeren of onderhouden van de testscripts in plaats van het inzetten van hun specifiek kennis voor het ontwerpen van testcases dan gaat het niet werken.

Agile en Codeless test automation (No Code) die intuïtief is en niet onnodig complex kan ontzettend veel bijdragen in het software delivery proces. LEAPWORKis zo’n No Code test automation platform dat volledig visueel werkt. Alle onnodige complexiteit is verborgen voor de gebruiker en werkt over alle technologieën heen, inclusief Citrix, SAP etc. Het is bedoeld om elk lid van het team in staat te stellen om de testen te automatiseren.

Benefits

–          Korte leercurve, iedereen in het team kan vanaf dag 1 test case bouwen

–          Alle code wordt onder de oppervlakte gegenereerd, net zoals Low/No code development

–          Minder onderhoud en eenvoudig op te schalen, hergebruik van test componenten

–          Maakt resources vrij en minder afhankelijkheid van de ontwikkelaars

–          Ondersteunt ketentesten over de diverse technologieën heen, in één enkele flow

–          Data-driven testen door eenvoudig gebruik van externe resources

–          Integratie met de meest gebruikt CI tooling, native plugins

Conclusie

Het versnellen van het ontwikkelproces door het inzetten van Low Code (OutSystems, Mendix) of No Code (Betty Blocks) ontwikkelplatformen is een mooie stap om het ontwikkelen te versnellen. Kijk vooral wel voor welke applicaties je e.e.a. wilt inzetten. Echter, als het snel opleveren van goed geteste software het doel is, dan is No Code testautomatisering noodzakelijk, anders gaat het testen de remmende factor worden voor het opleveren van goede software.

Evert Jan Bos, Business Development Manager bij Inforza Information Technologie

LAAT EEN REACTIE ACHTER

Vul alstublieft uw commentaar in!
Vul hier uw naam in