Predložak plana ispitivanja izvedbe

Predložak plana ispitivanja izvedbe koji se može koristiti takav kakav jest ili izmijenjen tako da odgovara potrebama vašeg projekta u smislu zahtjeva za izvedbom.

1. Svrha

Svrha ovog odjeljka je pružiti pregled pristupa ispitivanja izvedbe na visokoj razini koji bi se trebao slijediti za projekt. To se mora predstaviti svim relevantnim dionicima i o njemu treba razgovarati kako bi se postigao konsenzus.

2. Uvod

Kao dio isporuke , potrebno je da rješenje udovoljava kriterijima prihvatljivosti, kako u pogledu funkcionalnih tako i nefunkcionalnih područja. Svrha ovog dokumenta je dati pregled za nefunkcionalno ispitivanje riješenje.

Ovaj dokument obuhvaća sljedeće:

  • Kriteriji ulaska i izlaska
  • Zahtjevi okoliša
  • Pristup ispitivanju volumena i izvedbe
  • Aktivnosti ispitivanja izvedbe

3. Kriteriji za ulazak

Sljedeće radne stavke treba prethodno izvršiti / dogovoriti kako bi se nastavilo sa stvarnim aktivnostima ispitivanja izvedbe:

  • Dokument o nefunkcionalnim ispitnim uvjetima koji pruža , s kvantificiranim NFR-ima, gdje je to moguće
  • Kritični slučajevi upotrebe trebali bi biti funkcionalno testirani i bez ikakvih kritičnih grešaka
  • Odobreni i dostupni dizajnerski arhitektonski dijagrami
  • Ključni slučajevi upotrebe definirani su i obuhvaćeni
  • Dogovorene vrste ispitivanja performansi
  • Postavite mlaznice za postavljanje
  • Bilo koje postavljanje podataka potrebno - npr. Odgovarajući broj korisnika stvoren u

4. Kriteriji za izlaz

Aktivnost ispitivanja izvedbe bit će dovršena kada:



  • NFR ciljevi su ispunjeni, a rezultati ispitivanja učinka prezentirani su timu i odobreni.

5. Zahtjevi okoliša

Testovi performansi provodit će se na stabilnoj verziji rješenje (koje je već prošlo funkcionalne testove) i izvedeno u namjenskom okruženju nalik proizvodnji (pre-prod?) dodijeljenom za ispitivanje performansi bez postavljanja u to okruženje tijekom testiranja izvedbe.

5.1 Mlaznice za opterećenje

Bit će postavljeno jedno ili više namjenskih „injektora za opterećenje“ koji pokreću potrebno opterećenje za ispitivanje performansi. Ubrizgavač opterećenja može biti VM ili više VM-ova koji imaju primjerak JMetera pokrenut, pokrećući zahtjeve.

5.2 Alati za ispitivanje

Alati za testiranje koji se koriste za ispitivanje volumena i performansi bit će:

5.2.1 JMeter

Alat za ispitivanje opterećenja otvorenog koda. Pretežno se koristi za ispitivanje volumena i performansi.

5.2.2 Splunk

Splunk će se koristiti za bilježenje (možete koristiti drugi alat - potrebno je potvrditi s timom za testiranje perf).

6. Pristup ispitivanju volumena i performansi

The Rješenje bi trebalo biti dovoljno učinkovito za upravljanje sljedećim kriterijima opterećenja.

N.B. Brojevi u sljedećoj tablici su samo za uzorak - stvarne vrijednosti trebaju se umetnuti nakon što ih dovrši NFR dokument.

6.1 Ciljani volumen usluge

Ciljevi po satu otkriveni su iz trenutnog rješenja za [Y2019]. Iz obrasca plana izbrisane su ostale vrijednosti 'primjera'.

Budući da vršne vrijednosti po satu nisu visoke, one će se uzeti kao cilj za ispitivanje fiksnog opterećenja. Faktor skaliranja trenutno je TBD.

6.2 Broj korisnika

Testiranje izvedbe provest će se s maksimalno 1000 [?] Korisnika. Korisnici će biti stvoreni u unaprijed i biti im dostupan putem API za prijavu. Svaki će se zahtjev prijaviti s različitim ID-om korisnika.

6.3 Tvrdnje

Alat JMeter koristit će se za izvršavanje skripti za testiranje performansi. Unutar skripti nalazit će se tvrdnje za provjeru gore navedenih mjernih podataka, kao i neke osnovne funkcionalne provjere kako bi se osiguralo da se za svaki zahtjev dobivaju točni odgovori.

6.4 Učitaj profile

Profili opterećenja trebaju biti dizajnirani tako da oponašaju uobičajeni prosječni dnevni promet do web mjesto. Imajte na umu da je promet raspodijeljen i ograničen samo na dio web lokacije za upravljanje identitetom i pristupom korisnika, tj.

  • Prijaviti se
  • Registar
  • Resetiranje lozinke
  • Zaboravili ste lozinku
  • Postavite kupca
  • Dovedite kupca

