Csak a tesztemen keresztül!

Szakmai gondolatok informatikai rendszerek teszteléséről.

Gazda

Friss topikok

  • Akron: @Verhás Péter: Az ügyfeled a cég (vezérigazgatóval, Józsi nénivel) A cég ellenőrzi le és veszi át ... (2018.01.31. 14:09) Miért UAT
  • Verhás Péter: @ hrgy: Egy kicsit felhúztam magam, de sebaj. A lényegi állításokban igazad van, ám a személyekre... (2011.10.09. 00:25) A tesztelés nem mindenható
  • crix: Ez a hozzáállás. Sajnos most is. Aztán csodálkoztak itt a népek, amikor bevállaltam a hétvégi munk... (2011.10.05. 16:56) Újra fizetni kell
  • crix: és milyen specifikáció mentén ment át az ügyfél? elég blind? (2011.10.05. 13:41) Ügyfélteszt
  • fqqdk: fitnesse, concordion, és cucumber integráció lesz? (2011.03.05. 13:42) Automatizált tesztelés és üzleti tesztelés

Társblogok

Blog

Szakmai gondolatok informatikai rendszerek teszteléséről.

A minőségi szoftverhez három dolog kell: tesztelés, tesztelés és tesztelés.

Így tesztelünk mi.

Linkblog

Jónak tűnik, vagy jó? MEGOLDÁS

2009.06.30. 16:34 | Verhás Péter | 7 komment

Itt a várva várt megoldás.

Hogy kicsit gonosz legyek, tulajdonképpen mindegy, ahogy mindegy, hogy "járt-e Cecil a Török utcában". Az igazi kérdés nem az, hogy a konkrét esetben mi volt a megoldás (azért meg fogom mondani), hanem az, hogy mi lehet az oka egy ilyen terhelési profilnak, és nyugodtan aludhatunk-e ha ilyet látunk.

A választ a kommentelők megadták: nem aludhatunk nyugodtan, ha nem tudjuk, hogy a rendszer miért viselkedik úgy, ahogy viselkedik, akkor azt ki kell nyomozni, mert ha nem, akkor marad egy adag bizonytalanság: vagy jó a program, vagy csak jónak tűnik.

A konkrét esetben a programban volt egy terhelést figyelő logika, és ha N darab szál aktív volt, akkor nem indított több kiszolgáló szálat, hanem olyan szálakat aktivált (thread pool-ból) az egyes beeső kérésekre, amelyek egyszerűen csak visszavágták, hogy: a gép túlterhelt, időszakosan nem elérhető, próbálja meg később. Mivel ez egy http interfész volt, ezért 503 hibakódot adott vissza.

 

503 Service Unavailable

 

Persze közben a gépet egyre jobban terhelte, és hiába jött vissza az 503 nagyon gyorsan a kérések egy kis (és egyre kisebb) százaléka továbbra is jó eredményt adott, de egyre lassabban. Emiatt az átlagos válaszidő nőtt. A szórás persze igen érdekes képet mutatott volna: egy csúcs az 503 válaszokra 1mp-en belül, és egy "normál" eloszlás egyre nagyobb T időpontnál.

A jó válasz itt hangzott el először:

Nuunius  · http://r2d2fishtank.blog.hu/2009.06.23. 10:10:11
eszembe jutott, hogy nem volt esetleg nézve h mi az üzenet ami visszajön a kérdésre. Akkor pedig lehet olyan ,hogy sima hibaüzenet jött válaszként, mint a villám. Aztán valahol betelt valami és akkor már nem volt képes feldolgozni a kéréseket...

A bejegyzés trackback címe:

https://csakatesztemenkeresztul.blog.hu/api/trackback/id/tr911218159

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

PeterBogyo · http://ujbuda.kutyaiskola.eu 2009.07.02. 09:51:22

köszönöm, köszönöm...

Amúgy magam is futottam bele hasonlóba.
Kaptam egy előre megírt terheléses tesztet egy külső fejlesztőtől. Először megnézem és nagyon boldog voltam, hogy
1. nem nekem kell megírni
2. nagyon jól futott kb 2-3 sec alatt jött mindig a válasz

