k6 - Najboljša izkušnja za razvijalce za preskušanje obremenitve

Industrija preizkušanja zmogljivosti je v zadnjih letih doživela korenito preobrazbo. Tradicionalno so testiranje obremenitve izvajali inženirji za preizkušanje zmogljivosti ter inženirji in preizkuševalci kakovosti. Te vloge so običajno delovale kot neodvisne enote in izvajale preizkušanje zmogljivosti, ko so razvijalci končali z izdelavo aplikacij.

S sprejetjem agilnih načel med skupinami za razvoj programske opreme se preizkušanje zmogljivosti kot dejavnost začne veliko prej v razvojnem procesu, tako imenovanem preskus v levo-pomak . Namesto da bi preizkušanje zmogljivosti prepustili oddelku za zagotavljanje kakovosti, ekipe za programsko opremo zdaj testirajo samostojno ali v sodelovanju z inženirji QA.

Druga prednost premika testiranja v levo je naraščajoče povečanje sprejemanja testiranja učinkovitosti v programskih skupinah. Toda mnogi od teh novih uporabnikov zahtevajo orodja, ki se lepo prilegajo njihovim vsakdanji potek dela , kar jim omogoča redno testirajte z minimalnim naporom. Tradicionalna orodja, kot sta JMeter in LoadRunner, se niso najbolje prilegala in se namesto tega obračajo na novo generacijo orodij, kot je k6.




Razkrivanje k6

k6 je brezplačen in odprtokodno orodje za testiranje obremenitve s ciljem, da testiranje učinkovitosti postane produktivna in prijetna izkušnja.

Orodje je zapisljivo in v njem so zapisani testi k6 Javascript , kar vam omogoča pisanje testov v enem izmed najbolj znanih programskih jezikov.


Zmogljiv skriptni jezik in API predstavljata potrebno prilagodljivost za posnemanje resničnih scenarijev v vaših skriptih. Ker se aplikacije in sistemi nenehno razvijajo, bo možnost modularizacije testov močno povečala učinkovitost vašega postopka testiranja.

img / performance / 81 / k6-the-best-developer-experience.png

k6 je orodje ukazne vrstice, ki je na voljo za Windows, Linux in Mac. Obstaja tudi uradna slika Dockerja.

Izvedba preizkusa učinkovitosti s k6 je tako preprosta kot izvajanje ukaza bash:


img / performance / 81 / k6-the-best-developer-experience-2.png

Nekaj ​​pomembnih skriptnih funkcij je:

  • Robustni in dobro dokumentirani API-ji Javascript za testno skriptiranje
  • Globoka prilagoditev z več konfiguracijskimi možnostmi
  • Scenariji
  • Parametriranje skozi spremenljivke okolja
  • Podpora za spletne vtičnice
  • Kljuke v življenjskem ciklu za prilagajanje namestitve in odstranitve
  • Pregledi, meritve, oznake, piškotki ...


Snemalnik sej in pretvorniki

Kot najsodobnejša orodja za testiranje obremenitve ima tudi k6 snemalnik sej, ki olajša ustvarjanje testov obremenitve iz uporabniške seje. Datoteko HAR morate predložiti le iz brskalnika ali uporabniške seje, snemalnik pa bo ustvaril test k6 za vas. To je še posebej koristno, če ste spletna mesta za testiranje obremenitve .

Poleg tega vam lahko druga orodja pomagajo pri samodejnem ustvarjanju testov k6 iz različnih tehnologij:


  • Pretvornik JMeter: pretvorite datoteko JMeter .jmx v skript k6.
  • Pretvornik poštarjev: pretvorite zbirko poštarjev v skript k6.
  • Pretvornik OpenAPI: pretvorite specifikacijo Swagger / OpenAPI v skript k6.
  • Razširitev brskalnika: ustvarite skript k6 iz seje brskalnika. Na voljo samo uporabnikom oblaka k6.

Čeprav vam za začetek testiranja ni treba uporabljati snemalnika in pretvornikov, lahko ta orodja pomagajo hitreje vkrcati ekipo v k6 ali skriptirati teste.

