Performans testiranje i neprekidna integracija

Share

Neprekidna integracija (Continuous integration) je praksa čestog spajanja (merge) radnih verzija koda u toku razvojnog procesa. Performans testovi su veoma “skupi”. Zahtevaju pun kapacitet procesorske snage, veliku memoriju i prete da “pojedu” resurse vaše mašine. Ipak, dosta toga može da bude urađeno uz jako male troškove. Koristeći JMeter kao glavni performans alat i integrišući sve sa Jenkins-om, mogu se postići sjajni rezultati.

Kako integrisati performans sa Jenkins-om?

Pored toga što je batler iz Scooby Doo-a, Jenkins je:

  • besplatan automatski server
  • može se koristiti za automatizaciju različitih aspekata testiranja
  • lako se instalira i pokreće na bilo kom računaru sa predhodno instaliranom Javaom
  • podržava alate za verzionisanje (Git)
  • njegova funkicionalnost se dopunjuje korišćenjem plugin-ova
  • testovi se mogu automatski pokrenuti na različite načine

Kao performans testeri želimo:

  • da se testovi izvršavaju u pozadini bez potrebe da ih pratimo
  • da ne koristimo resurse naše lične mašine
  • da izvršavamo testove svakodnevno uz automatsko pokretanje
  • da imamo reprezentativne rezultate
  • da su testovi povezani sa Git-om ili nekim drugim alatom za verzionisanje
  • da budemo obavešteni ako je došlo do bilo kakve greške

Sa znanjem šta želimo i šta nam u tome može pomoći, potrebno je još samo da to i uradimo. “Build job” je centralni deo Jenkins-a, dok je “Jenkins Pipeline job”, jako značajan za pokretanje performans testova i kreiranje izveštaja.

Zašto Pipeline?

Važan deo performansa je kako se sistem ponaša pri različitim opterećenjima (broj zahteva po sekundi ili broj paralelnih korisnika). “Pipeline job” nam daje mogućnost da pratimo izvršavanje za različite nivoe glavnih performans indikatora.

Plugin-ovi?

Jenkins proširuje svoju funkcionalsnost sa plugin-ovima. Kada je reč o performansu, navešćemo dva korisna: Performance Plugin i HTML report. Blisko su povezani ali svaki dopunjuje deo slike.

Sa Performance plugin-om ćete:

  • dobiti performans trend na osnovu vremena odziva različitih transakcija
  • dobiti prikaz neuspelih zahteva
  • biti u mogućnosti da uporedite trenutni i prethodni “build” koristeći metrike kao što su: prosek, medijana, standardna devijacija ili očekivanje

Sa HTML report-om ćete:

  • generisati grafike koji dolaze uz JMeter (broj transakcija po sekundi, vremen odziva spram broja niti, greške spram niti…)
  • videti index aplikacije baziran na svim pojedinačnim zahtevima
  • dobiti prikaz svih grešaka i njihov procenat za svaki nivo testa

Sa kombinovanjem ova dva plugin-a, imaćete dobar pregled performansi vase aplikacije, moći ćete da kreirate izeštaj i pratite dalji razvoj.

Još nešto?

Sa Jenkins-om uvek može još nešto:

  • Možete automatski poslati email ukoliko je neki indikator performansi narušen ili nakon što je test izvršen.
  • Rezultati se mogu integrisati sa nekim od alata za upravljanje testovima (QTest, Zephyr ili slično).

Za kraj

Potrebno je vreme za integrisanje JMeter-a sa Jenkins plugin-ovima. Taj process zahteva trud ali daje veliku nagradu na kraju, omogućava izvršavanje performans testova lakše i bez korišćenja dodatnih resursa. Postignuti rezultati su rame uz rame sa nekim od naprednih alata za praćenje performansi aplikacije.

Share

Prijavi se da prvi dobijaš nove blogove i vesti.

Ostavite odgovor

Marija Nešković

Performance Test Engineer @CallidusCloud
mm

Marija voli da otkriva nove stvari, matematiku, baštu, jogu. Veruje da uvek postoji prostor za napredak. U poslednje tri godine se bavi performans testiranjem. Uživa u otkrivanju mogućnosti performans testiranja i optimizovanju procesa kako bi bio lakši i bolji.

Prijavi se da prvi dobijaš nove blogove i vesti.

Kategorije