6. óra · Szoftvertesztelés gyakorlat

Felkészülés a számonkérésre

A 2–5. óra rendszerezése és megoldásos gyakorlófeladatok

A tanmenetben ez számonkérési óra. Az itt megjelenő feladatok megoldásos felkészülést szolgálnak, nem a dolgozat kérdései.

Az óra végére képes leszel

  • Egy esetből felépíted a tesztelés lépéseit a tervtől a lezárásig.
  • Megkülönbözteted a teszteredményt, a kiadási döntést és a statikus elemzési jelzést.
  • Megoldásos feladatokon ellenőrzöd a teszteset-, hibajegy- és jelentésírást.
A munka menete
  1. 1SzabályKiinduló, ellenőrizhető követelmény.
  2. 2TesztElőfeltétel, lépés, elvárt eredmény.
  3. 3EredményMegfelelt, nem felelt meg vagy blokkolt.
  4. 4JelzésTárgyilagos hibajegy és kockázat.
  5. 5LezárásJelentés, átadás, tanulság.
01 / TANANYAG

A teljes folyamat egyetlen példán

A 2. órán a kölcsönző követelményeiből vizsgálható feltételeket és teszteseteket készítettünk. A terv rögzítette a célokat, a környezetet és a kilépési feltételeket; a végrehajtás előre rögzített elvárással, megfigyelt eredménnyel és esetleges hibajeggyel zárult. A 3. órán a végrehajtási számokat és a nyitott kockázatokat értékeltük, majd a következő ciklusnak átadtuk a tesztmunkatermékeket.

A 4. óra azt mutatta meg, hogyan közöljük a talált eltérést tárgyilagosan, és miért hasznos a másik szakember nézőpontja. Az 5. órán ugyanazt a korlátozást a forráskódban is megvizsgáltuk: a statikus jelzés és az emberi átnézés lehetséges problémát tár fel, a működés következményét külön teszt ellenőrzi. Egyik tevékenység sem helyettesíti automatikusan a másikat.

02 / TANANYAG

Mit kérj számon magadtól?

Meg tudod nevezni a különbséget tesztelési feltétel, teszteset, teszteljárás és futási eredmény között? Egy tesztesetből ki tudod olvasni az előfeltételt, az adatot, a lépéseket és az elvárt eredményt? A hibajegyben el tudod választani a bizonyított tényt a feltételezett kódbeli októl? A jelentésben világos, mi futott le és mi blokkolt?

Tudsz példát mondani megerősítési torzításra és arra, hogyan keresnél ellenpéldát? Egy eszköz figyelmeztetéséről el tudod dönteni, hogy stílus-, szerkezeti vagy működési kockázatot jelezhet? A gyakorló a 2–5. órák fő készségeit fedje le; a tényleges dolgozat szerkezetét és pontozását a tanár határozza meg.

03 / TANANYAG

A megoldás értékelése

A szöveges feladatoknak több jó megoldása lehet. Akkor fogadható el egy teszteset, ha egyértelmű a kiinduló állapot és objektíven eldönthető az eredmény. A jelentés akkor hasznos, ha nem rejti el a blokkolt esetet és megnevezi a fennmaradó kockázatot. A hibajegy nem attól jó, hogy pontosan kitalálja a programozási hibát, hanem attól, hogy a megfigyelés újrajátszható.

Az alábbi gyakorlófeladatok egy új időpontfoglaló alkalmazás köré szerveződnek. A foglalás legfeljebb 30 nappal előre lehetséges. Egy idősávra csak egy érvényes foglalás kerülhet. A lemondás után a hely újra foglalható. Érvénytelen kéréskor nem jön létre foglalás, és egyértelmű üzenet jelenik meg.

Gyakorlófeladatok

Előbb oldd meg a feladatot, majd nyisd meg a segítséget és a mintamegoldást.

1. Követelményből eset

Az időpontfoglaló 30 napos korlátjához írj két pozitív és két negatív tesztesetet. Mindenhol legyen kiinduló állapot és elvárt eredmény.

Kérek egy tippet

A mai nap, a 30. nap, a 31. nap és a múltbeli időpont is hasznos, ha a szabályt pontosítottátok.

Mintamegoldás megtekintése

Rögzített mai nap és időzóna mellett: ma egy jövőbeli szabad idősáv → foglalás létrejön; pontosan a 30. napon szabad idősáv → létrejön; 31. napon szabad idősáv → elutasítás, nincs rekord; múltbeli idősáv → elutasítás, nincs rekord. A „ma” órája és a 30 nap számítási szabálya pontosítandó, mielőtt végleges tesztesetet írunk.

2. Dupla foglalás

Ugyanarra a szabad idősávra két felhasználó szinte egyszerre kattint. Az egyik foglalás megjelenik, a másiknak is sikerüzenet jut, de csak egy rekord van. Írj hibajegycímet, elvárt és tényleges eredményt.

