
Blog deel 3
Auteur: TestNet TTM Werkgroep ● Ronald Kerkhoff

Redactie: Paul Beving en René van Veldhuijzen
Om testtoolmanagement efficiënter en effectiever toe te passen verdiept de TestNet werkgroep Test Tool Management zich in dit onderwerp door middel van onderzoek, kennisdeling en -overdracht. In deze meerdelige blogserie delen collega’s uit de werkgroep hun ervaringen vanuit diverse testrollen, gedreven door de passie om een waardevolle bijdrage te leveren aan het testvakgebied.
Testblog 3: Hoe kies je de juiste testtool: Open Source, Commercieel, SaaS of On-premise?
De keuze van de juiste testtool is een cruciale stap in elk testproces. In eerdere blogs deelden we inzichten over de uitdagingen en gaven we praktische tips voor een effectief selectieproces. In deze blog richten we ons op de verschillende soorten testtools: open source, commerciële tools, SaaS en on-premises oplossingen.
Welke oplossing past het beste bij jouw organisatie? Dit hangt niet alleen af van kosten en flexibiliteit, maar ook van factoren zoals beveiliging, schaalbaarheid en onderhoud. We bespreken de belangrijkste kenmerken, voordelen en uitdagingen van elk type testtool, zodat je een goed onderbouwde keuze kunt maken die aansluit bij de behoeften van je team en organisatie.
Open Source software
Laten we beginnen met open source testtools. Dit zijn softwareoplossingen waarvan de broncode vrij beschikbaar is voor gebruik, aanpassing, verbetering, en verspreiding door iedereen [Bron 1]. Dit biedt onze organisatie de vrijheid om de software te personaliseren en te optimaliseren voor specifieke behoeften, wat een enorm voordeel is in onze dynamische testomgevingen. Bekende open source licenties zijn de GNU General Public License (GPL), Apache License en MIT License, die elk verschillende niveaus van vrijheid en restricties bieden.
Binnen onze organisatie maken we bewust gebruik van open source tools om flexibiliteit en kostenbeheersing te waarborgen. Open source software stelt ons in staat tools te selecteren die precies aansluiten bij onze behoeften. Onze ervaring heeft geleerd dat open source tools, ondanks hun voordelen, ook uitdagingen met zich meebrengen. Zo is de ondersteuning vaak afhankelijk van de community en dat betekent dat we soms creatief moeten zijn in het vinden van oplossingen of eigen expertise moeten inzetten om problemen snel op te lossen.
Om onze gebruikers te helpen de juiste tool voor hun situatie te selecteren hebben we use cases opgesteld die de sterke punten van elke tool illustreren. Zo kunnen gebruikers efficiënt kiezen welke tool het beste past bij hun specifieke testuitdagingen.
Daarnaast zijn er hybride oplossingen waarin gratis open source tools worden gecombineerd met betaalde commerciële overlays of ondersteuning. Dit model biedt organisaties de flexibiliteit en innovatie van open source, terwijl het tegelijk de zekerheid en ondersteuning van commerciële tools toevoegt. Op deze manier ontstaat er een balans tussen kostenbesparing, flexibiliteit en professionele ondersteuning, afgestemd op de specifieke behoeften van de organisatie [Bron 2].
Positieve eigenschappen van Open Source Testtools:
- Kostenbesparing: Open source tools zijn meestal gratis. Dit verlaagt de kosten in vergelijking met commerciële tools.
- Flexibiliteit: De broncode is openbaar. Dit maakt aanpassingen mogelijk aan specifieke eisen van het testteam.
- Actieve gemeenschap: Veel open source projecten worden ondersteund door een community. Deze groep biedt vaak kennis, ondersteuning en verbeteringen.
- Transparantie: De broncode is inzichtelijk. Dit zorgt voor meer vertrouwen in hoe de tool werkt.
- Geen Vendor Lock-in[A]: Gebruikers zijn niet gebonden aan één leverancier. Ze kunnen eenvoudiger overstappen naar andere oplossingen.
- Innovatie: Open source tools ontwikkelen zich vaak sneller dankzij bijdragen van verschillende ontwikkelaars.
Negatieve eigenschappen van Open Source Testtools:
- Beperkte ondersteuning: Professionele support is vaak afwezig. Gebruikers moeten vertrouwen op de community of eigen kennis.
- Stabiliteitsproblemen: Sommige tools zijn minder stabiel, vooral als updates uitblijven.
- Niet altijd herbruikbare testgevallen: Testcases en configuraties die met open source tools worden gemaakt, zijn soms moeilijker herbruikbaar of over te dragen naar andere tools.
- Risico van commercieel worden: Sommige open source tools worden na een aantal jaren door bedrijven commercieel gemaakt, wat kan leiden tot kosten en beperkingen voor de gebruikers.
- Licentiebeperkingen: Let op licentievoorwaarden. Sommige licenties vereisen bijvoorbeeld dat aanpassingen openbaar worden gemaakt.
- Compliance en beveiliging: Open source tools doorlopen soms minder strenge beveiligingscontroles. Zorg voor interne procedures om dit op te vangen.
- Langetermijnrisico: Projecten kunnen worden ‘geforkt’[B] als de originele ontwikkelaars stoppen. Dit betekent dat de community een nieuwe versie maakt, maar het kan onzekerheid brengen over de ondersteuning.
[A] Vendor Lock-in is een situatie waarin een organisatie afhankelijk is van één leverancier, wat overstappen lastig maakt.
[B] Fork: Een nieuwe versie van een open source tool die ontstaat wanneer een groep ontwikkelaars de originele tool overneemt en door ontwikkelt.
Een aantal voorbeelden van Open Source Testtools:
- Selenium: Een populaire tool voor webapplicatie testing. Selenium biedt een suite van tools voor het automatiseren van webbrowsers.
- JMeter: Een tool voor het testen van de prestaties en functionaliteiten van webapplicaties.
- Appium: Een testautomatiseringstool voor mobiele applicaties, zowel voor Android als iOS.
- JUnit: Een framework voor unit testing in Java, vaak gebruikt bij test-driven development (TDD).
- Playwright: testautomatiseringstool die voornamelijk wordt gebruikt voor webapplicatietesting.
Commerciële software
Naast open source software gebruiken we binnen de organisatie ook commerciële tools, ontwikkeld en verkocht door bedrijven. Deze software vereist de aankoop van licenties, meestal met jaarlijkse kosten. In ruil daarvoor bieden leveranciers vaak uitgebreide ondersteuning, regelmatige updates en geavanceerde functies. Denk bijvoorbeeld aan ingebouwde dashboards waarmee testresultaten eenvoudig gevisualiseerd kunnen worden. Dit is bijzonder handig voor teams die inzicht nodig hebben in de voortgang van hun testen of trends willen ontdekken.
Bij commerciële tools is het belangrijk om het licentiemodel goed te begrijpen. Zo kunnen ‘floating’ licenties ervoor zorgen dat slechts een bepaald aantal gebruikers gelijktijdig toegang hebben, wat onhandig kan zijn tijdens drukke periodes. Bij vaste licenties moeten we regelmatig controleren of de licenties nog in gebruik zijn, wat tijdrovend kan zijn als gebruikers hun licentie niet tijdig vrijgeven.
Aan de positieve kant merken we dat leveranciers vaak bereid zijn om met ons mee te denken. Zo hebben we in het verleden oplossingen gevonden voor specifieke uitdagingen of zelfs verbeteringen aangevraagd. Dit partnerschap met leveranciers zorgt ervoor dat onze tools optimaal blijven aansluiten bij onze behoeften. Waar het vaak misgaat, is om de tools te laten samenwerken met andere tools. Bijvoorbeeld synchronisatie mogelijkheden tussen twee tools. Ook al is dit technisch haalbaar, dan kan nog steeds andere aspecten dit niet laten werken. Bijvoorbeeld als men geen admin rechten hebt voor de andere tool, waardoor je afhankelijk bent van een andere afdeling. Of dat er een eis wordt gesteld dat een plugin ‘cloud fortified’ [Bron 3] moet zijn voordat deze kan worden geïnstalleerd. Of dat de oplossing eerst door een architecten comité binnen de organisatie moet worden goedgekeurd.
Positieve eigenschappen van Commerciële Testtools:
- Betrouwbare ondersteuning: Leveranciers bieden professionele hulp voor snelle probleemoplossing [Bron 4].
- Stabiliteit en betrouwbaarheid: Tools zijn uitvoerig getest en bieden betrouwbare prestaties.
- Geavanceerde functionaliteiten: Deze tools bieden functies zoals dashboards, API-integraties en uitgebreide rapportages.
- Regelmatige updates: Nieuwe functies en verbeteringen worden regelmatig toegevoegd.
- Compliance en veiligheid: Commerciële testtools voldoen aan strikte beveiligings- en regelgevingseisen.
Negatieve eigenschappen van Commerciële Testtools:
- Kosten: Licenties en onderhoud zijn vaak duur.
- Vendor lock-in: Beperkt overstapmogelijkheden en vergroot afhankelijkheid.
- Beperkte aanpassing: Aanpassingen zijn vaak alleen mogelijk via de leverancier.
- Complexiteit: Kan training en gewenning vereisen door ingewikkelde interfaces.
- Licentiebeperkingen: Beperkt gebruik of schaalbaarheid, bijvoorbeeld door gelimiteerde gebruikerslicenties.
Een aantal voorbeelden van Commerciële Testtools
- TestComplete: Een geautomatiseerd testtool dat ondersteuning biedt voor functionele, regressie- en prestatie-tests met een gebruiksvriendelijke interface.
- LoadRunner: Een load en performance testtool die helpt bij het testen van applicaties onder hoge belasting en biedt uitgebreide rapportagemogelijkheden.
- Selenium: Hoewel Selenium open source is, bieden verschillende bedrijven commerciële ondersteuning en aanvullende tools die op Selenium zijn gebaseerd.
- Xray: Een testmanagementtool voor Jira die teams helpt bij het beheren van testcases, testen en rapporteren binnen de Jira-omgeving.
- ValueEdge: Een testmanagementtool die teams ondersteunt bij het beheren van de volledige testlevenscyclus met integraties voor verschillende testactiviteiten.
SaaS software
SaaS staat voor Software as a Service, een model waarbij software wordt gehost door een externe provider en toegankelijk is via een online dienst [Bron 5]. Gebruikers betalen vaak een periodiek abonnement voor toegang tot de software, die zich op servers van de provider bevindt doordat de gebruiker zelf geen hardware hoeft aan te schaffen.
SaaS testtools zijn testsoftware die wordt aangeboden als een dienst via het SaaS-model. Deze tools zijn ontworpen om verschillende aspecten van het testen van software te ondersteunen, zoals functionele tests, performance tests, enzovoort.
De werking van een SaaS testtool verschilt echter van die van on-premise tools. Zo heb ik zelf ondervonden dat bij een SaaS testtool de beheer functionaliteiten beperkter zijn dan bij on-premise tools. Dit betekent dat men niet alles kan doen wat men gewend is. Ook kunnen de functionaliteiten van het product verschillen.
Positieve eigenschappen van SaaS testtools:
- Toegankelijkheid: Gebruikers kunnen overal toegang krijgen tot de tools met een internetverbinding.
- Schaalbaarheid: SaaS testtools kunnen gemakkelijk worden opgeschaald naarmate de behoeften van het project groeien.
- Onderhoudsvrij: Gebruikers hoeven zich geen zorgen te maken over het onderhoud van de software, omdat dit wordt afgehandeld door de SaaS-provider.
Negatieve eigenschappen van SaaS testtools:
- Kosten: Bij pay-for-usage modellen kunnen kosten snel oplopen, vooral als omgevingen onterecht blijven draaien, wat leidt tot onvoorziene uitgaven.
- Afhankelijkheid van internetverbinding: Toegang tot SaaS testtools vereist een stabiele internetverbinding.
- Beperkte aanpassingsmogelijkheden: SaaS-tools bieden mogelijk minder aanpassingsmogelijkheden dan on-premise oplossingen.
- Privacy en beveiliging: Omdat gegevens worden gehost op externe servers kunnen er zorgen zijn over privacy en beveiliging van gevoelige testdata.
- Beperkingen in integratie: Het kan moeilijker zijn om SaaS-tools te integreren met bestaande systemen of processen, vooral als ze niet goed worden ondersteund door de SaaS-leverancier.
On-premise software
On-premise software wordt geïnstalleerd en uitgevoerd op de lokale computersystemen en servers van een organisatie, in tegenstelling tot gehost worden op externe servers [Bron 6]. Dit kan ook client-server applicaties omvatten, waarbij de software op een server draait en toegankelijk is voor client-computers binnen hetzelfde netwerk.
On-premise testtools zijn testsoftware die wordt geïnstalleerd, geconfigureerd en uitgevoerd op de lokale infrastructuur van een organisatie. Deze tools kunnen ook functioneren als client-server applicaties, waarbij de testsoftware op een centrale server draait en toegankelijk is voor meerdere clients binnen de organisatie.
Positieve eigenschappen van On-premise testtools
- Volledige controle: Organisaties hebben volledige controle over de software en gegevens, omdat deze op interne servers worden gehost.
- Aanpasbaarheid: On-premise tools kunnen vaak worden aangepast aan de specifieke behoeften van een organisatie.
- Beveiliging: Omdat gegevens intern worden gehost biedt on-premise software meer controle over data. Dit maakt het mogelijk om gevoelige informatie, zoals klantgegevens of bedrijfsgeheimen, lokaal te beschermen tegen ongeautoriseerde toegang. De organisatie moet wel zelf zorgen voor maatregelen zoals firewalls, netwerksegmentatie en regelmatige audits. Bijvoorbeeld: bij een financiële instelling kunnen on-premise tools worden gebruikt om ervoor te zorgen dat transactiegegevens niet buiten de organisatie terechtkomen.
- Gecentraliseerd beheer: In geval van client-server applicaties wordt het beheer van de software gecentraliseerd, wat het onderhoud en de updates eenvoudiger en efficiënter maakt.
- Efficiëntere resourceverdeling: Daarnaast kunnen bij client-server applicaties de resources efficiënter worden verdeeld omdat de software centraal wordt uitgevoerd en beheerd.
Negatieve eigenschappen van On-premise testtools
- Hoge initiële kosten: On-premise software vereist vaak aanzienlijke initiële investeringen in hardware en licenties.
- Onderhoud: Organisaties zijn verantwoordelijk voor het onderhoud en de updates van de software, wat extra kosten en inspanningen met zich mee kan brengen.
- Netwerkbeheer: Het gebruik van client-server applicaties kan extra complexiteit introduceren in termen van netwerkbeheer.
- Beveiliging: Hoewel de gegevens intern worden gehost kan het beveiligen van een client-server omgeving complexer zijn vanwege de meerdere toegangspunten.
- Beperkte toegankelijkheid: Toegang tot on-premise tools is beperkt tot de interne netwerken van de organisatie.
Wanneer een testtool zowel ‘On-premise’ als ‘SaaS’ wordt genoemd, kan dit twee verschillende betekenissen hebben, afhankelijk van de tool:
- Beide platformen beschikbaar (On-premise en SaaS): Dit betekent dat de tool beschikbaar is in twee afzonderlijke varianten: je kunt het On-premise implementeren (waarbij de software lokaal op de eigen servers van een organisatie draait) of kiezen voor een SaaS-oplossing (waarbij de software wordt gehost door de leverancier in de cloud). Gebruikers kiezen welke optie het beste bij hun infrastructuur en behoeften past.
Voorbeelden:
- Zephyr: beschikbaar als zowel een SaaS-variant als een on-premise implementatie.
- TestComplete: biedt een versie voor lokale installatie en een cloud-gehoste versie.
- Client/SaaS-combinatie: Dit betekent dat er een lokale client-applicatie moet worden geïnstalleerd om toegang te krijgen tot de SaaS-oplossing. In dit scenario werkt de tool hoofdzakelijk als een cloud-service, maar vereist een geïnstalleerde client (bijvoorbeeld een desktop-app) voor toegang of voor specifieke functies. De lokale component communiceert vaak met de cloud om data op te slaan en testuitvoeringen aan te sturen.
Voorbeeld:
- Selenium: kan zowel lokaal worden geïnstalleerd (On-premise) voor het uitvoeren van tests als worden geïntegreerd met SaaS-gehoste browseroplossingen (bijvoorbeeld via cloud-testproviders) om tests in de cloud te draaien.
Hieronder ter illustratie een tabel waarin een aantal open source en commerciële test tools zijn samengebracht op het platform waarop ze kunnen draaien:
Testtool | Categorie | Platform |
JMeter | Open Source | On-premise |
Appium | Open Source | On-premise, SaaS |
JUnit | Open Source | On-premise |
Playwright | Open Source | On-premise, SaaS |
TestComplete | Commercieel | On-premise, SaaS |
LoadRunner | Commercieel | On-premise, SaaS |
Selenium | Commercieel/Open Source | On-premise, SaaS (client) |
Xray | Commercieel | On-premise, SaaS |
ValueEdge | Commercieel | SaaS |
Hoe ga je hiermee om met Test Tool Management?
Gebaseerd op het model beschreven in de ‘Whitepaper Test Tool Management’ [Bron 7], kunnen we het beheer van open source en commerciële testtools die On-premise of als SaaS werken [Bron 8], structureren volgens de vijf fasen: Test tool strategie, Architectuur, Selectie, Beheer & onderhoud, en Verwijdering.
Test Tool Strategie
- Testautomatiseringsstrategie: Bepaal de behoeften van je organisatie op het gebied van testautomatisering, zoals schaalbaarheid, beveiliging en kosten. SaaS-tools bieden snelle toegang via internet, lage initiële kosten en eenvoudige schaalbaarheid. On-premise-oplossingen bieden daarentegen meer controle, maar vereisen een uitgebreidere IT-infrastructuur
- Behoefteanalyse en Evaluatie: Analyseer huidige testprocessen en bepaal essentiële functies. Dit omvat het vergelijken van SaaS-oplossingen met on-premise-tools.
Architectuur
- Beleid: Bij het ontwikkelen van richtlijnen voor het gebruik van testtools is het essentieel om rekening te houden met de ondersteuning en aansprakelijkheid die open source tools bieden. In tegenstelling tot commerciële software, waar vaak één entiteit verantwoordelijk is voor ondersteuning en updates, is open source afhankelijk van de gemeenschap. Dit kan organisaties in twijfel brengen over de beschikbaarheid van support. Daarom moeten organisaties duidelijk vaststellen wanneer en waarom commerciële ondersteuning nodig is bovenop open source tools, en welke risico’s verbonden zijn aan het volledig afhankelijk zijn van open source zonder officiële ondersteuning.
- Marktonderzoek: Evalueer de beschikbare testtools op functionaliteit, prestaties en compatibiliteit. Houd bij SaaS rekening met schaalbaarheid en bij on-premise met de complexiteit van hardware vereisten en implementatietijd.
- Toolarchitectuur: Stel vast hoe gekozen tools passen binnen je IT-infrastructuur. SaaS-tools vereisen vaak minder configuratie en bieden flexibiliteit, terwijl on-premise-tools intensiever maatwerk en interne integratie nodig hebben.
- Monitoring & Optimalisatie: Gebruik mechanismen om prestaties te volgen en te optimaliseren. Dit omvat het bijhouden van metrics, feedback van gebruikers en evaluatie van de effectiviteit van de tools.
Selectie
- Toolselectie: Gebruik een gestructureerd proces voor het selecteren van open source of commerciële testtools, rekening houdend met de specificaties van On-premise en SaaS-oplossingen. Maak gebruik van evaluatiecriteria die zijn vastgesteld in de behoeftenanalyse. Let hierbij op dat het ook mogelijk is open source producten aan te bieden met commerciële layers [Bron 2]. Dit hybride model, waarbij open source wordt gecombineerd met een commerciële component, kan organisaties helpen zowel de voordelen van open source (zoals innovatie en lage kosten) te benutten, terwijl ze tegelijkertijd de stabiliteit en de ondersteuning van commerciële tools behouden.
- Toolimplementatie: Implementeer de gekozen testtools binnen de organisatie, waarbij de implementatie kan variëren afhankelijk van of de tools On-premise of SaaS zijn. On-premise tools vereisen mogelijk meer tijd voor installatie en configuratie. Voor zowel On-premise als SaaS-tools moeten beveiligingseisen worden nageleefd, zoals het scannen van nieuwe tools op kwetsbaarheden door IT Security en het verkrijgen van goedkeuring voordat deze in de productieomgeving worden gebruikt. SaaS-tools moeten vaak voldoen aan normen zoals ‘Cloud Fortified’ om te waarborgen dat ze veilig zijn.
- Toolconfiguratie & integratie: SaaS-tools zijn meestal sneller te integreren met andere systemen, terwijl on-premise-tools meer technische aanpassingen en beveiligingsconfiguraties zoals firewalls nodig hebben.
Beheer & Onderhoud
- Tool- & Licentiebeheer: Het beheer van de licenties voor open source tools is van groot belang. Net als bij commerciële software kunnen open source tools ook licentievoorwaarden hebben die zorgvuldig moeten worden nageleefd. Het artikel ‘Leaving the Cathedral’ [Bron 2] benadrukt dat strikte integraties met interne tools kunnen vereisen dat eigen code als open source wordt gedeeld, wat risico’s met zich meebrengt. Dit maakt het belangrijk om regelmatig licentie-evaluaties uit te voeren, niet alleen om te voldoen aan de wettelijke eisen, maar ook om te zorgen voor strategische controle over de tools die binnen de organisatie worden gebruikt
- Tool Onderhoud & Updates:
- On-premise: Houd een schema bij voor regelmatige updates en onderhoud van de On-premise tools. Dit omvat het toepassen van beveiligingspatches, bugfixes en nieuwe versies die handmatig moeten worden geïmplementeerd door het team.
- SaaS: Voor SaaS-tools worden updates automatisch uitgevoerd door de leverancier, waardoor gebruikers altijd de nieuwste versies en beveiligingspatches ontvangen zonder extra inspanning.
- Tool Governance: Stel duidelijke richtlijnen op voor het gebruik van testtools. Bepaal verantwoordelijkheden en implementeer best practices voor compliance en samenwerking binnen teams.
- Tool Training & Ondersteuning: Zorg voor training voor teamleden over het gebruik van de tools en bied continue ondersteuning. Dit omvat het opzetten van trainingssessies, het beschikbaar stellen van documentatie en het aanmoedigen van kennisdeling binnen de teams, door bijvoorbeeld het opzetten van communities.
Verwijdering
- Tool buiten bedrijf zetten: Zorg voor een veilige verwijdering. Voor SaaS-tools moet het contract formeel worden afgesloten om kosten te vermijden. Bij on-premise-tools omvat dit het verwijderen van software van servers en het archiveren van documentatie.
Conclusie
De keuze voor de juiste testtool is cruciaal en hangt sterk af van de infrastructuurstrategie: volledig on-premise, volledig SaaS, hybride of PaaS-oplossingen zoals AKS. In deze blogpost hebben we de kenmerken en voordelen van open source en commerciële tools besproken, evenals hun toepassing op platformen zoals SaaS en on-premise.
Test tool management helpt organisaties optimaal gebruik te maken van deze tools. Open source biedt flexibiliteit en kostenbesparing, terwijl commerciële tools uitgebreide ondersteuning en geavanceerde functionaliteiten leveren. SaaS-oplossingen bieden snelle schaalbaarheid, terwijl on-premise tools, lokaal of via PaaS, meer controle en maatwerk mogelijk maken.
De infrastructuurkeuze bepaalt hoe tools worden geïntegreerd in testprocessen en breder test tool management. Hybride modellen combineren de controle van on-premise met de schaalbaarheid van SaaS. Test tool management zorgt ervoor dat tools strategisch worden gekozen, effectief geïntegreerd en beheerd, en biedt een toekomstbestendige aanpak die inspeelt op veranderende behoeften en technologische innovaties.
Heb je zelf ervaringen met het selecteren van testtools? Dan zouden we dit graag van je willen vernemen! Jouw ervaringen kan je delen in de opmerkingen of je kan een persoonlijk bericht sturen.