BDD vs TDD vs ATDD: Tärkeimmät erot

Tämän ohjeartikkelin tarkoituksena on kuvata erilaisia testausmenetelmiä tai käytäntöjä, kuten käyttäytymiseen perustuva kehitys (BDD), testiohjattu kehitys (TDD) ), Hyväksymistestiohjattu kehitys (TDD). Se auttaa myös selvittämään näiden tekniikoiden keskeiset erot. Tämän artikkelin loppuun mennessä odotetaan ymmärtävän kunkin menetelmän toiminta, keskeiset erot ja niiden erityiset roolit kehitysprosessissa.

Aloitetaan ensin testausohjatusta kehityksestä.

Mikä on testausohjattu kehitys (TDD)?

Testiajattava kehitys on testausmenetelmä tai ohjelmointikäytäntö, joka toteutetaan kehittäjän näkökulmasta. Tässä tekniikassa laadunvarmistusinsinööri alkaa suunnitella ja kirjoittaa testitapauksia sovelluksen jokaiselle pienelle toiminnallisuudelle. Tällä tekniikalla yritetään vastata yksinkertaiseen kysymykseen – Onko koodi kelvollinen? Tämän tekniikan päätarkoitus on muokata tai kirjoittaa uutta koodia vasta, kun testi epäonnistuu. Siksi se johtaa vähempään päällekkäiseen testiohjelmaan. Tämä tekniikka on suurelta osin suosittu ketterissä kehitysekosysteemeissä. TDD-lähestymistavassa automaattiset testiskriptit kirjoitetaan ennen toiminnallisia koodikappaleita. TDD-metodologia sisältää seuraavat vaiheet:

  1. Asiakirjoissa määriteltyjen vaatimusten perusteella kehittäjä kirjoittaa automaattisen testitapauksen
  2. Nämä testit suoritetaan ja joissakin tapauksissa , ne epäonnistuvat, kun niitä kehitetään ennen varsinaisen ominaisuuden kehittämistä.
  3. Kehitystiimi muokkaaa sitten koodin testin läpäisemiseksi onnistuneesti. viittaa koodin muokkausprosessiin muuttamatta sen päätoimintoja tai käyttäytymistä.

    Testiohjatun kehityksen edut:

    • Auttaa vähentämään työstämiseen tarvittavaa aikaa
    • Auttaa tutkimaan virheitä tai virheitä hyvin nopeasti
    • Auttaa saamaan nopeamman palautteen
    • Kannustaa puhtaampien ja parempien mallien kehittämiseen
    • Parantaa ohjelmoijan tuottavuutta
    • Antaa kenen tahansa tiimin jäsenen alkaa työskennellä koodin parissa tietyn tiimin jäsenen poissa ollessa. Tämä kannustaa tiedon jakamiseen ja yhteistyöhön
    • Antaa ohjelmoijalle luottamuksen muuttaa sovelluksen suurta arkkitehtuuria helposti
    • Tuloksena on laaja, joustava ja helppo ylläpitää koodi.

    Ymmärretään nyt kaikki käyttäytymislähtöisestä kehityksestä.

    Mikä on käyttäytymisohjattu kehitys (BDD)?

    Liiketoimintalähtöinen kehitys on testausmenetelmä, joka on johdettu testipohjaisen kehityksen (TDD) metodologiasta. BDD: ssä testit perustuvat pääasiassa järjestelmien käyttäytymiseen. Tämä lähestymistapa määrittelee useita tapoja kehittää ominaisuus sen käyttäytymisen perusteella. Useimmissa tapauksissa Given-When-Then -menetelmää käytetään testitapausten kirjoittamiseen. Otetaan esimerkki ymmärryksen parantamiseksi:

    • Kun käyttäjä on syöttänyt kelvolliset kirjautumistiedot
    • Kun käyttäjä napsauttaa kirjautumispainiketta
    • Näytä sitten onnistunut vahvistusviesti

    Kuten yllä on esitetty, käyttäytymistä kuvataan hyvin yksinkertaisella englannin kielellä, joka tunnetaan myös nimellä jaettu kieli. Tämä auttaa kaikkia kehittämisestä vastaavassa tiimissä ymmärtämään ominaisuuksien käyttäytymistä.

    Voit esimerkiksi yrittää suorittaa helpon selainten välisen testin, joka perustuu ohjeisiin ja testata useilla laitteilla, kuten kuvassa video.

    Kokeile selaintestausta Real Device Cloud -palvelussa ilmaiseksi

    Käyttäytymiseen perustuvan tärkeimmät edut Kehitystapa:

    • auttaa tavoittamaan laajemman yleisön käyttämällä ei-teknistä kieltä
    • Keskity siihen, miten järjestelmän tulisi toimia asiakkaan ja kehittäjän näkökulmasta
    • BDD on kustannustehokas tekniikka
    • Vähentää ponnisteluja käyttöönoton jälkeisten vikojen varmentamiseksi

    Alla oleva kuva kuvaa tyypillistä BDD-operaatiota:

    Kuvalähde: Tutorialspoint

    Kuinka BDD auttaa SDLC: ssä?

    Kehityksen elinkaaren loppuvaiheessa olevien virheiden virheenkorjaus osoittautuu usein erittäin kalliiksi ive. Useimmissa tapauksissa vaatimusten ymmärtämisen epäselvyys on tämän taustalla. On varmistettava, että kaikki kehitystyöt pysyvät linjassa ennalta määritettyjen vaatimusten täyttämisen kanssa. BDD antaa kehittäjien tehdä yllä mainitut toimet:

    • sallimalla vaatimukset määritellä vakiomenetelmällä yksinkertaista englantia käyttäen
    • tarjoamalla useita tapoja havainnollistaa reaalimaailman skenaarioita ymmärtämiseksi vaatimukset
    • Tarjoamalla alustan, jonka avulla tekniset ja ei-tekniset tiimit voivat tehdä yhteistyötä ja ymmärtää vaatimukset

    Mikä on hyväksymistestiohjattu kehitys?

    Hyväksymistestiohjatun kehityksen (ATDD) tekniikassa kirjoitetaan yksi hyväksymistesti käyttäjän näkökulmasta.Se keskittyy pääasiassa järjestelmän toiminnallisen käyttäytymisen tyydyttämiseen. Tällä tekniikalla yritetään vastata kysymykseen – Toimiiko koodi odotetulla tavalla?

    Huomaa: Hyväksymistestiohjattu kehitys on hyvin samanlainen kuin käyttäytymisohjattu kehitys. Keskeinen ero niiden välillä on kuitenkin: BDD keskittyy enemmän ominaisuuden käyttäytymiseen, kun taas ATDD keskittyy tarkkojen vaatimusten sieppaamiseen.

    Tämä tekniikka parantaa kehittäjien, käyttäjien ja laadunvalvontaviranomaisten välistä yhteistyötä keskitettynä hyväksymiskriteerien määrittelemisestä. Seuraavassa on joitain tärkeimpiä käytäntöjä ATDD: ssä:

    • Analysoimalla ja keskustelemalla reaalimaailman skenaarioista
    • Päätös näiden skenaarioiden hyväksymiskriteereistä
    • Hyväksyntätestitapausten automatisointi
    • Keskityminen näiden vaatimustapausten kehittämiseen

    ATDD: n edut

    • Vaatimukset analysoidaan hyvin selkeästi ilman kaikki epäselvyydet
    • kannustaa ryhmien jäsenten väliseen yhteistyöhön
    • Hyväksyntätesti toimii oppaana koko kehitysprosessille

    Tärkeimmät erot: TDD vs BDD vs ATDD

    Parametrit TDD BDD ATDD
    Määritelmä TDD on kehitystekniikka, joka keskittyy enemmän ominaisuuden toteuttamiseen BDD on kehitystekniikka, joka keskittyy järjestelmän käyttäytymiseen ATDD on tekniikka, joka muistuttaa BDD: tä ja keskittyy enemmän vaatimusten keräämiseen
    Osallistujat Kehittäjä Kehittäjät, asiakas, laadunvalvonta kehittäjät, asiakkaat, laadunvarmistus
    Käytetty kieli Kirjoitettu kielellä, joka on samanlainen kuin ominaisuuden kehittämiseen käytetty kieli (esim. Java, Python jne.) Yksinkertainen englanti, (Gherkin) Yksinkertainen englanti, Kurkku
    Pääkohde Yksikkötestit Vaatimusten ymmärtäminen Hyväksyntätestien kirjoittaminen
    Käytetyt työkalut JDave, Kurkku , JBehave, Spec Flow, BeanSpec, Gherkin Concordian, FitNesse Kurkku, Dave, Kurkku, JBehave, Spec Flow, BeanSpec, Concordian TestNG, FitNesse, EasyB, Spectacular, Concordian, Thucydides

    Näiden menetelmien ymmärtäminen voi auttaa kehittäjiä ja muita ohjelmistoon osallistuvia henkilöitä selvittää mikä strategia toimii parhaiten heidän tarkoitustaan varten. Projektin tyypistä ja saavutettavista tuloksista riippuen oikea menetelmä (tai jopa yhdistelmä menetelmiä) voidaan ottaa käyttöön vastaamaan erityisvaatimuksia tehokkaimmalla tavalla.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *