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:

  1. A dokumentumokban meghatározott követelmények alapján a fejlesztő automatizált tesztesetet ír
  2. 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.
  3. 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

  • Olyan platform biztosítása, amely lehetővé teszi a technikai és nem technikai csapatok számára az együttműködést és a követelmények megértését.
  • 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?

    Megjegyzés: Az elfogadás-teszt által vezérelt fejlesztés nagyon hasonlít a viselkedés-vezérelt fejlesztésre. Azonban egy fő különbség van közöttük: A BDD inkább a szolgáltatás viselkedésére, míg az ATDD a pontos követelmények befogadására összpontosít.

    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.

    Vélemény, hozzászólás?

    Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük