Cum de a începe să scrie teste pentru 10 etapele de 10 minute

Lasă-mă să ghicesc: sunteți de acord că testele de scris - este bine. Acest lucru crește fiabilitatea sistemului, accelerează dezvoltarea, cu proiectul de acoperire test bun pentru a sprijini ușor și plăcut, și TDD - este vorba despre procesul de dezvoltare ideală. Dar aveți în proiect. Adică, e rece, dar, din păcate, acum atât de mult de lucru - un blocaj. O grămadă de sarcini singur bug-uri critice - cele două duzină, plus are nevoie urgentă de a termina acest modul, și chiar a scrie o scrisoare către client, astfel încât ... testele, probabil vor fi înșurubată la sfârșitul anului, în cazul în care rămâne timp. Sau în proiectul următor. Nu, ei bine, nu doar va fi mai ușor. Cel mai probabil.







Cum să cunoască situația?

Cum de a începe să scrie teste pentru 10 etapele de 10 minute
Deci, - toate aceste prostii. Este - infinit ca universul, o mulțime de muncă va fi întotdeauna. Puteți începe să fie scris teste chiar acum, sau nu o fac niciodată. Am notat un plan scurt de modul în care să-l face în 10 etape, în conformitate cu etapa a zi, la 10 minute pe etapă. Și când spun „10 minute“, nu mă refer la „3 ore și jumătate“ și nu „bine, cât de mult timp, mai mult este mai bine“, și anume, 600 de secunde. Dacă nu aveți o zi de timp liber 600 secunde - schimba rapid de proiect, de locuri de muncă, profesia, țara de reședință (subliniere), deoarece nu este viața și munca grea unii. Să mergem.

1. Selectați un cadru pentru testare
2. scriere Bună ziua lume!

Scrie Bună ziua, lume! ne-o bucată de tort. De exemplu, în C ++.

Și acum fac două lucruri.
În primul rând, transporta generarea de text de ieșire în funcții separate. Da, doi. Acest lucru este de a se asigura că acestea pot fi apoi testate.

Bună ziua lume! după refactoring

În al doilea rând, vom prezenta funcția undeva în scris fișierul. În funcție de abordarea și limba în care este folosită poate fi cu ușurință fișiere de cod separate sau bibliotecă. Acest lucru este de a se asigura că aceste funcții sunt apoi apelate din testele.
Vom fi după cum urmează:

3. Cadrul Conectați-vă la Salut lume!
4. Investigat cu posibilitățile cadrului

Mai întâi trebuie să aflăm:

  • Cum se scrie un test de unitate
  • Cum de a rula teste unitare

Aceste întrebări sunt, de obicei, a răspuns la toate din același articol, am vorbit despre mai sus. Nu merge direct în pustietatea cadrului. Începeți cu teste simple care verifică lucrurile simple. Asta ar fi ca în sport - nu rupe doar o mulțime de greutate, aveți nevoie pentru a pune mai întâi tehnica potrivita.

Aici, de exemplu, un cuplu de teste pentru lumea noastră Buna ziua! pe test Google menționată mai sus:

5. Prindere la proiectul de cadru

Noi deja știm cum să se conecteze cadrul proiectului. Nu uitați să faceți №3 pas? Totul sa dovedit. Acum, să o facem pentru combaterea proiectului. Pune toate fișierele necesare în conformitate cu cadrul prezent SVNGitTFSchego-la-te-acolo. Efectuarea unui proiect de testare. Conectarea la cadru l. Întoarceți ansamblul proiectului de testare în procesul de asamblare produs. Verificați ansamblul în configurațiile de depanare și de eliberare. proiect de testare Komitnite începe de asamblare de pe serverul construi. Totul ar trebui să fie în regulă. Nu supraîncărcați colegii dumneavoastră până la apariția proiectului de testare - în primul rând, nu a rupt nimic, și în al doilea rând, să-și arate la tine, de asemenea, nu este nimic.

6. Testarea pentru ceva simplu






De altfel, a fost în acest stadiu foarte des vine scepticilor de iluminare. Dintr-o dată se dovedește că testul cel mai simplu pe funcționalitatea cea mai de bază - sa prăbușit dintr-o dată. Ne urcăm în codul - și găsi dintr-o dată ceva de genul

Și se pare că codul de bază, pur și simplu solicită această funcție până când astfel de argumente, că totul a fost ok, dar, în orice moment, s-ar putea schimba.

7. Testarea ceva mai complicat
8. Scrierea testului pentru bug-ul

