TDD ja ATDD

sisältö
  1. Quality Assurance tasapainoinen
  2. testauksen automatisointi
  3. TDD ja ATDD
  4. johtopäätös
  5. lukea toisella puolella

Staattinen koodi-analyysi, kuten FindBugs usein, FXCop tai CheckStyle voidaan tarkistaa koodin vastaan ​​sovelluksesta riippumattoman vika. Paljastui poikkeuksia ilmeinen nollaosoittimen viittauksia ja käyttämätön koodi fragmentteja voidaan siis löytää tiettyjä. Yleensä ei kuitenkaan pitäisi olla rajoitettu staattinen koodin analysointi, mutta täydentää käyttötiedot pariohjelmointi. Tämä tiedon jakaminen on myös pitkään tukenut joukkue ja kollektiivinen Code Omistus sallii. Jos jokin ohjelmoija joukkueessa pystyy muuttamaan mitään muuta koodia, luo kokonaan uutta työskentelytapaa, koska ei enää Peters koodia ei enää nouse heti, mutta se on koodi kaikkien ryhmän jäsenten.

Kuten kaikki mittarit kuitenkin pitää mielessä, että kyse ei ole mitata yksittäisten suorituskykyä tiimin jäsenten tai käyttää esimerkiksi kattavuusmetriikan tavoitteeksi varten ohjelmistokehityksellä. Cem Kaner ja Walter P. Bond johtoon "Software Engineering Metrics - Mitä ne mittaavat ja mistä me tiedämme?" [3], että tällainen toiminta manipuloitavissa ja outsmarting mittareita tuloksia. Esimerkiksi yksikkö testaus voi luoda kohdennetusti siten, että prosenttiosuus kattavuus saavutetaan. Ne ovat sitten yleensä sitoutuu voimakkaasti sovelluslogiikkaa, joten on vaikea jälkikäteen muuttaa koodia rikkomatta testi. Sen sijaan, kirjoittajat esittävät investoimaan koulutukseen kehittäjien ja työskennellä heidän kanssaan suoraan koodiin.

Tarpeeksi ei riitä

Kun verkko automatisoituja testejä on sijoitettu pitkin jatkuvan integraatio, se on vain pieni askel testi-ajettu (TDD) kehittäminen. Tuotekehityksen alkaa pieni, ei ole testi: Suorittaa testi ei yhtä paljon tuotantoa koodi on kirjoitettu niin, että se voidaan onnistuneesti loppuun. Sen jälkeen, ovat redundanssia koodin vähentämään refaktoroinnin (Fig. 3). Useimmat joukkueet eivät ymmärrä, että tämä on myös testausautomaation ohjelmistokehityksen jos testi koodi on puhdas, koska muuten nopeasti ongelmana huono ylläpidettävissä testejä.

Jossa testivetoinen kehitys pitkällä aikavälillä ylläpidettävissä, testattu koodi on luotu (Fig. 3).Jossa testivetoinen kehitys pitkällä aikavälillä ylläpidettävissä, testattu koodi on luotu (Fig. 3).


Tämä lähestymistapa aluksi näyttää dogmaattinen vaan oppia testivetoinen kehitys, hän on tietoisesti valinnut tällä tavalla. Kun turvallisuus tapahtuu jonkin ajan tietyillä alueilla voivat myös yrittää toteuttaa suurempia summia. Pitäisi kuitenkin olla selvää, että liian suuri askel sisältyy riski juuttua, ja testi ei tule nopeasti takaisin vauhtiin. Jos näin käy, ongelma olisi jakaa pienempiin yksiköihin ja ratkaista näin.

Selityksessä esimerkkejä

Uusi suuntaus kehittää menetelmiä nykyisin kulkee kohti Acceptancetest-Driven kehitys (ATDD) ja käyttäytyminen-Driven kehitys (BDD). Sen ytimessä, BDD on yhdistys TDD, ATDD, domain-perustuva suunnittelu, Outside-kehityksessä ja käytössä kaikkialla läsnä kielen erittely työpajoissa luomia välineitä. Käytännössä ATDD valitettavasti sekoitetaan usein BDD.

ATDD on suunniteltu auttamaan oikeaa toimintojen kehittämiseksi (kuvio. 4).ATDD on suunniteltu auttamaan oikeaa toimintojen kehittämiseksi (kuvio. 4).

In ATDD (katso [4]). Se on toimenpide toteuttaa vaatimusten oikein mahdollista koodin (Fig. 4). Työ alkaa tästä aikaisin, vaikka todelliset vaatimukset määritellään. Edustajia kehitys- ja testiryhmän tulevat yhdessä asiakkaan ja tunnistaa hyväksymiskriteerit tulevia toimintoja (Fig. 5). Täällä, testaajat ja ohjelmoijat ([5] ks.) Yhteinen ymmärrys asiakkaan tarpeiden riittävän suurella tilaa erilaisille suunnittelupäätöksiin edelleen auki. Joten ohjelmoijat ja testaajat voivat löytää ratkaisu asiakkaan, jonka kanssa se voi olla tyytyväinen pitkällä aikavälillä.

Koko tiimi asiakkaita, ohjelmoijat ja testaajat pitäisi olla yhteinen käsitys toimintojen tuloksena on (Fig. 5).Koko tiimi asiakkaita, ohjelmoijat ja testaajat pitäisi olla yhteinen käsitys toimintojen tuloksena on (Fig. 5).


Perustuen yllä olevia hyväksymisehtoja, kehitystiimi aluksi työstää kuvailevia esimerkkejä ne ennen muuttoa toiminta kuitenkin edelleen tarkentaa. Esimerkkejä työnnä se lyhyesti ja tarkasti, mitä on tarkoitus saavuttaa toimintoja. Ne liikkuvat samalla tasolla liiketoiminnan vaatimukset ja sillä pitäisi olla mitään tekemistä toteutuksen yksityiskohdat, kuten aseman GUI elementtejä.

Rinnalla täytäntöönpanossa toiminnot joukkue sitten toimii automatisoida esimerkkeihin. Jotkut kehittäjät ryhmät ovat edes pystynyt yhdistämään liiketoiminnan logiikkaa liiketoimintamallien perustuu niiden domain koodia. Kirjallisuudessa puhutaan Outside-in Development: Kehitys ajetaan ulkoa sisälle. Tässä tapauksessa vain niin paljon domain koodia ja sovellus logiikka on suunniteltu ja kirjoitettu kuin on ehdottomasti tarpeen. Käytännössä on olemassa muutamia joukkueita, jotka ovat saavuttaneet tällaisen kypsyysasteen. Etuja tämän lähestymistavan, mutta ei pidä hylätä suoralta kädeltä: Voidaan ennen kehitystä ilmi, että ehdotettu sovellus suorittaa mitä he haluavat, niin joustavasti muuttuvia vaatimuksia pitkällä aikavälillä.

Yhteensä TDD ja ATDD muodostavat symbioosissa joka korkean voidaan saavuttaa Testausautomaation. Näin ollen on mahdollista ATDD pyyntö kansi lähes 100 prosenttia, kun taas TDD 100 prosenttia koodi laajentaminen on mahdollista. Yhdistetty TDD niin että koodin oli oikea, vaikka ATDD varmistaa, että se on oikea koodi.