A példa szerinti specifikáció (SBE) egy együttműködésen alapuló megközelítés a szoftvertermékek követelményeinek és üzletorientált funkcionális tesztjeinek meghatározására a követelmények rögzítése és szemléltetése alapján, absztrakt állítások helyett valósághű példákon keresztül. Alkalmazása az agilis szoftverfejlesztési módszerek, különösen a viselkedésvezérelt fejlesztés keretében történik. Ez a megközelítés különösen sikeres a követelmények és a funkcionális tesztek menedzselésében jelentős területi és szervezeti komplexitású, nagyszabású projekteknél.

A példa szerinti specifikáció más néven példavezérelt fejlesztés, végrehajtható követelmények, átvételi tesztvezérelt fejlesztés (ATDD vagy A-TDD), Agile Acceptance Testing, Test-Driven Requirements (TDR).

Előnyök Az erősen elvont vagy újszerű új fogalmakat konkrét példák nélkül nehéz megérteni. példán keresztül történő specifikáció célja a pontos megértés kialakítása, és jelentősen csökkenti a visszacsatolási hurkokat a szoftverfejlesztésben, ami kevesebb utómunkálathoz, jobb termékminőséghez, a szoftverváltoztatások gyorsabb átfutási idejéhez és a szoftverben részt vevő különböző szerepek tevékenységeinek jobb összehangolásához vezet. fejlesztők, például tesztelők, elemzők és fejlesztők.

A példák az igazság egyetlen forrásaként A példákkal történő specifikáció kulcsfontosságú szempontja, hogy egyetlen igazságforrást hozzon létre a szükséges változtatásokról minden szempontból. Amikor az üzleti elemzők saját dokumentumaikon dolgoznak, a szoftverfejlesztők saját dokumentációjukat, a tesztelők pedig külön funkcionális teszteket tartanak fenn, a szoftverszállítás hatékonysága jelentősen csökken, mivel folyamatosan koordinálni és szinkronizálni kell az igazság különböző változatait. Rövid iteratív ciklusok esetén az ilyen koordináció gyakran heti vagy kéthetente szükséges. A Specification by példa segítségével különböző szerepek vesznek részt az igazság egyetlen forrásának létrehozásában, amely mindenki megértését megragadja. A példák az egyértelműség és a pontosság biztosítására szolgálnak, így ugyanaz az információ használható specifikációként és üzleti célú funkcionális tesztként is. A fejlesztés vagy szállítás során felfedezett minden további információ, mint például a funkcionális hiányosságok tisztázása, hiányzó vagy hiányos követelmények vagy további tesztek, hozzáadódik ehhez az egyetlen igazságforráshoz. Mivel a funkcionalitásról egyetlen igazságforrás van, nincs szükség a tudás koordinációjára, fordítására és értelmezésére a szállítási cikluson belül.

A szükséges változtatásokra alkalmazva a kifinomult példakészlet gyakorlatilag specifikációt és üzletorientált tesztet jelent a szoftverfunkciók elfogadásához. A változtatás végrehajtása után a példákat tartalmazó specifikáció a meglévő funkcionalitást magyarázó dokumentummá válik. Mivel az ilyen dokumentumok érvényesítése automatizált, gyakran érvényesítve az ilyen dokumentumok megbízható információforrást jelentenek az alapul szolgáló szoftverek üzleti funkcióiról. Az ilyen dokumentumok és a tipikus nyomtatott dokumentációk megkülönböztetésére, amelyek gyorsan elavulnak, a példákkal ellátott specifikációk teljes készletét Living Documentation néven nevezzük.

Kulcsgyakorlatok A specifikációt példa alapján sikeresen alkalmazó csapatok általában a következő folyamatmintákat alkalmazzák:

A hatókör levezetése a célokból Együttműködően történő meghatározás – az egész csapatra kiterjedő specifikációs workshopokon, kisebb megbeszéléseken vagy telekonferencia áttekintéseken keresztül Követelmények szemléltetése példákon keresztül Specifikációk finomítása Tesztek automatizálása példák alapján Az alapul szolgáló szoftver gyakori ellenőrzése a tesztek segítségével Dokumentációs rendszer fejlesztése specifikációkból példákkal a jövőbeli fejlesztés támogatása érdekében

Azok a szoftvercsapatok, amelyek a specifikációt példán keresztül alkalmazzák a Scrum keretrendszeren belül, általában idejük 5–10%-át a termékhátralék finomításával töltik, beleértve az együttműködésen alapuló specifikációt, a követelmények példák segítségével történő illusztrálását és a példák finomítását.

Példa leképezés A példaleképezés egy egyszerű technika, amely képes irányítani a beszélgetést, és rövid időn belül elfogadási feltételeket határoz meg. A folyamat a történeteket szabályokra és példákra bontja, amelyeket példánként specifikáció formájában dokumentálnak, és széles körben használt technika a BDD szférában.

Alkalmazhatóság A példa szerinti specifikáció azokra a projektekre vonatkozik, amelyek szervezeti és tartományi összetettsége kellően bonyolult ahhoz, hogy problémákat okozzon a követelmények megértésében vagy kommunikációjában az üzleti terület szempontjából. Nem vonatkozik tisztán technikai problémákra, vagy ahol a kulcsfontosságú összetettség nem a tudás megértésében vagy közlésében rejlik. Ennek a megközelítésnek vannak dokumentált alkalmazásai olyan területeken, mint a befektetési banki szolgáltatások, a pénzügyi kereskedés, a biztosítás, a repülőjegy-foglalás, az online szerencsejáték és az ár-összehasonlítás. Hasonló megközelítést dokumentál egy atomerőművi szimulációs projekt is.

A megosztott példákon alapuló tesztek a legjobban azon tesztek kategóriájába illeszkednek, amelyek célja egy csapat támogatása, miközben üzleti szempontból szoftvereket szállítanak (lásd: Agilis tesztelési kvadránsok) – biztosítva a megfelelő termék elkészítését. Nem helyettesítik azokat a teszteket, amelyek egy szoftverrendszert pusztán technikai szempontból vizsgálnak (azokat, amelyek értékelik, hogy egy termék megfelelő módon épül-e fel, például egységtesztek, komponens- vagy műszaki integrációs tesztek), vagy azokat a teszteket, amelyek értékelik a terméket a fejlesztés után. (például biztonsági behatolási tesztek).

Történet A valósághű példák legkorábbi dokumentált felhasználása az igazság, a követelmények és az automatizált tesztek egyetlen forrásaként szoftverprojektekben a WyCash+ projekt, amelyet Ward Cunningham ír le az A Pattern Language of Competitive Development című cikkében 1996-ban. A Specification by Example elnevezést Martin Fowler találta ki 2004-ben.

A Példával történő specifikáció az Extreme Programming 1997 körül javasolt Customer Test gyakorlatának és a 2004-es tartományvezérelt tervezésből származó Ubiquitous Language ötletnek az evolúciója, amely a fekete doboz tesztek ötletét használja Weinberg és Gause által leírt követelményekként. 1989-ben.

Automatizálás A specifikáció sikeres példán keresztüli alkalmazása nagyszabású projekteken a szoftver funkcionalitásának gyakori ellenőrzését igényli számos példa (teszt) alapján. A gyakorlatban ehhez a példákon alapuló tesztek automatizálására van szükség. Egy általános megközelítés a tesztek automatizálása, de a példák olvasható és hozzáférhető formában maradnak a nem műszaki és műszaki csapattagok számára, így a példák az igazság egyetlen forrása. Ezt a folyamatot a tesztautomatizálási eszközök egy osztálya támogatja, amelyek két szempontra - a specifikációra és az automatizálási rétegre - osztott tesztekkel dolgoznak. Egy teszt specifikációja, amely gyakran egyszerű szöveg vagy HTML formátumban van, és tartalmazza a példákat és a kiegészítő leírásokat. Az automatizálási réteg összekapcsolja a példát egy tesztelt szoftverrendszerrel. Példák az ilyen eszközökre:

Behat Concordion Cucumber FitNesse Framework for integrated test (Fit) Robot Framework SpecFlow for .NET Gauge (szoftver)

Hivatkozások

Fordítás

További információk Google vitacsoport Könyvek, videók, eszközök és prezentációk a Specificationbyexample.com webhelyről Definíció Martin Fowler blikijén

Kategória:Szoftvertesztelés Kategória:Szoftverfejlesztési módszertanok