A viselkedés-vezérelt fejlesztés alapjai a tesztelésben
Mindenki szereti a saját útját járni, de a fejlesztésben hasznos lehet néhány irányadó elv ismerete, melyek a saját céged szoftverfejlesztési életciklusában is hasznodra válhat.
A komunikációs csatornák megnyitása és a különböző csapatok egy irányba állítása jelenti a zökkenőmentes termékkiadást. Ezen túlmenően, mivel ezek a csapatok a fejlesztési folyamatban balra tolódnak a folyamatokat is az aktuális munkafolyamatokhoz kell igazítanunk.
Tekintsünk meg egy olyan módszert, amely egyre népszerűbb és nézzük meg, hogyan segíti ez a csapatokat magas minőségű szoftvert készíteni.
Mi az a BDD?
Az utóbbi időben egyre többet lehet hallani a Viselkedés-Vezérelt Fejlesztésről (Behavior-Driven Development) vagy röviden BDD-ről. A BDD a TDD (Test-Driven Development, vagyis Teszt-Vezérelt Fejlesztés) kiterjesztése ahol a user-story-kon van a hangsúly és a kódolás valós problémákra ad megoldást.
Ez azt jelenti, hogy a PM (Product Manager) egy víziót ad, majd a fejlesztőnek meg kell határoznia azokat a viselkedéseket, amelyekkel el tudja érni a kitűzött üzleti célokat. Ezután jön a tesztelő, aki ellenőrzi, hogy az új funkció megfelel-e az adott üzleti célokra.
Például, ha az ügyfél vagy a PM azt mondja, hogy a kutatások szerint az alkalmazást nagyon sok idős felhasználó használja és szükség van arra, hogy számukra elérhetőbbé, könnyebbé tegyük az alkalmazást, akkor a BDD modellben a fejlesztőnek azt kell megvizsgálnia, hogy ezen viselkedés miatt mely funkciókat kell megváltoztatnia – akár úgy, hogy nagyobb betűtípust, vagy könnyebben kattintható elemeket épít be.
A BDD-vel nagyrészt képesek leszünk meghatározni, hogy a különböző viselkedések mennyire jelentősek az alkalmazásban és a kulcsszereplők közti kommunikációval pontosan azonosíthatjuk a helyes megoldásokat és javításokat.
A BDD nagy hangsúlyt fektet a csapat együttműködésére és a kereszt-funkcionális munkafolyamatokra. A sikeres BDD szerves részét képezi annak biztosítása, hogy a felhasználói történetek és a viselkedések az üzleti oldalról eljussanak a technikai oldalra.
Tesztelés és BDD
A TDD-hez hasonlóan a BDD is azt mondja, hogy először írjuk meg a teszteket, ami jó magas tesztlefedettséget fog eredményezni. A BDD-ben felhalmozunk jópár elfogadási tesztet, mely azt jelenti, hogy a csapatok, akik BDD-ben dolgoznak egyben tesztautomatizálást és CI/CD eszközöket is használnak. Amíg a tesztautomatizálás helytelen értelmezése a tesztelői munkából ered, addig a BDD gondolkodásmódja nagyban támogatja a tesztelők fontosságát az SDLC-ben. A tesztelőknek nemcsak meg kell győződniük, hogy a kód működik, hanem figyelnük kell azokat a problémákat is, amelyeket megold. BDD-ben tesztelni azt jelenti, hogy a funkcionalitás mellett a kívánt viselkedések alkalmazásba építését is ellenőrizzük. Ahelyett, hogy csak arra gondolnának, hogy egy bizonyos funkció működik-e vagy sem, a tesztelőknek érteniük kell a felhasznált forgatókönyv kontextusát.
Cucumber
A Cucumber egy olyan nyílt forráskódú eszköz, amely támogatja a BDD-t. Nem beszélve arról, hogy az első 3 éve alatt elért 5 millió letöltést, így elég népszerű választás a tesztelők körében.
A Gherkin szintaktikán keresztül egyszerű angollal le tudjuk írni az applikáció viselkedését, ezen keresztül tudnak a projektben résztvevő munkatársak is kommunikálni, hogy az alkalmazásnak hogyan kell működnie, hogyan kell reagálnia valamire, illetve milyen viselkedés mintákat definiáltunk és miért.
Habár a Gherkin versikék az alkalmazás kódjában vannak, bárki el tudja olvasni és meg tudja érteni őket. Ez azzal a szándékkal van így, hogy mindenki számára egyértelmű legyen minden egyes lépés a fejlesztési folyamatban.
Azzal, hogy segíti az információáramlást az SDLC minden szintjén, bárki nagyon egyszerűen észreveheti, hol vett helytelen fordulatot az alkalmazás fejlesztése, és könnyen meghatározhatják azokat az elemeket, amiket módosítani kell.
A BDD mögötti nagy ötlet
Ez a BDD nagyon egyszerű bemutatása volt. Ha többet akarsz tanulni a BDD-ről, vagy a Cucumber-ről, akkor hallgasd meg az alábbi SmartBear-es meetupot ITT.
Ha már hallottál a BDD előnyeiről, de nem tudod, hogyan kezdj neki a bevezetésének, akkor ez a felvétel mindenképp hasznodra válhat.
A Cucumber társtulajdonosa Seb Rose lesz a vezetőd abban, hogy megértsd, hol álltok a csapatoddal és a BDD milyen előnyeit tudjátok kihasználni, hogy jobbá tegyétek a fejlesztési folyamatotokat.
Forrás: https://crossbrowsertesting.com/blog/development/what-is-bdd-cucumber/
A szerző
- Alex tartalommarketing specialista a CrossBrowserTesting-nél és folyamatosan arra törekszik, hogy a tervezés, fejlesztés és tesztelés témakörökben információkkal lássa el a közösséget, úgy mint az Abstracta, DZone, vagy a Ministry of Testing. Különösen szeret írni a legújabb technológiai innovációkról, és örökké #TeamiPhone.