Ca de obicei, nu funcționează pe un bug? Tu o iei de la bugtracker, încercați să joace, dacă nu se poate - întoarce tester în cazul în care se dovedește, sunt depanare pentru înțelegerea locației sale, găsi o bucată de cod cu eroarea, fix, de testare, dau tester. Excelent. Acum, încercați la locul de muncă pe următorul bug-ul între etapele „găsi vina“ și „corectează“ pentru a adăuga încă un pas - a scrie un test pentru această eroare. O astfel că el a căzut la codul curent. Acesta este un fior imens, stabilește codul - și nu pentru a merge pentru a testa mâinile, și să înceapă să cadă urmă cu câteva minute de încercare și a vedea „de succes“ la ieșirea sa. În afară de plăcerea estetică, acest test poate fi dat testerul și de a folosi ulterior pentru testarea de regresie (și mai mult - pentru testarea ramurile laterale de produs, proiectul „in domeniu“, etc.). Desigur, nu toate și nu întotdeauna posibil pentru a testa, poate fi greu cu UI, un cross-browser, multi-threading. Nu te obosi dacă scrierea de test vă va lua multe, multe ore. În cele din urmă, deoarece tehnologia este proiectat pentru a face viața mai ușoară, nu pentru a face dans pentru a regla lor.

9. Prima dată TDD

Ca de obicei, munca se uită la dezvoltarea de noi funcționalități? Probabil, crezi că mai întâi. Apoi, proiectarea ceea ce faci - Spread-urile nume de interfață, clase, și apoi numele metodelor, umple punerea lor în aplicare, care rulează, depanare. Ok, nu este necesar să se schimbe aproape nimic. Doar în acel moment, atunci când aveți deja interfețe, clase și nume de metode, dar nu au fost încă să le pună în aplicare - scrie teste pentru ei. Modest - numita metodă - verificarea rezultatelor. Observați modul în care chiar și în această etapă veți observa lipsă de logică a unor nume, lipsa sau exces argumente în metode inutile sau dependențele care lipsesc, etc. În acest acum în timp ce este corect - aproape lipsite de valoare (pentru că punerea în aplicare nu a fost încă scris). Arhitectura Tweaked, terminat de scris teste lansate - a văzut o grămadă de teste eșuate. Ok, deci ar trebui să fie. Am scris o punere în aplicare a începe testul - a văzut cele mai multe dintre ele nu au reușit să corecteze greșeala, a făcut o finalizarea cu succes a tuturor testelor - excelent, se face. Te simți la fel de bine a fost ceea ce satisfacție morală ai? Este oarecum amintește de distractiv de a obține unele achivki în joc. Și de ce? Și, pentru că poate fi măsurat! „Codul trece de 18 teste cu acoperire de testare de 90%“ - „Ei bine, ar dori o caracteristică este pusă în aplicare, am înțepat un pic, se pare, nu se încadrează“ sună mai rece, mult mai rece decât, Acesta oferă dreptul de a fi mândri. Mergând acasă - și să înțeleagă în mod clar că într-o zi face un util, acest „ceva“ este măsurabil, tangibil, reale.

10. înșurubate care rulează teste pentru CI-server

Testele fac prea mult sens, cu excepția cazului în care sunt executați. le executa manual - o lungă și inutilă. Cu siguranță aveți un server construi cu unele TeamCity sau CruiseControl, care va produsul. Deci, cele mai multe dintre bune servere construi dintr-o dată, în afara suportului caseta de teste de funcționare, chiar și analiza jurnalele lor și pictat rapoarte frumoase. Respectarea că, desigur, nu „toate compatibile cu toate“, dar dacă ați luat un cadru de testare pentru sfaturi de la începutul articolului - șansele ca acesta va lucra este foarte mare. De exemplu, am menționat, și prietenii TeamCity Google mare test cu unul pe altul.

postfață

cititor atent poate observa că elemente variind de oriunde de-a șaptea-a opta nu este de natură să se potrivească într-o declarație intitulată „10 minute cu pas.“ Ce pot să spun? Luați în considerare faptul că eu nu sunt o persoană bună, ești un pic tocat. Cu toate acestea, dacă practici cu indignare dreaptă a trecut aceste elemente, atunci:

  1. Ai un proiect care testele sunt înșurubate. Ei au început să lucreze, există mai mult de zero și ei vă aduc deja o favoare.
  2. Ai de a experimenta peste tot acest caz.
  3. A doua oară când ajunge serios în curând.

Aici și să decidă a meritat sau nu.

puncte Undeva după 8 - un moment bun pentru a introduce un proiect de test pentru echipa ta. Explicați în 2-3 paragrafe ce și cum, arată un exemplu de un test simplu, rețineți că, să zicem, «nu ezitați să adăugați propriile teste», dar nu în special prese lungi. Dacă scrieți testele a fost luată, cel mai probabil, prima impresie va fi un scepticism prudent și neînțelegere. Se tratează rapid după a doua și a treia menționată în cadrul reuniunii că, spun ei, „și am găsit bug-ul prin aluat“ sau „și de aici test scris și știm imediat dacă se va rupe din nou.“ Programatoare - oamenii sunt raționale, ei înțeleg și se potrivesc.