k6 - geriausia apkrovų testavimo patirtis

Eksploatacinių savybių testavimo pramonė pastaraisiais metais radikaliai pasikeitė. Tradiciškai apkrovos bandymus atliko našumo tikrinimo inžinieriai, taip pat kokybės užtikrinimo inžinieriai ir testuotojai. Šie vaidmenys paprastai veikė kaip nepriklausomi vienetai, atlikdami našumo testavimą, kai kūrėjai baigė kurti programas.

Programinės įrangos kūrimo komandoms priėmus judrius principus, veiklos testavimas kaip veikla prasideda kur kas anksčiau kūrimo procese, vadinamasis „kairės“ kairės pusės testavimas . Užuot atlikę testavimą kokybės užtikrinimo skyriui, programinės įrangos komandos dabar bandymus atlieka savarankiškai arba bendradarbiaudamos su kokybės užtikrinimo inžinieriais.

Kitas pranašumas, kai bandymai perkeliami kairėn, yra vis didėjantis našumo testavimo priėmimas programinės įrangos komandose. Tačiau daugelis šių naujų vartotojų reikalauja įrankių, kurie puikiai tinka jų vartotojams kasdienio darbo eigą , leidžiant jiems reguliariai testuoti su minimaliomis pastangomis. Tradiciniai įrankiai, tokie kaip „JMeter“ ir „LoadRunner“, nelabai tiko, o vietoj to jie pereina prie naujos kartos įrankių, tokių kaip k6.




K6 pristatymas

k6 yra nemokamas ir atvirojo kodo apkrovos tikrinimo įrankis siekiant, kad našumo testavimas būtų produktyvus ir malonus.

Įrankis yra scenarijų, o k6 testai yra parašyti „Javascript“ , suteikiant galimybę rašyti testus viena iš geriausiai žinomų programavimo kalbų.


Galinga scenarijų kalba ir API suteikia reikiamą lankstumą, kad jūsų scenarijuose imituotų realaus scenarijaus scenarijus. Kadangi programos ir sistemos nuolat tobulėja, galimybė moduliuoti testus žymiai padidins testavimo proceso efektyvumą.

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

k6 yra komandų eilutės įrankis, skirtas „Windows“, „Linux“ ir „Mac“. Arba yra oficialus „Docker“ vaizdas.

Atlikti našumo testą su k6 taip pat paprasta, kaip paleisti komandą „bash“:


img / performance / 81 / k6-geriausias kūrėjas-patirtis-2.png

Keletas žymių scenarijų funkcijų yra:

  • Tvirtos ir gerai dokumentuotos „Javascript“ API bandomiesiems scenarijams
  • Gilus pritaikymas naudojant kelias konfigūravimo parinktis
  • Scenarijai
  • Parametravimas naudojant aplinkos kintamuosius
  • Tinklo lizdų palaikymas
  • Viso ciklo kabliukai, skirti pritaikyti sąranką ir nuplėšimą
  • Patikrinimai, metrika, žymos, slapukai ...


Seanso įrašymo ir keitikliai

Kaip sudėtingiausi apkrovos tikrinimo įrankiai, k6 turi seansų registratorių, kuris palengvina apkrovos testų kūrimą iš vartotojo seanso. Jums reikia pateikti tik HAR failą iš naršyklės ar vartotojo sesijos, o įrašymo įrenginys sukurs jums k6 testą. Tai ypač naudinga, jei esate apkrovos testavimo svetainės .

Be to, kiti įrankiai gali padėti jums atkurti k6 testus iš skirtingų technologijų:


  • JMeter konverteris: konvertuokite JMeter .jmx failą į k6 scenarijų.
  • „Postman“ keitiklis: konvertuokite „Postman“ kolekciją į k6 scenarijų.
  • „OpenAPI“ keitiklis: konvertuokite „Swagger“ / „OpenAPI“ specifikaciją į k6 scenarijų.
  • Naršyklės plėtinys: sukurkite k6 scenarijų iš naršyklės seanso. Galima tik „k6 Cloud“ vartotojams.

Nors jums nereikia naudoti savirašio ir keitiklių, kad galėtumėte pradėti testuoti, šie įrankiai gali padėti greičiau įtraukti komandą į k6 arba scenarijus.

Seanso registratorius ir keitiklis



