Mi a roncsolásos tesztelés a szoftverekben?
⚡ Okos összefoglaló
A roncsolásos tesztelés szándékosan addig tesztel egy szoftveralkalmazást, amíg az meghibásodik, feltárva azokat a pontokat, ahol a robusztusság nem megfelelő használat, érvénytelen bevitel és kiszámíthatatlan viselkedés esetén megbomlik, és amelyeket a hagyományos funkcionális ellenőrzések soha nem érnek el.

Mi az a roncsoló tesztelés?
Romboló tesztelés egy szoftvertesztelési módszer, amelyet a szoftverprogramok hibapontjainak megtalálására használnak. Ebben a technikában egy alkalmazást szándékosan hibára hoznak létre, hogy ellenőrizni lehessen a robusztusságát és azonosítani lehessen a hibapontjait. A destruktív tesztelés a kiszámíthatatlan felhasználói viselkedést vizsgálja az alkalmazáson belül.
A roncsolásos teszteléshez nem szükséges az eredeti követelmények ismerete. Bizonyos ismeretek azonban hasznosak a fejlesztés során.ping jó tesztelési stratégia.
Az alábbi ábra jól ragadja meg az elképzelést – a tesztelő a termék ellen dolgozik, nem pedig vele együtt.
Miért végeznek roncsolásos tesztelést?
- Segít megérteni a szoftverek kiszámítható viselkedését, amikor a szoftvert nem megfelelő használatnak vetik alá.
- Segít ellenőrizni egy szoftvertermék robusztusságát.
- Olyan ritka hibákat tár fel, amelyeket a hétköznapi felhasználók soha nem okoznak, de később, a gyártás során jelennek meg.
Roncsolásos vizsgálat vs. roncsolásmentes vizsgálat
A két megközelítés kiegészíti egymást, nem pedig rivális. Roncsolásmentes vizsgálat – más néven pozitív vagy boldogút tesztelés – helyesen kommunikál a szoftverrel, és a buildet érintetlenül hagyja. A roncsolásos tesztelés az ellenkezőjét teszi: érvénytelen adatokat és rossz szekvenciákat táplál be, amíg valami el nem romlik.
| Aspect | Romboló tesztelés | Roncsolásmentes vizsgálat |
| Elszánt | Az alkalmazás kényszerített leállítása | Győződjön meg arról, hogy az alkalmazás a megadottak szerint működik |
| Felhasznált bemenet | Érvénytelen, hibás formátumú, tartományon kívüli, sorrenden kívüli | Érvényes adatok a várt tartományon belül |
| Megválaszolt kérdés | Hol és hogyan törik el? | Azt teszi, amit kell? |
| Követelmények ismerete | Választható | Alapvető |
| Tipikus költség | Magasabb szintű – felfedező és nyitott végű | Alsóbb — szkriptelt és ismételhető |
| Eredmény | Hibapontok, tartománykorlátok, helyreállítási viselkedés | Megfelelt vagy nem felelt meg a specifikációnak |
Mit ellenőriznek a roncsolásos vizsgálat során?
A roncsolásos tesztelés a viselkedési határ mindkét oldalát vizsgálja:
- Megfelelő szoftver viselkedés
- Nem megfelelő szoftverműködés
- Nem megfelelő használat
- Helytelen bevitt adatok
- Megfelelő kimeneti adatok
A gyakorlat során két feltételnek kell teljesülnie:
- A szoftver soha nem dolgozhat fel vagy fogadhat el érvénytelen bemeneti adatokat.
- A bemeneti adatok érvényességétől vagy helyességétől függetlenül a szoftvernek mindig megfelelő kimeneti adatokat kell előállítania.
Hogyan végezzünk destruktív tesztet?
A destruktív tesztelés számos tevékenységet foglal magában, például tesztszkriptek tervezését, végrehajtását, hibák jelzését, javítását, valamint a sikeres vagy sikertelen tesztek metrikáinak biztosítását az érdekelt felek számára az iteráció végén.
Számos módja van a futtatásának. Néhány példa következik.
- Hibapont elemzési módszer: a rendszer áttekintése, amely felméri, hogy mi mehet rosszul a különböző pontokon. Segítség egy üzleti elemző figyelembe vehető ehhez a stratégiához.
- Tesztelői szakmai értékelés: szerezd meg teszt esetek egy olyan tesztelőtárs elemezte vagy ellenőrizte, aki kevésbé ismeri a rendszert vagy a funkciót.
- Tesztesetek üzleti áttekintése: A végfelhasználók vagy a szakértők gyakran gondolnak érvényes forgatókönyvekre, amelyeket a tesztelők nem vesznek észre, mivel a tesztelő a meghatározott követelményekre összpontosít.
- Végezzen feltáró vizsgálatokat futtatólapokkal: feltáró tesztelés A futtatási lapok rögzítik a tesztelt adatokat, lehetővé teszik a tesztek megismétlését és a tesztek lefedettségének ellenőrzését.
- Használjon másik forrást: Kérj meg valaki mást, hogy fejtse ki a szoftverterméket, és elemezze a talált forgatókönyveket.
Roncsolásos tesztelés példa
Vegyük például egy banki alkalmazás bejelentkezési és profilképernyőjét. Egy romboló hozzáférési jelszó az alábbi esetekben működne:
- Illesszen be egy 5,000 karakteres karakterláncot egy legfeljebb 50 karakterből álló mezőbe, és ellenőrizze, hogy a mező elutasítja-e ahelyett, hogy csendben csonkolná.
- Írjon be betűket, szimbólumokat és negatív értékeket egy numerikus összegmezőbe.
- Törje meg a várt sorrendet — nyissa meg közvetlenül a fizetést visszaigazoló oldalt az előző lépés elvégzése nélkül.
- Nyomja meg ismételten és gyors egymásutánban a Küldés gombot, hogy ellenőrizze, létrejönnek-e duplikált rekordok.
- Tranzakció közben bontsd a hálózati kapcsolatot, és ellenőrizd, hogy az alkalmazás hibátlanul helyreáll-e, vagy csak részleges rekordot hagy-e maga után.
Minden esethez tartozik egy meghatározott elvárás: egyértelmű validációs üzenet, adatvesztés és kezeletlen kivétel hiánya. Bármi más hibapont, amelyet érdemes hibaként jelezni.
Romboló vizsgálati módszerek
A szoftverfejlesztésben a következő módszereket alkalmazzák a destruktív tesztelési célok elérésére:
- Alfa/béta tesztelés
- Regressziós teszt
- Interfész tesztelése
- Egyenértékű particionálás
- Hurok tesztelése
- Elfogadási tesztelés és így tovább
Romboló vizsgálati technikák
Az alábbi technikák módosításokkal alkalmazhatók:
- Fehér doboz tesztelés
- Biztonsági tesztelés
- Hibavizsgálat
- Füstvizsgálat, stb
A robusztusság elérése érdekében érdemes hozzáadni a következő kapcsolódó technikákat: negatív teszt, stresszteszt, helyreállítási tesztelés és a fuzz tesztelés.
A roncsolásos tesztelés előnyei és hátrányai
A kompromisszumot érdemes világosan megfogalmazni, mielőtt a technikát kiadásra tervezik.
Előnyök
- Revolyan hibapontokat azonosít, amelyeket a specifikációvezérelt tesztelés soha nem ér el.
- Valós hatótávolság-korlátokat határoz meg, így a termék magabiztosan üzemeltethető azokon belül.
- Feltárja a ritka hibákat, amelyek a megjelenés után jóval a gyártás során kerülnek felszínre.
- Ellenőrzi a tartósságot, a helyreállíthatóságot és a hibakezelést visszaélés esetén.
Hátrányok
- Természeténél fogva nyitott, így a lefedettség nem garantálható vagy mérhető könnyen.
- Időigényes és a tesztelők tapasztalatától és kreativitásától függ.
- A megállapítások reprodukálása nehézkes lehet a felhasznált lépések gondos naplózása nélkül.
- A rosszul ellenőrzött futtatások károsíthatják a megosztott tesztadatokat, ezért izolált környezetre van szükség.

