k6 - najbolje iskustvo programera za ispitivanje opterećenja

Industrija ispitivanja performansi posljednjih je godina doživjela radikalnu transformaciju. Tradicionalno su ispitivanja opterećenja izvodili inženjeri za ispitivanje performansi, kao i inženjeri i ispitivači kvalitete. Te su uloge obično radile kao neovisne jedinice, testirajući izvedbu nakon što su programeri završili s izradom aplikacija.

Usvajanjem agilnih principa među timovima za razvoj softvera, ispitivanje performansi kao aktivnost započinje mnogo ranije u razvojnom procesu, tzv ispitivanje u smjeru lijevo . Umjesto da testiranje performansi prepuste odjelu QA, softverski timovi sada svoje testiranje rade samostalno ili u suradnji s QA inženjerima.

Još jedna prednost pomicanja lijevog testiranja je sve veći porast usvajanja testiranja performansi u softverskim timovima. Ali mnogi od ovih novih korisnika zahtijevaju alate koji se lijepo uklapaju u njihove svakodnevni tijek rada , dopuštajući im da redovito testirajte uz minimalan napor. Tradicionalni alati poput JMeter i LoadRunner nisu se toliko uklapali, već se okreću novoj generaciji alata, poput k6.

Otkrivanje k6

k6 je besplatan i alat za ispitivanje opterećenja otvorenog koda čiji je cilj testiranje performansi učiniti produktivnim i ugodnim iskustvom.

Alat je moguće skriptirati, a k6 testovi su napisani u Javascript , dajući mogućnost pisanja testova na jednom od najpoznatijih programskih jezika.

Moćan skriptni jezik i API predstavljaju potrebnu fleksibilnost za oponašanje stvarnih scenarija u vašim skriptama. Budući da se aplikacije i sustavi kontinuirano razvijaju, mogućnost modulariziranja testova dramatično će poboljšati učinkovitost postupka testiranja.



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

k6 je alat za naredbene retke dostupan za Windows, Linux i Mac. Postoji i službena Dockerova slika.

Pokretanje testa performansi s k6 jednostavno je poput pokretanja naredbe bash:

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

Nekoliko značajnih značajki skriptiranja su:

  • Robusni i dobro dokumentirani Javascript API-ji za testno skriptiranje
  • Dubinsko prilagođavanje kroz više opcija konfiguracije
  • Scenariji
  • Parametriranje kroz varijable okoline
  • Podrška za internetske utičnice
  • Kuke životnog ciklusa za prilagođavanje postavljanja i uklanjanja
  • Čekovi, mjerni podaci, oznake, kolačići ...

Snimač sesije i pretvarači

Kao najsofisticiraniji alat za testiranje opterećenja, k6 ima snimač sesija koji olakšava stvaranje testova učitavanja iz korisničke sesije. Trebate samo dostaviti HAR datoteku iz preglednika ili korisničke sesije, a snimač će stvoriti k6 test za vas. To je osobito korisno ako jeste učitavanje web mjesta za testiranje .

Uz to, drugi alati mogu vam pomoći u automatskom generiranju k6 testova iz različitih tehnologija:

  • JMeter pretvarač: pretvorite JMeter .jmx datoteku u k6 skriptu.
  • Pretvarač poštara: pretvorite zbirku Poštara u skriptu k6.
  • OpenAPI pretvarač: pretvorite Swagger / OpenAPI specifikaciju u k6 skriptu.
  • Proširenje preglednika: generirajte k6 skriptu iz sesije preglednika. Dostupno samo za korisnike k6 Cloud-a.

Iako ne morate koristiti snimač i pretvarače da biste započeli testiranje, ovi alati mogu vam pomoći da brže uđete u tim ili u k6 ili skriptirate svoje testove.

Snimač i pretvarač sesija

Vizualizacija rezultata

Prema zadanim postavkama k6 prikazuje rezultat na konzoli. Uz to, dostupno je nekoliko integracija koje će vam pomoći tijekom analize i vizualizacije rezultata testa:

  • Apache Kafka
  • k6 Oblak
  • DataDog
  • InfluxDB + Grafana
  • JSON
  • NewRelic
  • StatistikaD

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

Kontinuirano i automatizirano testiranje

U zajednici za testiranje automatizacija je krajnji cilj mnogih organizacija. Kada se vaša aplikacija i sustav promijene, automatizacija i izvođenje čestih testova pomoći će vam da ranije uhvatite regresije izvedbe.

Dokumentacija sadrži vodiče za najpopularnije CI / CD alate, što vam omogućuje da bez napora integrirate k6 u svoje CI cjevovode.

  • Azure cjevovodi
  • CircleCI
  • GitHub akcije
  • GitLab
  • Jenkins
  • TeamCity

K6 tim vjeruje da izrada testiranje usmjereno na cilj je neophodan uvjet za automatizaciju. Prilikom izvođenja automatiziranih testova, primarna svrha vašeg testa trebala bi biti prva provjera valjanosti očekivanja vašeg sustava, a drugo upozorenje ako sustav ne ispunjava ciljeve izvedbe. Na primjer, provjera valjanosti:

  • Vrijeme odgovora za 95% zahtjeva nije veće od 600 ms.
  • Sustav ne proizvodi više od 0,5% pogrešaka.

U k6 ta očekivanja definirate s Pragovi u vašem testu. Ako ih vaš sustav ne dosegne, k6 će vas obavijestiti o kvaru koji vraća ne-nulu izlaznog koda.

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

Ako želite saznati više o ovoj temi, pročitajte k6 vodič za automatizacija ispitivanja performansi i dokumentaciju Thresholds.

k6 Oblak

k6 Oblak je komercijalni SaaS proizvod koji prati alat k6 otvorenog koda. k6 OSS je besplatan za upotrebu i ima nekoliko integracije za upravljanje testovima opterećenja u vlastitoj infrastrukturi. K6 Cloud dodatna je usluga koja pruža infrastrukturu i sustave za ispitivanje opterećenja koji će vam pomoći u naporima za testiranje performansi.

Da bismo bolje razumjeli što je k6 Cloud, nabrojimo nekoliko njegovih značajki:

  • Ispitajte skale vodoravno i na različitim zemljopisnim mjestima.
  • Pohranite i vizualizirajte rezultate ispitivanja.
  • Automatski otkrijte probleme s izvedbom.
  • Korelirati rezultate između različitih testova.
  • Korisnici na brodu s graditeljem GUI testova.
  • Organizirajte timove i testove na središnjem mjestu.
  • Pružite namjensku podršku.

k6 Oblak

Zajednica

K6 zajednica iskreno podržava i pomaže - snaga koja stoji iza uspjeha projekta.

Ako započinjete s k6, ne zaboravite doći do njih Zatišje ili forum zajednice za bilo koju vrstu pitanja. Postoji nekoliko kanala i kategorija za različite teme poput #grafana, #documentation, #feedback, #discussion, itd.

Za one koji su zainteresirani za unutarnje dijelove projekta, slijedite projekt u GitHub .

Zaključak

Ovaj post želi predstaviti uvod u k6 - jedan od najuzbudljivijih alata za ispitivanje opterećenja. Ako želite saznati što više nudi k6, preporučujemo da pročitate k6 Dokumenti .

Sa samo četiri godine života, k6 je postao bogat sadržajima i natječe se s dobro uspostavljenim alatima, stječući izvrsno prihvaćanje u programerima, DevOpsu i zajednicama za testiranje.

K6 tim i zajednica izgradili su alat za testiranje izvedbe usmjeren na programere koji udovoljava potražnji i potrebama nove ere.