Ispod je primjer profila za jedan dan:

6.4.1 Osnovna linija

Prvo je djelovanje pronaći osnovnu liniju. Koristeći samo 1 korisnika, pokrenut ćemo simulaciju tijekom određenog vremenskog razdoblja (npr. 5 minuta) kako bismo dobili prosjek vremena odziva za svaku krajnju točku. To osigurava da sa samo jednim korisnikom zapravo možemo postići vršne zahtjeve u sekundi.

6.4.2 Ispitivanje opterećenja

Nakon što se prikupe mjerne vrijednosti osnovne linije, tada se izvodi ista simulacija, koja simulira profil opterećenja, s povećanim brojem korisnika kako bi se testiralo prema ciljanim količinama. Ideja ovog testa opterećenja je testirati sustav na uobičajeno dnevno opterećenje, simulirajući ubrzanja, dnevne vrhove i padove.

6.4.3 Ispitivanje naprezanja

Cilj testiranja otpornosti na stres je pronaći točku loma sustava, tj. U kojem trenutku sustav prestaje reagirati. Ako je postavljeno automatsko skaliranje, test otpornosti na stres također će biti dobar pokazatelj u kojem se trenutku sustav prilagođava i dodaju novi resursi. Za ispitivanje naprezanja koristi se ista simulacija korištena za ispitivanje opterećenja, ali s opterećenjem većim od očekivanog.

6.4.4 Ispitivanje šiljka

Ispitivanje šiljaka uvodi značajno opterećenje na sustav u relativno kratkom vremenskom razdoblju. Cilj ovog testa je simulirati prodajni događaj, na primjer, kada velik broj korisnika istovremeno pristupa svom računu u relativno kratkom vremenskom razdoblju.

6.4.5 Ispitivanje namakanjem

Testiranje namakanja pokrenut će test opterećenja dulje vrijeme. Cilj je otkriti curenje memorije i neodzivnost ili pogreške tijekom testa namakanja. Obično bismo koristili 80% tereta (koristi se za ispitivanje opterećenja) za 24 sata i / ili 60% tereta za 48 sati.

6.4.6 Ispitivanje točke zasićenja

U ispitivanju točke zasićenja neprestano povećavamo opterećenje kako bismo utvrdili u kojoj točki sustav prestaje reagirati, tj. Pronalazimo točku loma sustava u smislu opterećenja.

7. Aktivnosti ispitivanja izvedbe

Sljedeće aktivnosti se predlažu kako bi se dovršilo testiranje izvedbe:

7.1 Izgradnja okruženja za ispitivanje performansi

  • Mlaznice s opterećenjem trebale bi imati dovoljan kapacitet i njima treba upravljati na daljinu. Također, trebalo bi se dogovoriti mjesto injektora
  • Morao bi biti uspostavljen mehanizam za nadzor i uzbunjivanje u stvarnom vremenu koji bi trebao obuhvaćati aplikaciju, poslužitelje kao i injektore opterećenja.
  • Zapisnici aplikacija trebali bi biti dostupni.

7.2 Skriptiranje slučaja upotrebe

  • Alat za ispitivanje performansi koji će se koristiti je JMeter
  • Raspravljeni su svi zahtjevi za podacima za slučajeve upotrebe koji će se skriptirati

7.3 Izrada scenarija testiranja

  • Vrsta testa koji treba izvršiti (opterećenje / stres itd.)
  • Profil opterećenja / model opterećenja treba usuglasiti za svaku vrstu ispitivanja (pojačanje / smanjenje, stepenice itd.)
  • Uključite vrijeme razmišljanja u scenarije

7.4 Izvođenje i analiza testa

Sljedeći testovi trebaju se provesti sljedećim redoslijedom:

  • Osnovni test
  • Ispitivanje opterećenja
  • Test naprezanja
  • Ispit šiljka
  • Test namakanja
  • Ispitivanje točke zasićenja

U idealnom slučaju, provest će se 2 probne vožnje svake vrste ispitivanja. Nakon svakog probnog pokretanja aplikacija se može fino podesiti kako bi se poboljšale njene performanse, a zatim će započeti novi testni ciklus.

7.5 Post-test analiza i izvještavanje

  • Snimite i napravite sigurnosnu kopiju svih relevantnih podataka i arhivirajte ih.
  • Uspjeh ili neuspjeh utvrdite usporedbom rezultata ispitivanja s ciljevima izvedbe. Ako ciljevi nisu ispunjeni, treba izvršiti odgovarajuće promjene i tada će započeti novi ciklus izvođenja testa. Nepoznato je koliko će ciklusa izvršenja biti potrebno za postizanje dogovorenih ciljeva.
  • Dokumentirajte i predstavite timu rezultate ispitivanja.