Gaining Speed Yet Losing Altitude - S1:A3

maandag 25 oktober 2021

S1:A3 - Test Tooling

Voor veel bedrijven is het cruciaal om continu nieuwe releases live te zetten. Dat vraagt om supersnel software ontwikkelen, die per direct de klantvraag adresseert. Low-code platformen maken dit voor steeds meer organisaties en toepassingen werkelijkheid. Maar, de snelheid van low-code ontwikkeling vraagt, nóg meer dan ‘vroeger’, wel om adequate QA- en testoplossingen. Hoe sneller je figuurlijke low-code vliegtuig vliegt, hoe belangrijker het is de juiste maatregelen te nemen om geen hoogte te verliezen.

In de serie Gaining Speed Yet Losing Altitude bespreken we steeds een low-code kwaliteitsuitdaging en de maatregelen die je kunt nemen.

'Testen is de bottleneck'

Organisaties die Low-Code platformen gebruiken voor hun softwareontwikkeling lopen steeds vaker tegen het probleem aan dat testers de snelheid van ontwikkelaars niet bij kunnen benen. Met Low-Code wordt nieuwe software steeds sneller ontwikkeld en worden steeds vaker wijzigingen doorgevoerd aan de bestaande software. In deze gevallen horen we vaak dat ‘testen de bottleneck is van de release cycle’.

Stel jezelf de volgende vragen:

  1. Kost het je ontwikkelteams steeds meer tijd om nieuwe functionaliteit te releasen?
  2. Spendeer je meer tijd aan het up-and-running houden van je huidige testsets dan aan het bouwen van nieuwe scripts?
  3. Heb je zorgen over de risicodekking en onderhoudbaarheid van je testsets?

Dan is er waarschijnlijk een mismatch tussen je 'software development tooling' en 'test tooling'.

IT-doelstellingen

Jouw organisatie heeft voor softwareontwikkeling met Low-Code platformen gekozen om bepaalde redenen. Bijvoorbeeld de wens om:

  1. Sneller in te kunnen spelen op de veranderende vraag van de markt
  2. De business nauwer te betrekken bij softwareontwikkeling
  3. Het risico van technische afhankelijkheden (expertise) te verlagen

Vaak komen deze redenen voort uit ervaringen met traditionele, regular code oplossingen die niet konden voldoen aan deze wensen. Wat echter vaak wordt vergeten, is om test tooling direct mee te nemen in deze overweging.

Kritische succesfactoren voor testautomatisering

Een succesvolle implementatie van testautomatisering heeft op hoofdlijnen de volgende 3 kritische succesfactoren:

  1. Type applicatielandschap: Niet elke tool kan omgaan met alle type applicaties.
  2. Vereiste snelheid van oplevering van testscripts: Niet elke tool stelt je in staat om direct te starten met het bouwen/aanpassen van scripts. Soms moet er eerst een framework gebouwd/aangepast worden.
  3. Samenstelling van het team: De ene tool vereist meer technische kennis dan de ander. Een technisch team kan beter ondersteuning bieden aan een technische tool.

Het type applicatielandschap, is bij Low-Code over het algemeen duidelijk. Het gaat in dit geval over een html applicatie enerzijds, en anderzijds (waarschijnlijk) over allerlei integraties met andere systemen via webservices.

De vereiste snelheid is hoog. Verscheidene onderzoeken van OutSystems tonen aan dat met OutSystems 82% van de 2.200 ondervraagde IT-Professionals aangeeft binnen 6 maanden hun applicatie in productie te hebben. Daarnaast biedt Low-Code de mogelijkheid om snel wijzigingen door te voeren op eerder gebouwde functionaliteiten. Als je de testscripts in zulke omgevingen niet nét zo snel kunt aanpassen, dan loop je binnen de kortste keren achter de feiten aan. Met als gevolg dat je niet langer de gewenste risicodekking waarborgt.

Tot slot is in de teamsamenstelling binnen Low-Code bewust gekozen om minder afhankelijk te zijn van de schaarse Java, .Net en/of C# ontwikkelaars. Dit betekent dat je maar beperkt kunt terugvallen op deze expertise indien je een testtool gebruikt die bijvoorbeeld Java kennis vereist.

De veelgemaakte fout: Low-Code testen met High-Code tooling

De eerder genoemde IT-doelstellingen hebben niet alleen betrekking op software development, maar ook op test tooling. Software testen moet aansluiten op software development. Dit wordt vaak over het hoofd gezien. Vooral de eerder genoemde samenstelling van het team heeft hier grote impact op.

Daarnaast zijn technische frameworks niet geschikt voor de hoge frequentie van wijzigingen in de code. Eén van de meest genoemde redenen van een falende implementatie van testautomatisering is de slechte onderhoudbaarheid van de testscripts. Net zoals Low-Code het makkelijker maakt om wijzigingen door te voeren, moet je als tester soortgelijk gereedschap hebben om dit bij te kunnen benen. Ook hier wil je niet afhankelijk zijn van technische (schaarse) expertise.

Maar ben je nu écht Low-Code?

Steeds meer test tools claimen Low-Code te zijn. Deze tools maken veelal gebruik van libraries die je kunt aanroepen om tests te automatiseren. Binnen deze tools blijft altijd nog een vorm van scripting noodzakelijk voordat je deze libraries kunt aanroepen. Hou dus goed in de gaten welke stappen er nodig zijn om een test te automatiseren. Dan is al snel duidelijk of er daadwerkelijk een programmeertaal aan te pas komt of niet.

Low-Code test je met Low-Code

Gezien de kritische succesfactoren is het dus eigenlijk simpel: Low-Code applicaties wil je testen met Low-Code testtooling.

Valori heeft al vaak met dezelfde uitdaging geworsteld. Onze experts hebben tientallen klanten geholpen met het bouwen van technische frameworks voor testautomatisering. We merkten al snel dat we steeds dezelfde problemen aan het oplossen waren en dat deze klanten daarmee ook afhankelijk werden van de kennis van onze experts. De adoptie van deze frameworks was vervolgens een grote uitdaging.

JOSF: een toekomstvaste basis via Low-Code

Deze leerpunten hebben wij gebundeld in ons Low-Code automatiseringsframework JOSF. JOSF staat voor Java Object Selenium Framework. Het maakt gebruik van Selenium API’s om browsers aan te sturen en gebruikt REST-Assured voor het aansturen van API’s. Hiermee heeft JOSF een breed ondersteunde, toekomstvaste basis.

JOSF speelt in op de behoefte van een Low-Code organisatie

De gebruiker van JOSF heeft geen technische skills nodig om geautomatiseerd te kunnen testen. Dit speelt in op de IT-doelstelling om minder afhankelijk te zijn van technische kennis.

Daarnaast biedt JOSF twee mogelijkheden om de business te betrekken bij testautomatisering. Enerzijds via Gherkin scenario’s (Given…When…Then) die de business kan beschrijven en kan importeren in JOSF.Anderzijds via een Object georiënteerde werkwijze die de teststappen direct relateert aan zichtbare blokken vanuit de user interface (zogeheten Page Objects). Deze Page Objects zijn herbruikbaar over meerdere schermen heen. Dit draagt bij aan de onderhoudbaarheid van de testscripts. Als er een aanpassing nodig is, hoef je dit namelijk maar op één plek te doen. Vervolgens worden alle ‘usages’ direct geüpdatet.

Deze twee dingen samen stelt de tester in staat om snel in te spelen op de nodige wijzigingen. Testen is hiermee niet langer de bottleneck.

Meer weten?

Via www.JOSF.nl kun je JOSF gratis downloaden om te proeven aan de tool. Daarnaast plannen wij graag iets met je in om de verdere mogelijkheden te bespreken en een uitgebreide demo te verzorgen. Stuur dan even een mailtje naar josf@valori.nl.

Over de auteur

Brian van den Brink is Chapterlead OutSystems bij Valori. Hij is ervan overtuigd dat diepgaande kennis van een Low-Code platform essentieel is om een goede Low-Code testprofessional te zijn. Door deze kennis ben je in staat om unieke testoplossingen te maken. Brian spreekt en blogt regelmatig over Low-Code in het algemeen en OutSystems in het bijzonder.