Ce sunt TDD și ATDD?

În acest articol, evidențiem asemănările și diferențele dintre două metode populare de testare cunoscute sub numele de TDD și ATDD.

TDD înseamnă dezvoltare bazată pe teste, în timp ce ATDD înseamnă dezvoltare bazată pe teste de acceptare. Înțelegerea modului în care funcționează aceste două abordări de testare este esențială pentru profesioniștii din domeniul testării, iar această postare va fi o introducere pentru a vă ajuta să începeți să le descoperiți pe amândouă. Veți înțelege TDD vs ATDD.

Ce este Test-Driven Development (TDD)?

TDD este un sistem de dezvoltare a software-ului care urmează principiile Extreme Programming (XP), însă în timp s-a transformat într-o tehnică independentă de dezvoltare software.

În TDD, testarea unitară este efectuată direct pe codul sursă.

În primul rând, testerul scrie un caz de testare automată care definește funcția dorită pe care sistemul ar trebui să o îndeplinească în mod ideal, dar proiectează în mod intenționat cazul de testare în așa fel încât acesta să nu poată fi îndeplinit de sistem în starea sa actuală.

În al doilea rând, dezvoltatorul va lua notițe cu privire la motivele pentru care sistemul nu a satisfăcut testul și scrie codul necesar pentru a refactoriza sistemul și a-i permite să îl treacă la a doua încercare. Acest proces este rezumat în graficul de mai jos.

Dezvoltare bazată pe teste

Procesul TDD continuă în această manieră, zigzagând între eșec și succes, astfel încât fiecare iterație împinge sistemul până la limitele sale și apoi îl ajută să le depășească prin feedback-ul generat.

TDD este un experiment de eșec voluntar și este nevoie de mult curaj pentru a te obișnui cu această tehnică contra-intuitivă. Cu toate acestea, odată ce o veți face, veți fi recompensat cu o metodă simplă, dar foarte eficientă pentru a combate teama de eșec în timpul testării, îmbunătățind în același timp munca pe care o faceți.

Ce este Acceptance Test-Driven Development (ATDD)?

ATDD este o metodă colaborativă de testare care forțează toate persoanele implicate în crearea de software nou (de ex.ex. testeri, dezvoltatori și utilizatori) să definească în echipă criteriile de acceptare pe care sistemul trebuie să le îndeplinească în primele etape de dezvoltare.

Scopul acestei etape este de a se asigura că toate aceste părți interesate sunt de acord cu principalele obiective ale proiectului, în special în ceea ce privește funcționalitatea la care se poate aștepta utilizatorul final. În timpul acestei faze a ATDD, tehnici precum user personas și user stories pot fi foarte utile.

Când testele de acceptare sunt în cele din urmă rulate pe sistem, eșecurile sunt notate, iar dezvoltatorii vor refactoriza apoi componentele defectuoase prin scrierea codului necesar pentru a satisface criteriile de acceptare la următoarea încercare.

Acest proces se desfășoară iterativ, de obicei la sfârșitul fiecărui sprint, până când produsul final este gata pentru implementare. Graficul de mai jos explică acest lucru.

Dezvoltare bazată pe teste de acceptare

ATDD oferă echipei o viziune mai clară asupra modului în care va funcționa produsul final, permițând tuturor să rămână concentrați pe obiectivele pe termen lung, mai degrabă decât să se piardă în linii individuale de cod.

În rezumat

Acum aveți o bună înțelegere a diferențelor de bază dintre TDD și ATDD. Aceste două metode de testare sunt strâns legate între ele, însă ATDD include, de asemenea, testarea acceptării în proces și acordă mai multă importanță colaborării în echipă decât TDD.

Ambele abordări se potrivesc foarte bine cu principiile agile, deoarece ambele încurajează colectarea de feedback pentru a construi pe baza greșelilor anterioare. Pe măsură ce refactorizați continuu sistemul și abordați problemele cu care v-ați confruntat în încercarea anterioară, aceste metode vă ajută să dezvoltați un produs final mai valoros într-o manieră incrementală.

Alăturați-vă celor peste 60.000 de abonați

Pentru cele mai recente bloguri, actualizări din industrie și sfaturi exclusive.

*E-mailul dvs. este în siguranță cu noi, de asemenea, urâm spam-ul

.

Leave a Reply