Snemalnik in pretvornik sej



Vizualizacija rezultata

Privzeto k6 prikaže rezultat v konzolo. Poleg tega je na voljo več integracij, ki vam bodo v pomoč med analizo in vizualizacijo rezultatov testa:

  • Apač Kafka
  • k6 Oblak
  • DataDog
  • Priliv DB + Grafana
  • JSON
  • NewRelic
  • StatistikaD

img / performance / 81 / k6-the-best-developer-experience-4.png




Neprekinjeno in avtomatizirano testiranje

V skupnosti za testiranje je avtomatizacija končni cilj mnogih organizacij. Ko se aplikacija in sistem spremenijo, vam avtomatizacija in izvajanje pogostih testov pomaga, da prej ujamete regresije zmogljivosti.

V dokumentaciji so navodila za najbolj priljubljena orodja CI / CD, ki vam omogočajo enostavno vključitev k6 v vaše CI cevovode.

  • Azure cevovodi
  • CircleCI
  • Dejanja GitHub
  • GitLab
  • Jenkins
  • TeamCity

Ekipa k6 verjame, da izdelava testiranje ciljno usmerjeno je nepogrešljiv pogoj za avtomatizacijo. Pri zagonu avtomatiziranih testov mora biti primarni namen testa najprej potrditev pričakovanj glede zmogljivosti vašega sistema in drugič, da vas opozori, če sistem ne izpolnjuje ciljev učinkovitosti. Na primer, potrditev, da:

  • Odzivni čas za 95% zahtev ni daljši od 600 ms.
  • Sistem ne povzroča več kot 0,5% napak.

V k6 ta pričakovanja definirate s Pragovi v vašem testu. Če jih sistem ne doseže, vas bo k6 obvestil o napaki pri vrnitvi ničelne izhodne kode.


img / performance / 81 / k6-the-best-developer-experience-5.png

Če želite izvedeti več o tej temi, preberite k6 priročnik za avtomatizacija preizkušanja zmogljivosti in dokumentacijo Thresholds.



k6 Oblak

k6 Oblak je komercialni izdelek SaaS, ki spremlja odprtokodno orodje k6. k6 OSS je brezplačen za uporabo in jih ima več integracije za upravljanje testov obremenitve v lastni infrastrukturi. K6 Cloud je neobvezna storitev, ki nudi infrastrukturo in sisteme za testiranje obremenitve, ki vam pomagajo pri prizadevanjih za preskušanje zmogljivosti.

Da bomo bolje razumeli, kaj je oblak k6, naštejmo nekaj njegovih lastnosti:

  • Preizkusi skalirajo vodoravno in na različnih geografskih lokacijah.
  • Shranite in vizualizirajte rezultate testa.
  • Težave z zmogljivostjo zaznajte samodejno.
  • Povežite rezultate med različnimi testi.
  • Uporabniki na vozilu z gradnikom preizkusov GUI.
  • Organizirajte ekipe in teste na osrednji lokaciji.
  • Zagotovite namensko podporo.

k6 Oblak



Skupnosti

Skupnost k6 nas resnično podpira in pomaga - sila, ki stoji za uspehom projekta.

Če začnete s k6, jih ne pozabite doseči Ohlapnost ali forum skupnosti za kakršna koli vprašanja. Obstaja več kanalov in kategorij za različne teme, kot so #grafana, #documentation, #feedback, #discussion itd.

Za tiste, ki jih zanima notranji del projekta, sledite projektu v GitHub .



Zaključek

Namen tega prispevka je predstaviti uvod k6 - enega najbolj vznemirljivih orodij za testiranje obremenitve. Če želite izvedeti, kaj več ponuja k6, vam priporočamo, da preberete k6 Dokumenti .

Z le štirimi leti življenja je k6 postal bogat z lastnostmi in tekmuje z uveljavljenimi orodji, s čimer je dobil izjemno uveljavitev pri razvijalcih, DevOpsu in preskusnih skupnostih.

Skupina in skupnost k6 so razvili orodje za testiranje učinkovitosti, ki je osredotočeno na razvijalce in ustreza potrebam in potrebam nove dobe.