Testverktyg som är open source – fördelar och nackdelar

Paradoxalt nog sitter både strävsamhetens och lättjans klor hårt greppande in i min småländska själ. Möjligen är det därför jag länge varit intresserad av bra verktygsstöd för mitt arbete, och gärna då så smidiga verktyg som tänkas kan – och helst ska det såklart kosta så lite som möjligt också. Bästa möjliga effekt, för minsta möjliga kostnad i möda och pengar är för mig en självklar drivkraft i modernt testarbete, och då passar ofta ett lämpligt verktyg in.

De senaste åren har open source-baserade testverktyg vunnit en del mark bland testare. Det finns massor av testverktyg, och ibland kan det vara svårt att motivera dyra licenser för kommersiella verktyg då det parallellt finns verktyg som är gratis att använda.

För några år sedan skapade jag en sammanställning av fördelar och nackdelar med Open Source-produkter, listan har jag haft liggande sedan dess. Jag skapade den efter att en lång period ha undersökt användningen av massor av olika Open Source-produkter för test. Det finns idag fungerande Open Source-produkter för alla tänkbara uppgifter, och frågan om Open Source eller inte handlar inte längre lika kristallklart om funktionalitet och buggfrihet som det gjorde för några år sedan. I hopp om att TestZonens alla läsare kan hjälpa till att komplettera bilden publicerar jag den därför nedan. Den är skriven med testverktyg i åtanke, men formulerad för att vara allmängiltig för en organisation emedan jag tror att ur det perspektivet är det inte mycket som särskiljer just testverktyg.

Generellt kostar alla verktyg pengar att använda (se mer nedan), men förhoppningsvis får man ju in pengarna igen genom ökad effektivitet i något avseende.

——————————————————-

Fördelar med Open Source:

  • Man sitter inte fast i licenskontrakt och leverantörsberoenden om man vill byta verktyg
  • Universiteten använder gärna Open Source, så akademiskt utbildade personer är ofta vana vid dem.
  • Oftast bättre än att inte använda något verktyg.
  • Slipper ha en relation med leverantören. Slipper räkna licenser för license compliance reports. Leverantörsrelationer kan vara kostbara.
  • Det är möjligt att påverka utvecklingens roadmap för produkterna – och ta aktiv del i detta.
  • Mindre administrativt pyssel, och potentiellt kortare ledtider för införande, än med kommersiella verktyg.
  • Ofta snabba supportvägar eftersom supporten sker via Internetforum.
  • Varken kostnad för verktygsinköp eller för årlig underhålls- och uppgraderingsavgift.
  • Många licenstyper tillåter ändringar i koden vilket gör verktygen är anpassningsbara och flexibla – och säkrar möjligheten till förvaltning av produkten om projektet skulle avstanna av någon anledning.

 

Risker och nackdelar med Open Source:

  • Många verktyg är utvecklarcentriska; skapade av utvecklare för utvecklare. Det kan göra dem svåranvända och illa dokumenterade.
  • Inga garanterade supportvägar (utom möjligen med tilläggsavtal med leverantören).
  • Följer etablerad begreppsstandard i ännu mindre utsträckning än slutna verktyg
  • Ibland finns det ingen organisation bakom, så det finns ingen ansvarig utanför egna organisationen
  • Kan finnas begränsningar i vilka miljöer som stöds (gäller även kommersiella verktyg)
  • Licensmodellerna ändras ibland
  • Det strategiska samarbete som en preferred vendor kan ge är svårt att få till med en Open Source-leverantör emedan deras produktflora inte är lika komplett
  • Man riskerar bli fast i något som blir en interimslösning (om man inte är nöjd) och som kan bli omständlig och dyr att migrera ifrån till ett annat verktyg
  • Kan vara krångliga att sätta upp
  • En del verktyg är buggiga och open source-produkter används vanligen ”på egen risk”
  • En del licenstyper tvingar dig att publicera ditt systems kod om du använder deras komponenter (så kallade smittande licenser), och en del tvingar dig att göra dina ändringar i produktens kod publika.
  • En del licenstyper gör att de är gratis endast för icke-kommersiell användning.
  • Det finns ibland en liten risk att medarbetare inte känner sig så värdefulla om de hänvisas till gratisverktyg snarare än ett dyrbart kommersiellt verktyg.
  • Verktygen är sällan Enterprise-sviter utan löser oftast ett specifikt isolerat problem vilket riskerar suboptimera jämfört med en komplett svit, framför allt för vissa typer av verktyg (informationshantering och liknande)

Värt att tänka på:

En del företag använder Open Source-verktyg strategiskt. Genom att aktivt delta i utvecklingen av produkterna delar de utvecklingskostnaden med andra och får ändå stort inflytande över utvecklingen.

Det finns de som hävdar att Open Source-produkter är säkrare än andra produkter eftersom alla kan bidra till koden, men jag tror inte redigt på det eftersom det känns som att det är eventuella hackare som har mest att vinna på att kolla noga på koden…

Gratis verktyg kostar också. Exempel på kostnader:

  • Installations- och konfigureringskostnad
  • Utbildning
  • Suboptimering
  • Kostnad för hårdvara att köra på (främst för serverbaserade produkter, eller möjligen lagrings- och bandbreddskostnad för klientprodukter)
  • Licenskonstader för andra komponenter som produkten behöver (OS, DB osv)
  • Kostnaden för att ha en ansvarig för verktyget
  • Potentiell effektivitetsförlust jämfört med ett kommersiellt verktyg som stöder bättre
  • Möjlig kostnad för nertid om support är svårtillgänglig
  • Risk för kostnad för att upprätthålla kompetens för många likartade verktyg
  • Programpaketering
  • Kostnad för utvärdering
  • Licensgranskningskostnader
  • För serverprodukter: Nätverksunderhåll (brandväggsöppningar och liknande)

För den som vill läsa på om de olika typerna av Open Source-verktyg finns det en bra sammanställning här: http://en.wikipedia.org/wiki/Comparison_of_free_software_licenses (på engelska)

Kommentera gärna och hjälp till att komplettera och nyansera bilden av open source-verktyg.

 

About Jörgen

Jörgen Damberg
Konsult hos Claremont

Entusiastisk testnörd som jobbat med test och kvalitetsstyrning sedan 1993, och sedan 1998 med test av mjukvara. Har genomfört flera tjog uppdrag i något tjog olika organisationer i alla möjliga branscher på konsultbasis, och även jobbat som testchef. Jobbar nu på på konsultbolaget Claremont. Intresserad av allt inom test, med en viss tyngdpunkt mot verktygsstödda tester.