Modern fejlesztési folyamatok és minőségbiztosítás
Egyed Dániel
Nyomd a Space-t vagy a nyilakat a navigációhoz
Egy folyamat, melynek célja a szoftver megfelelőségének és minőségének vizsgálata. Nem csupán hibakeresés, hanem kockázatkezelés is.
A modern agilis fejlesztésben a tesztelés nem egy külön fázis a végén, hanem folyamatos tevékenység.
A tesztelést a folyamat elejére toljuk. Ha a specifikációban találunk hibát, az 10-100x olcsóbb, mintha az éles üzemben derülne ki.
Belső kód ismerete nélkül, a funkcionalitást teszteljük (bemenet -> kimenet).
A kód belső logikájának ismeretében tesztelünk (lefedettség, elágazások).
Részleges kód/adatbázis ismerettel végzett tesztelés.
A manuális teszt elengedhetetlen a használhatósághoz (UX), az automatizált pedig a regressziós tesztekhez (hogy ne romoljon el a régi kód).
def osszead(a, b):
return a + b
def test_osszead():
# Elvárt eredmény: 5
assert osszead(2, 3) == 5
# Hiba esetén a teszt elbukik
assert osszead(-1, 1) == 0
Jira, Bugzilla, GitHub Issues, Azure DevOps
Folyamat-központú. Megelőzi a hibákat a fejlesztési folyamat optimalizálásával.
Termék-központú. Megtalálja és jelenti a hibákat a kész vagy készülő kódban.
A tesztelés tehát a QA egyik eszköze, nem pedig a szinonimája.
A szoftvertesztelés nem negatív értelemben "muszáj", hanem a fenntartható fejlesztés alapja.