Pozitív tesztelés és negatív tesztelés példákkal
⚡ Okos összefoglaló
A pozitív és negatív tesztelés együttesen dönti el, hogy a szoftver elfogadja-e azt, amit el kellene fogadnia, és elutasítja-e azt, amit nem. Ez a cikk mindkét megközelítést ismerteti, a mögöttük álló technikákat, a gyakorlati példákat és azokat a gyakorlatokat, amelyek alacsonyan tartják a hibaszivárgást.

A szoftvertesztelés egy szoftveralkalmazás ellenőrzésének és validálásának folyamata annak megállapítására, hogy az a várt módon működik-e. A cél a hibák felkutatása és a termékminőség javítása. A szoftverek tesztelésének két módja van, nevezetesen a pozitív tesztelés és a negatív tesztelés.
A két megközelítés ellentétes kérdésekre ad választ: működik-e az alkalmazás, ha minden jól megy, és stabil marad-e, ha valami rosszul sül el?
Mi a pozitív teszt?
Pozitív tesztelés egy olyan tesztelési típus, amelyet egy szoftveralkalmazáson hajtanak végre érvényes adathalmazok bemenetként való megadásával. Azt ellenőrzi, hogy a szoftveralkalmazás a várt módon viselkedik-e pozitív bemenetek esetén vagy sem.
A pozitív tesztelés célja annak ellenőrzése, hogy a szoftveralkalmazás pontosan azt teszi-e, amit elvárnak tőle. Ezért boldogút tesztelésnek is nevezik.
Vegyük például az alább látható numerikus szövegdobozt.
Az alkalmazásokban van egy szövegdoboz, amely csak számokat tud fogadni. A 99999-ig terjedő értékek bevitelét a rendszer elfogadja, és ezen kívül semmilyen más érték nem elfogadható. Pozitív teszteléshez állítsa be az érvényes bemeneti értékeket 0 és 99999 között, és ellenőrizze, hogy a rendszer elfogadja-e az értékeket.
Mi az a negatív teszt?
Negatív tesztelés egy tesztelési módszer, amelyet érvénytelen vagy helytelen adathalmazok bemenetként történő megadásával hajtanak végre a szoftveralkalmazáson. Azt ellenőrzi, hogy a szoftveralkalmazás a várt módon viselkedik-e negatív vagy nem kívánt felhasználói bemenetekkel.
A negatív tesztelés célja annak biztosítása, hogy a szoftveralkalmazás ne omoljon össze, és érvénytelen adatbevitel esetén is stabil maradjon. Ezért hibaútvonal-tesztelésnek vagy hibatesztelésnek is nevezik.
Például vegyük ugyanazt a mezőt, amely karaktereket fogad számjegyek helyett.
Negatív tesztelés hajtható végre A-tól Z-ig vagy a-tól z-ig karakterek beírásával. A szoftverrendszer vagy nem fogadja el az értékeket, vagy hibaüzenetet küld ezekre az érvénytelen adatbevitelekre.
Mindkét típusú vizsgálatnál a következőket kell figyelembe venni:
- Beviteli adat
- Egy művelet, amelyet végre kell hajtani
- Kimeneti eredmény
Pozitív teszt vs. negatív teszt: Főbb különbségek
Mindkét megközelítés ugyanazt a közös pontot képviseli próbaper szerkezet. A különbség a megadott bemeneti adatokban és abban rejlik, hogy mit bizonyít egy átmeneti eredmény.
| Vizsgált paraméter | Pozitív tesztelés | Negatív tesztelés |
|---|---|---|
| Más néven | Boldog út tesztelés | Hibaút vagy hiba tesztelése |
| Felhasznált bemenet | Érvényes, várt adatok | Érvénytelen, szélsőséges vagy váratlan adatok |
| Cél | Győződjön meg arról, hogy a funkció azt teszi, amit kell | Erősítsd meg, hogy a funkció visszautasítja azt, amit nem kellene |
| Várható eredmény | A folyamat sikeresen befejeződik | Egyértelmű hiba jelenik meg, és a rendszer stabil marad |
| Hibakezelés | Nem a fókuszban | A teljes fókusz |
| Lefedettség | Keskeny, a specifikációnak megfelelően | Széleskörű, mindent feltár, ami túlmutat a specifikáción |
| Tipikus kockázat kihagyás esetén | A főbb jellemzők hibásan szállítottak | Összeomlások és biztonsági réseket tapasztalhatunk az éles környezetben is |
A sikertelen pozitív teszt hibás működést jelez. A sikertelen negatív teszt hiányzó védőburkolatot jelez, amelynek javítása sokkal költségesebb, ha a felhasználók megtalálták.
Pozitív és negatív teszteléshez használt tesztelési technikák
A gyakorlatban két klasszikus bemeneti tervezési technika generál pozitív és negatív eseteket ugyanazon követelményből:
- Határérték-elemzés
- Egyenértékű particionálás
Határérték-elemzés
Ez az egyik olyan szoftvertesztelési technika, amelyben a tesztesetek úgy vannak megtervezve, hogy a határértékeken szerepeljenek. Ha a bemeneti adatokat a határértékeken belül használják fel, akkor azt pozitív tesztelésnek nevezzük. Ha a bemeneti adatokat a határérték határain kívül választják ki, akkor azt negatív tesztelésnek nevezik.
Például tekintse meg az alább látható elfogadott tartományt.
A rendszer 0 és 10 közötti számértékeket képes elfogadni. Az összes többi szám érvénytelen érték. Ezzel a technikával a -1,0,1 és 9,10,11 határértékeket tesztelik.
Egyenértékű particionálás
Ez egy szoftver tesztelés technika, amely a bemeneti adatokat több partícióra osztja. Minden partíció értékeit legalább egyszer tesztelni kell. Az érvényes értékekkel rendelkező partíciókat a rendszer a pozitív teszteléshez használja. Míg az érvénytelen értékű partíciókat negatív teszteléshez használják.
Például tanulmányozza az alább látható két partíciót.
A nullától tízig terjedő numerikus értékek két (vagy három) partícióra oszthatók. Esetünkben két partíciónk van: -10-től -1-ig és 0-tól 10-ig. Mindkét részből vehetünk mintaértékeket (5 és -5) a forgatókönyvek teszteléséhez. Lásd a ekvivalencia-particionálás és határérték-analízis lecke további kidolgozott példákért.
Hogyan végezzünk pozitív és negatív teszteket?
A következő sorozat az egyik követelményt pozitív és negatív esetek kiegyensúlyozott halmazává alakítja.
- Olvasd el a korlátokra vonatkozó követelményeket. Jegyezzen fel minden elfogadott formátumot, tartományt és kötelező mezőt. Amit a specifikáció megenged, az pozitív esetnek, amit kizár, az negatívnak minősül.
- Először a pozitív esetet írd le. Adjon meg érvényes adatokat, hajtsa végre a műveletet, és rögzítse a várható siker eredményét alapértékként.
- Ugyanezen határértékekből származtassa a negatív eseteket. Határérték-analízis és ekvivalencia-particionálás segítségével üres mezőket, helytelen adattípusokat és tartományon kívüli számokat hozhat létre.
- Ellenséges bemenet hozzáadása. Tartalmaz SQL injektálás karakterláncok, lejárt tokenek és hibásan formázott API-adatok biztonsági tesztelés a rések korán felszínre kerülnek.
- Kiterjeszd a nem funkcionális ellenőrzésekre. A terhelési teszt a támogatott felhasználók száma pozitív, míg a stressz teszt ezen a határon túl található az egyező negatív eset.
- Válassza ki, hogy az egyes esetek hol futnak. Tartsd távol a negatív eseteket füst- és egészségvizsgálat, amelyek gyors pozitív kapuk, és funkcionálisan és regressziós teszt ciklusokat.
Egy ATM-es készpénzfelvétel mutatja a párosítást. A pozitív esetben helyes PIN-kódot és érvényes összeget ad meg, így készpénz és nyugta következik. A negatív esetben rossz PIN-kódot ad meg, és elutasító üzenetet vár, majd kártyablokkolást.
Bevált gyakorlatok az egyensúly megőrzéséhez
- Írj legalább két esetet követelményenként, egy pozitívat és egy negatívat, mielőtt elkezdődik a fejlesztés.
- A negatív eseteket hatás szerint rangsorolja, hogy a befecskendezési és fizetési hibák megelőzzék a kozmetikai beviteli hibákat.
- Magát a hibaüzenetet is állítsd, ne csak azt, hogy a művelet sikertelen volt, mert a homályos üzenetek is hibák.
- Hagyj helyet a feltáró tesztelés, és naplózza a megállapításokat a hibakezelési folyamat.
⚠️ Figyelmeztetés: Soha ne futtass negatív eseteket éles környezetben. Ezek a hibák kikényszerítésére szolgálnak, és egy szándékos összeomlás valódi felhasználókat és valódi adatokat érint.

.png)



.png)
.png)
.png)