Rezultatų vizualizavimas

Pagal numatytuosius nustatymus k6 pateikia rezultatą į konsolę. Be to, yra keletas integracijų, kurios jums padės analizuojant ir vizualizuojant bandymo rezultatus:

  • Apache Kafka
  • k6 Debesuota
  • „DataDog“
  • „InfluxDB + Grafana“
  • JSON
  • NewRelic
  • StatistikaD

img / performance / 81 / k6-geriausias kūrėjas-patirtis-4.png




Nuolatinis ir automatizuotas testavimas

Testavimo bendruomenėje daugelio organizacijų tikslas yra automatika. Kai pasikeis jūsų programa ir sistema, automatizavus ir vykdant dažnai atliekamus bandymus, galėsite anksčiau pasiekti našumą.

Dokumentuose pateikiami populiariausių CI / CD įrankių vadovai, leidžiantys be vargo integruoti k6 į savo CI vamzdynus.

  • „Azure“ vamzdynai
  • CircleCI
  • „GitHub“ veiksmai
  • „GitLab“
  • Jenkinsas
  • „TeamCity“

K6 komanda tiki, kad gamyba bandymas orientuotas į tikslą yra nepakeičiamas automatikos reikalavimas. Vykdant automatizuotus testus, pagrindinis jūsų testo tikslas turėtų būti patvirtinti sistemos našumo lūkesčius ir, antra, įspėti jus, jei sistema neatitinka našumo tikslų. Pavyzdžiui, patvirtindami, kad:

  • 95% užklausų atsakymo laikas neviršija 600 ms.
  • Sistema nesukuria daugiau nei 0,5% klaidų.

K6, jūs apibrėžiate šiuos lūkesčius naudodami Ribos savo teste. Jei jūsų sistema jų nepasiekia, k6 informuos jus apie gedimą, grąžindamas ne nulinį išėjimo kodą.


img / performance / 81 / k6-geriausias kūrėjas-patirtis-5.png

Jei norite sužinoti daugiau apie šią temą, perskaitykite k6 vadovą našumo testavimo automatika ir slenksčių dokumentai.



k6 Debesuota

k6 Debesuota yra komercinis „SaaS“ produktas, pridedamas prie atvirojo kodo k6 įrankio. k6 OSS yra nemokama naudoti ir turi keletą integracijos valdyti apkrovos testus savo infrastruktūroje. „K6 Cloud“ yra pasirinktinė paslauga, teikianti apkrovos tikrinimo infrastruktūrą ir sistemas, kurios jums padės atlikti bandymus.

Norėdami geriau suprasti, kas yra „k6 Cloud“, išvardinkime keletą jo funkcijų:

  • Mastelio testai atliekami horizontaliai ir skirtingose ​​geografinėse vietose.
  • Saugokite ir vizualizuokite bandymų rezultatus.
  • Automatiškai aptikti našumo problemas.
  • Koreliuokite įvairių testų rezultatus.
  • Borto vartotojai su GUI testų kūrimo priemone.
  • Organizuokite komandas ir testus centrinėje vietoje.
  • Teikti specialią paramą.

k6 Debesuota



Bendruomenė

K6 bendruomenė yra tikrai palaikanti ir naudinga - jėga, lemianti projekto sėkmę.

Jei pradedate nuo k6, nepamirškite jų pasiekti Atleistas arba bendruomenės forumas bet kokio tipo klausimams. Yra keletas skirtingų temų kanalų ir kategorijų, tokių kaip #grafana, #dokumentation, #feedback, #discussion ir kt.

Tiems, kurie domisi projekto vidumi, sekite projektą „GitHub“ .



Išvada

Šiuo pranešimu siekiama pristatyti k6 įvadą - vieną įdomiausių apkrovos tikrinimo įrankių. Jei norite sužinoti, ką dar gali pasiūlyti k6, rekomenduojame perskaityti k6 dokumentai .

Turėdamas tik ketverius gyvenimo metus, k6 tapo turtingas funkcijomis ir konkuruoja su nusistovėjusiais įrankiais, taip įsisavindamas kūrėjus, „DevOps“ ir bandymų bendruomenes.

„K6“ komanda ir bendruomenė sukūrė į kūrėją orientuotą našumo testavimo įrankį, kuris tenkina naujos eros poreikius ir poreikius.