Att välja rätt verktyg för prestandatestning är avgörande av flera anledningar:
Först och främst måste det valda verktyget kunna utföra prestandatester på den installerade mjukvarubasen som du vill testa, och därför erbjuda adekvat protokolltäckning. Alla verktyg kan inte testa till exempel Citrix, SAP eller Oracle Forms. Det måste också matcha kundens organisation och arbetssätt.
För det andra är pris eller prenumeration också viktiga kriterium.
Slutligen är användarvänlighet, kvalitet på supporten och en strategi för att uppgradera versioner för att hålla jämna steg med marknadsutvecklingen viktiga kriterier.
I den här artikeln gör jag en syntetisk jämförelse av 3 verktyg.
JMeter är ett open-source verktyg för prestandatestning som nu används flitigt av alla typer av kunder: offentlig sektor, stora företag och olika organisationer.
Dess grafiska gränssnitt är enkelt och effektivt. Det kan användas för att testa alla webapplikationer, webbtjänster (REST, SOAP), Web 2.0, meddelandetjänster, etc... JMeter kommer med inbyggda funktioner (i makrosinne) för dynamisk datainmatning och/eller manipulation av data under prestandatestning.
Det är utvecklat i JAVA och JMeter erbjder ett stort antal plugins till olika övervakningsteknologier. Det kan användas för testning tidigt i utvecklingsprocessen – Shift Left – dvs. API, webbtjänster och mikrotjänsttestning – samt för end-to-end-testning. Dess inspelningsgränssnitt är effektivt.
JMeters mottagarelement gör det möjligt att visualisera resultaten i form av grafer eller grundläggande statistik, och resultaten kan tolkas. Det är ett komplett verktyg som, tillsammans med ett rapporteringsverktyg av Grafana-typ och ett verktyg för datainsamling av Prometheus-typ, möjliggör prestandatestning i en mängd olika sammanhang.
Neoload är ett verktyg för prestandatestning från Tricentis (sedan förvärvet av Neotys).
Neoload stöder protokoll som inte erbjuds av JMeter, såsom Citrix, Oracle Forms, SAP, etc.
Verktyget erbjuder även integrerade funktioner för scriptvariabilisering och dynamisk variabelhantering. I senaste utgåvorna har NeoLoad tagit ett viktigt steg mot "Shift Left"-strategin, vilket möjliggör för team att testa tidigare i mjukvaruutvecklingscykeln, på API-nivå, tack vare nya funktioner som prestandatestning i koden och import av Swagger-filer.
Utöver verktyget för inspelning av scenarier för scripting och modulen för kontroll av belastningsinjektion erbjuder det även en kraftfull integrerad rapporteringsmodul samt en övervakningsmodul för ett komplett verktyg.
Dessutom är det gränssnittsanpassat till APM-verktyg, särskilt Dynatrace, vilket underlättar korrelationen mellan svarstider och tekniska mätvärden och ger därmed stort mervärde till rekommendationer för förbättring och finjustering av tekniska komponenter. Verktyget är inte gratis, och dess licensmodell har nyligen ändrats för att göra det betydligt dyrare.
Gatling är ett grundläggande open-source-verktyg för prestandatestning som används mer och mer, särskilt i sammanhang där företaget beslutar att implementera prestandatestning mycket tidigt i leveranscykeln och där utvecklare är mer involverade i prestandalöften för sin kod. Gatling gör det enkelt att utföra API- och webbtjänsttester.
Gatling är ett "utvecklarverktyg" i den meningen att dess användargränssnitt och organisation gör det enkelt för utvecklare att hitta, medan traditionella testare (som använder JMeter eller Neoload, till exempel) har svårt att hitta (jag har testat...). Man skulle kunna säga att det är ett prestandatestverktyg i kodform. Observera att Gatling är utvecklat i Scala och kräver grundläggande kunskaper i detta utvecklingsspråk.
I övrigt finns funktionaliteterna där, nära dem i JMeter, och de två verktygen är jämförbara i sina fördelar och begränsningar med ett redaktörsliknande verktyg som Neoload. Det bör noteras att Gatling erbjuder en betalversion som till exempel ger tillgång till support och är nödvändig för distribuerad testning (controller + flera belastningsgeneratorer).