Hoe pak je Test Automatisatie aan zonder Programmeerskills?

Hoe pak je Test Automatisatie aan zonder Programmeerskills?

Podcast

Testen automatiseren zonder te programmeren. Hoe pak je dit nu aan zonder verdwaald te raken in het bos van tools en verkopers? Allemaal geven ze aan dat hun tool de beste is, kunnen ze reference cases aanleveren die dit aan tonen, enz…

In deze reeks rond Test Automation Tools geeft Dirk Sundermann, QA Officer @M2Q.be, jullie een gestructureerde manier mee om dit aan te pakken. De podcast wordt gevolgd door 4 tool specifieke podcasts, namelijk Katalon, TestComplete, Tosca en UFT.

>>> Beluister onze podcast over Test Automatisatie zonder Programmeerskills. <<<

1. Waar past low code test automation in het landschap van testing in?

Low Code Test Automation (LCTA) is momenteel een volwaardig alternatief voor de meer reguliere manier om testen te automatiseren. LCTA wordt meestal op 2 manieren geïntroduceerd en gebruikt nl.

  • Als test automatisatie oplossing
  • Als bijkomende test automatisatie oplossing om de test automatisatie niveau en coverage te verhogen.

Maar, even een stapje terug, testen is maar 1 onderdeel om kwaliteit te verzekeren. Er bestaan een heleboel methodologieën en technieken om kwaliteit te verbeteren maar dat is geen onderwerp van deze blog.

Test automatisatie biedt een heleboel voordelen ongeacht of ze op de reguliere manier of via LCTA worden gedaan. De belangrijkste zijn de volgende (indien correct gedaan):

  • Reduceren van doorlooptijd om testen uit te voeren
  • Grotere accuraatheid bij het herhalen van testen en repetitieve testen (bijv unit testen)
  • Verbetering van de test coverage
  • Test automatisatie is een noodzakelijkheid voor performantie testen
  • Continuous testing is enkel mogelijk via test automatisering en maakt zo shift-left van testing mogelijk
  • Kan leiden tot kortere time to market
    OPMERKING – kosten/baten analyse van wat te automatiseren

LCTA biedt de mogelijkheid om testen te automatiseren zonder of met minimale code. Vandaag is er een grote variatie van tools en aanbiedingen nl. het oplossen van:

  • 1 specifiek probleem
  • Een hele waaier van test problemen en uitdagingen

In de wereld van LCTA zijn er 3 soorten leveranciers nl.

  • Software vendors – leveren een grote variatie van tools en services en zijn geen specifieke test bedrijven zoals o.a. IBM, HP, Broadcom, enz…
  • Test Bedrijven die focussen op testen zoals o.a. Eggplant, Leapwork, Tricentis, enz…
  • Niche spelers die focussen op het oplossen van een specifiek probleem zoals o.a. Froglogic en Browserstack
  • Froglogic Squish – testen van grafische user interfaces (GUIs) en human-machine interfaces (HMIs)
  • Browserstack – cross-browser en device testen (op fysieke devices gehost door Browserstack)
    Opgelet – er is een consolidatie bezig waardoor bedrijven kunnen verdwijnen (niet noodzakelijk de producten). Bedrijven willen op die manier hun portfolio vergroten.

2. Waarom je aan low code test automation moet doen:

LCTA is een alternatief op de standaard manier van test automatisatie via 1 van de gebruikte test automation frameworks (TAF). Een TAF vereist technische kennis zowel in de technologie van het framework als het gebruik ervan. Een aantal voorbeelden van frameworks zijn:

  • Selenium
  • Cypress
  • Playwright
  • Appium
  • enz…

De grote uitdaging vandaag (24/08/2023) is mensen te vinden met technische kennis (bijv. Java) en kennis van 1 of meerdere frameworks. De reden is dat deze technische profielen gelijkaardige kennis nodig hebben als ontwikkelaars.

Bijkomende uitdagingen zijn:

  • Hoge initiële kost
  • Investering op lange termijn nl je realiseert toegevoegde waarde enkel op termijn
    De uitdaging wordt ook groter in de komende jaren. Er gaat steeds meer vraag komen naar test automatisatie zonder dat het aantal personen in dezelfde mate stijgt. Even wat meer info hierover – de test automatisatie markt is ongeveer 22 miljard US$ in 2022. Volgens de Global Market Insight – Automated Testing gaat deze markt met 15% stijgen tussen 2023 en 2032.

De groei van deze markt wordt aangedreven door

  • DevOps en Agile strategieën – beide werken suboptimaal zonder automatisatie
  • AI & ML – zonder o.a. test automatisatie is dit moeilijk te testen
  • Mobiele applicaties – er bestaan veel mobiele apparaten met verschillende OS welke het best en snelst kunnen getest worden via automatisatie
  • Verdere groei van digitalisatie – meer en meer manueel werk en papieren documenten worden gedigitaliseerd welke de vraag naar test automatisatie verder verhoogd.

3. Aanpak – Wat zijn de belangrijkste stappen die je moet nemen tijdens de selectie van een tool te selecteren?

Gewoon een tool kopen en deze implementeren garandeert zeker geen succes zowel bij de selectie van de correcte tool als de implementatie en het gebruik. Het is daarom belangrijk om de selectie van de LCTA-tool voor jouw bedrijf op een gestructureerde manier aan te pakken. Het is niet omdat een bepaalde tool werkt in een bedrijf dat deze gewoon in een ander bedrijf gaat werken.