Aztán gyanakodni kezdtem, mert a userek akik kézzel teszteltétk, azt mondták, hogy lassú (illetve nem ezekkel a szavakkal, csak azt mágsem írhatom ide h qr.vaxar)

Szóval futtatam még tesztet és feltűnt, hogy a hálózati forgalom minimális alig pár byte pedig a script szerint egy nagyobb lekérdezés futott éppen. Szóval belementem a scriptbe és kiderült, hogy semmilyen ellenőrzés nincse na visszatérő adatra. Egy darab stringet sem figyelnek, hogy megjelenik a válaszban.

Innentől már könnyű volt a dolgom, beleírtam egy figyelést és hopp 3 vuser után már meg is akadt a dolog, lényegében alkalmatlan volt tömeges munkára:) Aztán 1 hónap múlva jött a már működő program és hozzá a már megfelelő terheléses script is

Tanulság:
1. ne örülj előre, mindig nézd meg scriptet ha azt vki más csinálja neked
2. érdemes figyelni a user voice-ra mert gyakrna jók a meglátásaik
3. ne egy adatot figylej csak (pl válaszidő) hanem mindig nézd hozzá az egyéb mért értékeket

Ps: akkor mehetek átvenni vmikor a "jó megérdemelt" jutalmamat?:)

PeterBogyo · http://ujbuda.kutyaiskola.eu 2009.07.03. 10:23:10

@Verhás Péter: most szabadságon leszek, de a 13.i héten bemegyek érte ha az emgfelelő, mert ez egy jó könyv:)

tvk · http://kodzaj.blog.hu 2009.07.04. 12:15:54

Mondjuk szerintem többen is alapnak vettük, hogy helyes válaszok jönnek vissza a kérések 100%-ában, ami bitre le van ellenőrizve.

Nem is értem ezt a tesztelési stratégiát. Azt gondolnám hogy ha nem 100%-ban jók a válaszok akkor a rendszer nem funkcionál: nincs sok értelme boncolgatni a terhelési görbét. A jó és rossz válaszok eloszlásának ismerete nélkül pedig egyáltalán nincs értelme.

Verhás Péter · http://csakatesztemenkeresztul.blog.hu 2009.07.05. 14:03:52

@tvk: Azt, hogy a szoftver jól működik a funkcionális tesztekkel teszteltük.

A terheléses teszteknél csak a válaszidőket néztük. Ezt is írtam le a blogba.

Akik "alapnak vették, hogy helyes válaszok jönnek vissza a kérések 100%-ában, ami bitre le van ellenőrizve", azok éles esetben is ebbe a hibába eshetnek például amikor minőségbiztosítási feladatként ellenőrizni kell egy terheléses teszt eredményeit.

Nem volt leírva, hogy ellenőriztük a funkcionális megfelelést terheléses teszt során, tehát azt kell feltételezni, hogy nem ellenőriztük.

És hogy miért nem? Azt hiszem most nekiállok, és megírom erről a holnapi blogot.

tvk · http://kodzaj.blog.hu 2009.07.06. 09:31:27

Kíváncsi vagyok rá hogy miért nem kell ellenőrizni a válaszokat terheléses teszt esetén. Legalább olyan szinten, hogy 200-OK jön-e vissza vagy nem (webalkalmazás esetben).

Sokminden nem volt leírva. Kérdés hogy mi az amit alapnak kell venni és mi az amit nem. Ilyen alapon az is kimaradhat a leírásból hogy "alacsony terhelésnél kólát öntöztünk a szerverbe". Én meg alapnak veszem hogy nem volt ilyen eset és én vagyok a naív.

PeterBogyo · http://ujbuda.kutyaiskola.eu 2009.07.13. 16:05:08

jómaga semmit sem veszek alapnak amit nem én csinálok. Mivel az automatikus teljesítmény tesztelésnek nincs még igazán hagyománya, ráadásul ha végeznek is ilyet akkor azt sokszor a fejlesztő végzi, így nem lehet semmit se "alapnak" venni. Ez nem bizalmatlanság, de ha egy program funkcionálisan rosszul lett megírva akkor ugyanez feltételezhető a tesztkódról is. Ez egy ilyen világ:)
süti beállítások módosítása