Prestasjonstestindustrien har opplevd en radikal transformasjon de siste årene. Tradisjonelt har belastningstesting blitt utført av ytelsestestingeniører, så vel som QA-ingeniører og testere. Disse rollene fungerte vanligvis som uavhengige enheter, og gjorde ytelsestesting når utviklerne var ferdig med å bygge applikasjonene.
Med adopsjonen av smidige prinsipper blant programvareutviklingsteam, starter ytelsestesting som aktivitet mye tidligere i utviklingsprosessen, såkalt skift-venstre testing . I stedet for å overlate ytelsestesting til QA-avdelingen, gjør programvareteamene nå testene sine uavhengig eller i samarbeid med QA-ingeniørene.
En annen fordel med å flytte testene mot venstre er en økende økning i bruk av ytelsestesting i programvareteam. Men mange av disse nye brukerne krever verktøy som passer fint inn i deres hverdags arbeidsflyt , slik at de kan test regelmessig med minimal innsats. Tradisjonelle verktøy som JMeter og LoadRunner passet ikke så bra, og i stedet henvender de seg til en ny generasjon verktøy, som k6.
k6 er en gratis og verktøy for åpen kildekodetesting med sikte på å gjøre prestasjonstesting til en produktiv og hyggelig opplevelse.
Verktøyet er skriptbart, og k6-tester er skrevet inn Javascript , som gir muligheten til å skrive testene dine på et av de mest kjente programmeringsspråkene rundt.
Et kraftig skriptspråk og API gir den nødvendige fleksibiliteten til å etterligne virkelige scenarier i skriptene dine. Siden applikasjoner og systemer kontinuerlig utvikler seg, vil muligheten til å modulere testene dine øke effektiviteten i testprosessen dramatisk.
k6 er et kommandolinjeverktøy tilgjengelig for Windows, Linux og Mac. Alternativt er det et offisielt Docker-bilde.
Å kjøre en ytelsestest med k6 er like enkelt som å kjøre en bash-kommando:
Noen få bemerkelsesverdige skriptfunksjoner er:
Som de mest sofistikerte belastningstestverktøyene har k6 en øktopptaker som gjør det mulig å lage lastetester fra en brukersession. Du trenger bare å oppgi en HAR-fil fra en nettleser eller brukerøkt, og opptakeren lager k6-testen for deg. Dette er spesielt nyttig hvis du er det lastetesting nettsteder .
I tillegg kan andre verktøy hjelpe deg med å generere k6-tester fra forskjellige teknologier:
Selv om du ikke trenger å bruke opptakeren og omformerne for å begynne å teste, kan disse verktøyene hjelpe deg ombord på teamet ditt til k6, eller skript testene dine, raskere.
Som standard leverer k6 resultatet til konsollen. I tillegg er flere integrasjoner tilgjengelig for å hjelpe deg under analysen og visualiseringen av testresultatene:
I testmiljøet er automatisering slutten for mange organisasjoner. Når applikasjonen og systemet endres, vil automatisering og kjøring av hyppige tester hjelpe deg med å fange ytelsesregresjoner tidligere.
Dokumentasjonen gir guider for de mest populære CI / CD-verktøyene, slik at du enkelt kan integrere k6 i CI-rørledningene dine.
K6-teamet mener det å lage teste målrettet er en uunnværlig forutsetning for automatisering. Når du kjører automatiserte tester, bør testens primære formål være å validere ytelsesforventningene til systemet ditt, og for det andre å varsle deg om systemet ikke oppfyller ytelsesmålene. Valider for eksempel at:
I k6 definerer du disse forventningene med Terskler i testen din. Hvis systemet ikke når dem, vil k6 informere deg om feilen ved retur av en utgangskode som ikke er null.
Hvis du vil lære mer om dette emnet, kan du lese k6-guiden for automatisering av ytelsestesting og Thresholds-dokumentasjonen.
k6 Sky er det kommersielle SaaS-produktet som følger med open source k6-verktøyet. k6 OSS er gratis å bruke og har flere integrasjoner å administrere belastningstester i din egen infrastruktur. K6 Cloud er en valgfri tjeneste som tilbyr belastningstestinfrastrukturen og -systemene for å hjelpe deg med ytelsestesting.
For å forstå bedre hva k6 Cloud er, la oss oppsummere noen av funksjonene:
K6-samfunnet er virkelig støttende og nyttig - styrken bak suksessen til prosjektet.
Hvis du begynner med k6, ikke glem å nå dem Slakk eller samfunnsforum for alle typer spørsmål. Det er flere kanaler og kategorier for forskjellige emner som #grafana, #documentation, #feedback, #discussion, etc.
For de som er interessert i det indre av prosjektet, følg prosjektet i GitHub .
Dette innlegget tar sikte på å presentere en intro på k6 - et av de mest spennende lasttestverktøyene. Hvis du vil lære hva mer har k6 å tilby, anbefaler vi å lese k6 Dokumenter .
Med bare fire års levetid har k6 blitt funksjonsrikt og konkurrerer med veletablerte verktøy, og får fantastisk adopsjon i utviklere, DevOps og testmiljøer.
K6-teamet og samfunnet har bygget et utviklingssentrert ytelsesprøveverktøy som oppfyller behovet og behovene for en ny æra.