Hieronder vind je een lijst met aanbevelingen om de selectie aan te pakken. Ze staan in chronologische volgorde maar sommige kunnen wel gelijktijdig gedaan worden.

  • Bepaal de scope van LCTA bijv web, mobile, API, …
  • Bepaal de selectiecriteria. Deze zijn cruciaal en worden bepaald door de scope. Pas deze ook strikt toe en als je tijdens de evaluatie veranderingen aanbrengt, pas deze dan toe voor alle leveranciers. Een aantal aandachtspunten voor het opstellen van selectiecriteria zijn:
    • Niet enkel GUI – indien je scope verder gaat dan GUI, focus ook daar op
    • Noden van vandaag en morgen – als je plannen hebt om binnenkort bijv mobiel te introduceren dan moet je deze meenemen in de selectiecriteria.
    • Functioneel en technische noden
    • Gebruik use cases om de tool te evalueren – gebruik real life scenario’s om tools te evalueren
    • Integratie met andere tools zoals Jira en Azure DevOps omdat een tool zelden als standalone wordt gebruikt
    • Security is een belangrijk aspect van de tool selectie maar dit vanuit verschillende perspectieven
      • Security probleem in de tool – check de antwoordtijd van de leveranciers
      • Uitvoeren van security testen zoals o.a. pen-tests
      • Afzetten (omzeilen) security check bijv captcha, 2-factor auth
    • Plus nog een aantal anderen
      • Roadmap – verleden (aantal major/minor releases per jaar) en toekomst (meestal enkel via een NDA). Het is ook belangrijk om te weten hoe snel je naar een nieuwe versie bijv je mag 1 major release achter zijn
      • Life cycle ondersteuning bijv promoten van testen van acceptance naar pre-productie
      • Hergebruik van testen – hoe eenvoudig is het om een test of een stuk van de test
      • Onder houdbaarheid testen – hoe eenvoudig is het om testen te onderhouden
      • Kennis in België – via de leverancier of een partner. Je wil niet mensen telkens naar België laten reizen.
      • Pricing model
      • PoC & trials – de mogelijkheid of proof-of-concepts & trials te doen tijdens de selectie. Belangrijk is dat je zelf dit kan gebruiken en valideren hoe het werkt en niet enkel vertrouwen op de leveranciers.
      • Hosting flexibiliteit – welke mogelijkheden zijn er
  • Verzamelen van informatie over de verschillende leveranciers via verschillende kanalen
    • Pre-studie & markt analyse – er bestaat veel informatie over de verschillende leveranciers en hun tools
    • Consulteren onafhankelijke experten bijv Gartner, Forrester
    • Ervaringsdeskundigen zoals bedrijven en mensen – kijk eens in professionele vriendenkring
    • Plus
      • Customer satisfaction rapporten
      • Customer visits
  • Selectie LCTA-leveranciers – maak een selectie van de tools die je wilt evalueren
    • Reden is dat je niet alle tools kan evalueren
  • Evaluatie en selectie
    • Beslis hoe je de leveranciers gaat betrekken tijdens de evaluatie en selectie
    • Als je vragen stelt, let ook op hoe snel ze antwoorden. Indien het traag is tijdens de PoC, dan zal het niet beteren 1-maal je de tool in productie gebruikt.

4. Implementatie – Wat zijn de initiële stappen die je moet nemen om de low code test automation een succes te maken?

1-maal je een selectie hebt gemaakt en deze goedgekeurd is (bijv via een Architecture Board), dan moet je deze nog implementeren.

De volgende stappen garanderen succes bij de implementatie

  • Na selectie is gemaakt is het belangrijk om de tool uit te rollen en zo de voordelen te realiseren
  • Set-up – betrek de gekozen leverancier of 1 van de partners bij de set-up.
    • In de beginjaren van LCTA zijn er veel projecten mislukt doordat de set-up verkeerd was
  • Best een graduele roll-out en niet een big bang roll-out. Er zijn een aantal redenen om een graduele roll-out te doen.
    • Zet de tool correct op voor jouw werkomgeving
    • Leer de tool kennen en doe ervaring op – ook wat niet goed werkt
    • Bouw de ontbrekende module bijv link met een test management tool zoals TestRail
    • Update de initiële best practices en richtlijnen met ervaring die wordt opgedaan.
  • Graduele uitrol – selectie van teams en/of areas
    • 1, 2, 3, … teams is niet het belangrijkste criteria voor de initiële uitrol
    • Belangrijker – focus op verschillende soorten testen nl een diversificatie van verschillende testen
      • Grotere variatie levert meer kennis op van de tool
    • De verdere uitrol kan via 1 of meerdere teams gebeuren
    • Tijdens de roll-out, hou de best practices en richtlijnen up-to-date
      • Het opzetten van een Community of Practice (CoP) of iets gelijkaardigs (Bijv. Special Interest Groups, Gildes) is een goed idee

5. Enige closing remarks?

  • Bepaal de scope – neem ook je tijd om te bepalen wanneer het een succes is of niet
    • De correcte scope bepaald ook de selectie van de tool
      • Niche oplossing tov een bredere oplossing
    • De scope bepaald ook de selectiecriteria bijv als je geen API testen doet en geen plannen hebt, hoef je daar niet op te selecteren
  • Selectiecriteria – zo compleet mogelijk
    • Betrek andere om deze selectiecriteria op te stellen
    • Kijk verder dan functionele en niet-functionele noden
      • Integratie
      • Security
      • Kostprijs licentie en onderhoud
      • Opleiding
      • Etc…
    • Graduele roll-out – leren van de tool in jouw omgeving
      • Doe dit en de volledige roll-out via een project
      • Verandering – hou daar rekening mee want er gaan veranderingen gebeuren tijdens de roll-out.
      • Zorg dat er een CoP bestaat en dat de richtlijnen/best practices up-to-date zijn en worden gehouden.

 

Beluister onze podcast over Test Automatisatie zonder Programmeerskills.

Gerelateerde blogs