Kérek egy tippet

Az eredménynek mindkét felhasználó számára összhangban kell lennie a tartósan mentett állapottal.

Mintamegoldás megtekintése

Cím: Sikeres foglalási visszajelzés rekord nélkül párhuzamos kérésnél. Elvárt: pontosan egy foglalás mentődik, az egyik ügyfél siker-, a másik foglaltsági üzenetet kap; nincs kettős siker. Tényleges: egy rekord mentődött, de mindkét ügyfél sikeresnek látta a műveletet. Rögzíteni kell a verziót, idősávot, felhasználókat, időpontokat és a megismétlés lépéseit.

3. Eredmény és jelentés

12 tervezett tesztből 10 lefutott: 8 megfelelt, 2 nem, 2 blokkolt. Legalább 90% sikeres lefutott eset és nulla nyitott magas súlyosságú hiba volt a kilépési feltétel. Az egyik nem megfelelt teszt a dupla foglalás fő folyamata. Értékeld a feltételeket, írj rövid javaslatot.

Kérek egy tippet

A 8/10 arányt számold ki, a súlyosságot külön indokold; nem minden hiba automatikusan magas súlyosságú.

Mintamegoldás megtekintése

A végrehajtottak közül 8/10 = 80% megfelelt, ezért a 90%-os feltétel nem teljesül. Két eset blokkolt; a dupla foglalás súlyosságát a hatás és előfordulás alapján formálisan értékelni kell, nagy kockázat valószínű. Javítás, a hibás eset megerősítő tesztje és a blokkolt esetek futtatása szükséges, majd új összegzés. A kiadási döntéshez a kockázatot jelezzük.

4. Pszichológia

A fejlesztő azt mondja: „Öt saját tesztem zöld, tehát a versenyhelyzet lehetetlen.” Hogyan válaszolsz együttműködően, és milyen független vizsgálatot javasolsz?

Kérek egy tippet

Tényeket és újrajátszható kéréseket fogalmazz meg, ne személyes minősítést.

Mintamegoldás megtekintése

„Az öt teszt a lefedett esetekre jó visszajelzés. Megnézzük együtt, hogy két felhasználó párhuzamos, ugyanarra az idősávra irányuló kérése szerepel-e köztük?” Másik csapattag vagy tesztelő párhuzamos kérésekkel és mentett állapot ellenőrzésével vizsgálja a helyzetet; az eredmény alapján pontosítjuk az esetet.

5. Statikus jelzés

A foglalási kódban az alkalmazás először ellenőrzi, hogy szabad-e az idősáv, majd külön lépésben ment, közben nincs közös tranzakció vagy adatbázis-korlát. Mit jelezhet a statikus áttekintés, és mit kell dinamikusan is vizsgálni?

Kérek egy tippet

Az ellenőrzés és mentés között egy másik kérés is befuthat.

Mintamegoldás megtekintése

A kódszerkezet versenyhelyzet kockázatát jelzi: két kérés egyaránt szabadnak olvashatja ugyanazt az idősávot. A konkrét hatás nem bizonyított pusztán a kód olvasásából. Párhuzamos kérésekkel, tartós rekordok és visszajelzések ellenőrzésével teszteljük; a védelemnél a megfelelő adatbázis-korlát és atomi művelet is mérlegelendő.

6. Lezárás

Sorolj fel legalább hat elemet, amelyet a javítás utáni tesztciklus átadásakor megőriznél. Miért nem egyenlő ez a termék automatikus kiadásával?

Kérek egy tippet

Az esetek, környezet, adat, eredmény, hibák és maradó kockázat külön információ.

Mintamegoldás megtekintése

Megőrzendő: tesztelt verzió; környezeti beállítás; kiinduló tesztadat és időzóna; tesztesetek elvárt eredménnyel; futási napló és bizonyíték; hibajegyek és javítási állapot; blokkolt esetek; tesztösszefoglaló és maradó kockázat. A ciklus lezárása dokumentációs lépés, a kiadás felelős döntés a feltételek és kockázat alapján.

ELLENŐRIZD MAGAD

Melyik állítás foglalja össze helyesen a felkészülés lényegét?

Amit érdemes megjegyezni

  • A 2–5. óra anyaga egy összefüggő munkafolyamatban alkalmazható.
  • A hatodik órához tartozó oldal felkészülő gyakorló, megoldásokkal; a számonkérés feladatait külön lehet meghatározni.
  • A jó válasz ellenőrizhető tényeket és egyértelmű elvárt eredményt ad.

Visszajelzés erről a leckéről

Mennyire volt hasznos? Az értékelést és a megjegyzést csak a tanár látja.

Értékelés, 1–5

Név és e-mail-cím megadása nem szükséges. Más tanulók értékelései és megjegyzései nem jelennek meg ezen az oldalon.