BDD vs TDD vs ATDD: Főbb különbségek
Ez az útmutató a különböző vizsgálati módszerek vagy gyakorlatok leírására irányul, mint például a viselkedésvezérelt fejlesztés (BDD), a tesztvezérelt fejlesztés (TDD) ), Elfogadási teszt-vezérelt fejlesztés (TDD). Ez segíteni fog ezen technikák közötti legfontosabb különbségek tisztázásában is. A cikk végére elvárható, hogy megértsük az egyes módszerek működését, a legfontosabb különbségeket és azok szerepét a fejlesztési folyamatban.
Először kezdjük a teszt-vezérelt fejlesztéssel.
Mi a tesztvezérelt fejlesztés (TDD)?
A tesztvezérelt fejlesztés tesztelési módszertan vagy programozási gyakorlat, amelyet a fejlesztő szemszögéből valósítanak meg. Ebben a technikában egy minőségbiztosítási mérnök teszteseteket tervez és ír az alkalmazás minden apró funkciójához. Ez a technika megkísérli megválaszolni egy egyszerű kérdést – Érvényes-e a kód? Ennek a technikának az a fő célja, hogy csak akkor módosítson vagy írjon új kódot, ha a teszt nem sikerül. Ezért a teszt szkriptek kisebb duplikációját eredményezi. Ez a technika nagyrészt népszerű az agilis fejlődési ökoszisztémákban. TDD megközelítésben az automatizált tesztparancsokat a funkcionális kóddarabok elé írják. A TDD módszertan a következő lépéseket tartalmazza:
- A dokumentumokban meghatározott követelmények alapján a fejlesztő automatizált tesztesetet ír
- Ezeket a teszteket végrehajtják, és egyes esetekben , kudarcot vallanak, mivel egy tényleges szolgáltatás kifejlesztése előtt fejlesztették ki őket.
- A fejlesztői csapat ezt követően újrategorizálja a teszt kódját a sikeres átadáshoz.
a kód módosításának folyamatára utal anélkül, hogy megváltoztatnák a fő funkcióit vagy viselkedését.
A tesztvezérelt fejlesztés előnyei:
- Segít csökkenteni az átdolgozáshoz szükséges időt
- Nagyon gyorsan segít felfedezni a hibákat vagy hibákat
- Segít a gyorsabb visszajelzésben
- ösztönzi a tisztább és jobb kivitel kialakítását
- Fokozza a programozó termelékenységét
- Lehetővé teszi a csapattagok számára, hogy egy adott csapattag hiányában elkezdhessék a kód kidolgozását. Ez ösztönzi a tudásmegosztást és az együttműködést
- Bizakodást ad a programozónak az alkalmazás nagy architektúrájának egyszerű megváltoztatásához
- Kiterjedt, rugalmas és könnyen karbantartható kód létrehozását eredményezi
Most értsünk meg mindent a viselkedés-vezérelt fejlesztésről.
Mi a viselkedés-vezérelt fejlődés (BDD)?
Üzleti-vezérelt fejlesztés (BDD) a teszt-vezérelt fejlesztés (TDD) módszertanából származó tesztelési megközelítés. A BDD-ben a tesztek főleg a rendszer viselkedésén alapulnak. Ez a megközelítés különféle módszereket határoz meg egy tulajdonság fejlesztésére annak viselkedése alapján. A legtöbb esetben a Given-When-Then megközelítést használják a tesztesetek megírásához. Vegyünk egy példát a jobb megértés érdekében:
- Ha a felhasználó érvényes bejelentkezési adatokat adott meg
- Amikor a felhasználó rákattint a bejelentkezési gombra
- Ezután jelenítse meg a sikeres érvényesítési üzenet
Amint a fentiekből látható, a viselkedést egy nagyon egyszerű angol nyelven, más néven megosztott nyelvként szemléltetjük. Ez segít a fejlesztésért felelős csapatban mindenkinek a funkció viselkedésének megértésében.
Például megpróbálhat egy egyszerű, böngészőkön átívelő tesztet futtatni utasítások alapján, hogy teszteljen több eszközön, amint az videó.
Próbálja ki a Böngésző tesztelését a valós eszköz felhőjén ingyen
A viselkedés által vezérelt legfontosabb előnyök Fejlesztési megközelítés:
- Nem széleskörű nyelvhasználattal segíti a szélesebb közönség elérését.
- Arra összpontosít, hogy a rendszer hogyan viselkedjen az ügyfél és a fejlesztő szemszögéből
- A BDD költséghatékony technika
- Csökkenti a telepítés utáni hibák ellenőrzéséhez szükséges erőfeszítéseket
Az alábbi kép egy tipikus BDD műveletet ábrázol:
Kép forrása: Tutorialspoint
Hogyan segít a BDD az SDLC-ben?
A fejlesztési életciklus utolsó szakaszainak hibáinak elhárítása gyakran nagyon költségesnek bizonyul ive. Az esetek többségében a követelmények megértésének kétértelműsége a kiváltó oka. Biztosítani kell, hogy minden fejlesztési erőfeszítés összhangban maradjon az előre meghatározott követelmények teljesítésével. A BDD lehetővé teszi a fejlesztők számára a fentiek megtételét az alábbiak szerint: követelmények
Mi az az elfogadás teszt által vezérelt fejlesztés?
Az Acceptance Test-Driven Development (ATDD) technikában egyetlen elfogadási tesztet írnak a felhasználó szemszögéből.Főleg a rendszer funkcionális viselkedésének kielégítésére összpontosít. Ez a technika megkísérli megválaszolni a kérdést – A kód a várakozásoknak megfelelően működik?
Ez a technika fokozza a fejlesztők, a felhasználók és a minőségbiztosítók közötti együttműködést, közös fókusszal. az elfogadási kritériumok meghatározásáról. Az alábbiakban bemutatunk néhány kulcsfontosságú gyakorlatot az ATDD-ben:
- A valós forgatókönyvek elemzése és megvitatása
- Az ilyen forgatókönyvek elfogadási kritériumainak meghatározása
- Az elfogadási tesztesetek automatizálása
- Összpontosítás ezeknek a követelményeseteknek a fejlesztésére
Az ATDD előnyei
- A követelményeket nagyon világosan elemzik anélkül, hogy bármilyen kétértelműség
- ösztönzi az együttműködést a csoportok közötti tagok között
- Az elfogadási teszt útmutatóként szolgál az egész fejlesztési folyamathoz
Főbb különbségek: TDD vs BDD vs ATDD
Paraméterek | TDD | BDD | ATDD |
Definíció | A TDD olyan fejlesztési technika, amely jobban összpontosít egy szolgáltatás megvalósítására | A BDD a rendszer viselkedésére összpontosító fejlesztési technika | Az ATDD a BDD-hez hasonló technika, amely inkább a követelmények megragadására koncentrál |
Résztvevők | Fejlesztő | Fejlesztők, Ügyfél, Minőségbiztosítások | Fejlesztők, Ügyfelek, Minőségbiztosítások |
Használt nyelv | A funkciók fejlesztéséhez használt nyelvhez hasonló nyelven íródott (pl. Java, Python stb.) | Egyszerű angol, (Gherkin) | Egyszerű angol, Gherkin |
Fő fókusz | Egységtesztek | A követelmények megértése | Írás elfogadási tesztek |
Használt eszközök | JDave, Uborka , JBehave, Spec Flow, BeanSpec, Gherkin Concordian, FitNesse | Uborka, Dave, Uborka, JBehave, Spec Flow, BeanSpec, Concordian | TestNG, FitNesse, EasyB, Spectacular, Concordian, Thucydides |
Ezeknek a módszereknek a megértése segíthet a fejlesztőknek és a szoftverben részt vevő más egyéneknek kitalálni, melyik stratégia működik a legjobban a céljuk teljesítéséhez. A projekt fajtájától és az elérni kívánt eredményektől függően a megfelelő módszer (vagy akár a módszerek keveréke) telepíthető a specifikus követelmények leghatékonyabb kielégítésére.