Mi az a nem funkcionális tesztelés?
sobes.tech MI
Válasz az MI-től
Nem funkcionális tesztelés egy olyan szoftvertesztelési típus, amely a nem funkcionális követelmények ellenőrzésére irányul. Értékeli a rendszer jellemzőit, amelyek nem kapcsolódnak közvetlenül konkrét funkciókhoz, hanem inkább a "hogyan" működik a rendszer.
A nem funkcionális tesztelés fő céljai:
- Biztosítani, hogy a rendszer megfeleljen a felhasználók és az üzlet elvárásainak a teljesítmény, megbízhatóság, használhatóság és más szempontok tekintetében.
- Problémák azonosítása, amelyek befolyásolhatják a rendszer stabilitását, skálázhatóságát és biztonságát.
- Megerősíteni, hogy a rendszer megfelel a meghatározott szabványoknak és követelményeknek.
A nem funkcionális tesztelés típusai:
| Típus | Rövid leírás | Ellenőrzött jellemzők példái |
|---|---|---|
| Teljesítmény tesztelés | A rendszer sebességének, reakcióképességének, stabilitásának és skálázhatóságának értékelése terhelés alatt. | Válaszidő, átviteli képesség, CPU/memória használat. |
| Terheléses tesztelés | A rendszer viselkedése a várható csúcsterhelés alatt. | Egyszerre felhasználók száma, tranzakciók másodpercenként. |
| Stressz tesztelés | A rendszer viselkedése a vártnál magasabb terhelés vagy erőforrás hiány esetén. | A rendszer hibapontja, túlterhelés esetén viselkedés. |
| Stabilitási teszt (Endurance Testing) | A rendszer képessége hosszú távon terhelés alatt működni. | Memóriaszivárgás, teljesítmény romlása idővel. |
| Biztonsági tesztelés | A rendszer védelme külső és belső fenyegetésekkel szemben, jogosulatlan hozzáférés ellen. | SQL-injekciók, XSS támadások, hitelesítés, jogosultság. |
| Használhatósági teszt (Usability Testing) | Annak meghatározása, hogy mennyire könnyű és intuitív a rendszer használata a felhasználók számára. | Átlátható felület, könnyű navigáció, hozzáférhetőség. |
| Kompatibilitási teszt | A rendszer működése különböző környezetekben (böngészők, OS, eszközök). | Támogatás különböző böngésző- és OS-verziókhoz. |
| Megbízhatósági teszt (Reliability Testing) | A rendszer képessége hibák nélkül végrehajtani funkcióit egy adott időtartam alatt. | Átlagos meghibásodási idő (MTBF), meghibásodási valószínűség. |
| Hozzáférhetőségi teszt (Accessibility Testing) | A rendszer használhatósága fogyatékkal élő személyek számára. | WCAG szabványoknak való megfelelés. |
| Lokalisítás/Internacionalizációs teszt | A rendszer alkalmazkodása különböző nyelvekhez és regionális beállításokhoz. | Fordított szövegek, dátum/szám formátumok. |
A nem funkcionális tesztelést általában a szoftverfejlesztés korai szakaszaiban végzik, mint a funkcionális tesztelést, de a tervezés a követelmények meghatározásával kezdődik. Része lehet automatizált folyamatoknak, különösen a teljesítmény- és biztonsági tesztelés esetében.
A nem funkcionális teszteléshez eszközök:
- Teljesítmény: JMeter, LoadRunner, Gatling, k6.
- Biztonság: OWASP ZAP, Burp Suite, Acunetix.
- Kompatibilitás: BrowserStack, Sauce Labs.
- Használhatóság: UserTesting.com, szemmozgás-követő eszközök.
Egy példa a nem funkcionális tesztelés automatizálására egy oldal betöltési idejének ellenőrzésére szolgáló szkript:
import time
import requests
def measure_page_load_time(url):
"""
A megadott URL betöltési idejének mérése.
"""
start_time = time.time()
try:
response = requests.get(url)
response.raise_for_status() # HTTPError kiváltása rossz válaszok esetén (4xx vagy 5xx)
end_time = time.time()
load_time = end_time - start_time
print(f"{url} betöltési ideje: {load_time:.2f} másodperc")
return load_time
except requests.exceptions.RequestException as e:
print(f"Hiba a betöltés során {url}: {e}")
return None
# Példa a használatra
url_to_test = "https://www.example.com"
measure_page_load_time(url_to_test)
A nem funkcionális teszt eredményei gyakran jelentések, grafikonok és metrikák formájában jelennek meg, amelyek értékelik a rendszer jellemzőit és döntéseket hoznak a szükséges fejlesztésekről.