getting started with fitnesse collaboration tool
Acum lumea se mută la Agile. Feedbackul timpuriu și continuu este imperial pentru orice echipă scrum. Deoarece lumea se schimbă, mentalitatea testerilor trebuie, de asemenea, schimbată.
În loc să „găsească erori, să spargă software-ul, să măsoare cerința”, testerii se gândesc acum să „ofere calitatea, chiar la prima dată, să testeze fără interfața de utilizare sau să testeze chiar înainte ca interfața de utilizare să fie disponibilă”.
Testatorii sunt, de asemenea, acum obligați să răspundă la schimbări și, prin urmare, este important să ieșiți din tehnica de testare a cutiei negre și să nu așteptați până când se dezvoltă interfața de utilizare; în schimb, începeți să testați și livrabilele intermediare.
Ce veți învăța:
ios întrebări și răspunsuri la interviuri pentru pdf cu experiență
- Dar de ce?
- Ce este FitNesse?
- De ce ar trebui să folosesc FitNesse?
- Deci, ce pot crea?
- Descărcarea și configurarea FitNesse:
- Exemplu FitNesse - Lucrurile de testat:
- Scrierea testului în FitNesse:
- Câteva informații despre stilurile de fixare / masă:
- Recomandare:
- Concluzie
- Lectură recomandată
Dar de ce?
„ACUM ACESTA ESTE PERSPECTIVĂ FOARTE AGILĂ”.
Ori de câte ori construim software, cele mai scăzute straturi de teste sunt păstrate la nivelul unității / componentelor. Testele unitare sunt efectuate de echipa de dezvoltare. Aceste teste unitare sunt foarte mult orientate spre tehnologie și sunt scrise în cea mai mare parte în aceeași limbă în care este scris sistemul testat.
Aceste teste unitare sunt scrise cu „ Unitate X ”Instrument de testare. Spunem în lumea testării că dacă testul nostru unitar este solid , defectele sunt identificate mult mai devreme și testarea deasupra stratului de testare unitară devine ușoară într-un mediu stabil. Și când vorbim în Agile, spunem că, dacă o echipă stăpânește arta TDD (Test Driven Development), testele la nivel de unitate oferă cel mai rapid feedback.
Stratul de deasupra stratului de unitate / componentă este stratul de teste de acceptare care se desfășoară în afaceri. Acestea sunt teste funcționale care au o acoperire mai mare decât testele unitare și sunt cel mai adesea executate de non-dezvoltatori. Aceste teste testează stratul din spatele stratului de prezentare sau API-urilor. Aceste API-uri sau metode atunci când sunt testate oferă un feedback rapid și, până la dezvoltarea GUI, majoritatea funcționalităților sunt testate.
FitNesse este un exemplu al acestui strat de teste de acceptare automată.
Ce este FitNesse?
FitNesse este „Un wiki independent complet integrat și un cadru de testare a acceptării”. Este serverul web open source, wiki. Wiki- deoarece permite crearea propriilor pagini web pe care sunt create tabele de testare. Aceste tabele de testare nu sunt altceva decât date de testare .
Intenția sa este de a sprijini stilul agil de acceptare a cutiei negre și testarea de regresie. Este, de asemenea, un instrument de colaborare, deoarece testerii colaborează cu dezvoltatorii pentru a pregăti suita de testare.
De ce ar trebui să folosesc FitNesse?
Echipa de testare Agile poate folosi FitNesse pentru a pregăti costume de testare care vor testa metodele din cod. FitNesse este similar cu Junit într-un mod în care testează și metodele, dar este diferit de Junit, deoarece testele sunt sub formă de tabele simple care pot fi utilizate atât de dezvoltatori, cât și de non-dezvoltatori.
Beneficii:
- Feedback timpuriu, prin executarea testelor de acceptare automată de câte ori este necesar.
- Rezultatele testelor sunt deterministe, deoarece sunt evidențiate în roșu sau verde.
- Datele de testare pot fi proiectate pentru a se potrivi nevoilor de calitate.
- Testele sunt scrise într-un limbaj simplu și ușor de înțeles, deoarece sunt scrise în formă tabelară.
- Aceste tabele sunt definite în termeni de intrare și ieșiri preconizate.
- Vezi toate Caracteristicile FitNesse aici.
Deci, ce pot crea?
În FitNesse, puteți crea teste și suite. Termenii sunt foarte mulți aceiași folosiți în lumea testelor. Testele au un singur script, iar costumul este o colecție / grup de teste. Când creați un costum și îl executați, avantajul este că toate testele din acest costum sunt executate. Deci, aveți nevoie de o planificare adecvată pentru a vă aranja testele într-un costum.
Descărcarea și configurarea FitNesse:
=> Pentru a descărca FitNesse, Click aici
(Notă: Faceți clic pe orice imagine pentru vizualizare mărită)

Descărcați cea mai recentă versiune de fitnesse-standalone.jar și salvați-o pe unitatea dvs. locală.

Deschideți un prompt de comandă și executați fișierul jar. Pentru ușurință, am creat un fișier batch:

Odată ce fișierul jar este executat, FitNesse este pornit așa cum se arată mai jos: (faceți clic pe imagine pentru vizualizare mărită)

Pentru a deschide FitNesse, deschideți browserul și tastați: http: // localhost: . În acest caz, numărul portului este 2222.
Pagina primită este afișată mai jos: (faceți clic pe imagine pentru vizualizare mărită)

Deci, aici, dacă puteți vedea meniul derulant Teste, putem crea o „pagină Suite”, precum și o „pagină de testare”. Când creați o suită, toate scripturile de testare din suita respectivă vor fi executate.
În scopuri explicative, iau un exemplu de pagină de testare.
Exemplu FitNesse - Lucrurile de testat:
De acum, testăm un program simplu de calculator prezentat mai jos.
Iată codul în java, care are 4 metode:
- adăugare ()
- minus ()
- multiplica ()
- divide ()
(Vă rugăm să vedeți că FitNesse funcționează cu orice limbă la alegere. Pentru explicații, am folosit java)
Acest cod din lumea FitNesse se numește „Fixture”.
Dispozitivele nu sunt altceva decât codul eșantion - sau o legătură între FitNesse și aplicația testată. Deci, ori de câte ori dorim să testăm o metodă, trebuie să scriem un dispozitiv și acest dispozitiv va invoca și vom testa metoda.
Deci, codul „Fixture” pentru exemplul nostru este după cum urmează:
publicclass Calculator { privateint first,second; publicvoid setFirst(int first) { this.first=first; } publicvoid setSecond(int second) { this.second=second; } publicint addition() { return (first+second); } publicint minus() { return (first-second); } publicint multiply() { return (first*second); } publicfloatdivide() { return (first/second); } } Codul din eclipsă este afișat ca: (faceți clic pe imagine pentru vizualizare mărită)

Am avea nevoie de fișierul clasei, deci asigurați-vă că îl compilați.
Scrierea testului în FitNesse:
Pasul 1) Să ne întoarcem la browser, unde avem prima pagină FitNesse.
În prima pagină, faceți clic pe „Pagina de testare”, introduceți numele testului și faceți clic pe butonul „Salvați”. În cazul nostru, este „Calculator”

Pasul 2) În adresa URL, adăugați numele testului cu un punct „.” Operator.
Ca: http: // localhost: 2222 / FrontPage.Calculator

Pasul 3) Faceți clic pe butonul Editați și introduceți liniile afișate mai jos

Iată Liniile introduse:
! define TEST_SYSTEM {slim}
! cale F: Eclipse TestFitness bin
! | Calculator |
| primul | al doilea | adunare? | minus? | multiplica? | împarte? |
| 4 | 2 | 6 | 2 | 8 | 2.0 |
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
Să înțelegem rândurile pe rând.
la) Prima linie spune că FitNesse va folosi sistemul de testare SLIM.
( SUBŢIRE - Stabilește o metodă simplă de invocare a listei. Spunând sistemul de testare SLIM, toată procesarea tabelelor este realizată de FitNesse. SLIM are SLIM Runner și SLIM Executer. SLIM Runner împarte paginile de test în instrucțiuni simple și aceste instrucțiuni sunt transmise către SLIM Executer, care direcționează codul dispozitivului pentru a apela sistemul testat)
b) A doua linie definește locația fișierului de clasă. În acest caz, codul java este compilat și fișierul clasei este păstrat la locație “calea F: Eclipse TestFitness bin'
c) A treia linie indică numele clasei. În cazul nostruCalculator'
d) Acum vine a patra linie:
Primele două coloane| primul | al doilea |sunt parametrii sau intrările la metoda java.
Următoarele 4 coloane urmate de „?”adiție? | minus? | multiplicați | | împărțiți | | sunt metodele din clasa java. Aceste metode vor returna o valoare care ar fi comparată cu valorile așteptate.
este) Liniile:
| 4 | 2 | 6 | 2 | 8 | 2.0 |
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
Sunt cazurile de testare sau ar trebui să spun Date de testare pentru metoda noastră.
Prima linie:
| primul | al doilea | adunare? | minus? | multiplica? | împarte? |
| 4 | 2 | 6 | 2 | 8 | 2.0 |
Va lua 4 ca prim parametru și 2 ca al doilea parametru și va trece aceste două valori în metoda de adăugare a clasei java. Metoda se va executa și va returna o valoare. Această valoare returnată va fi comparată cu valoarea așteptată scrisă sub „adaos?” care este| 6 |
În mod similar, FitNesse va trece primii 2 parametri în minus? Metoda clasei java și returnează o valoare. Această valoare va fi comparată cu valoarea așteptată față de | 2 |
În același mod, înmulțiți? și împărțiți? va funcționa luând valorile primului și celui de-al doilea parametru și returnează valoarea comparată cu| 8 | 2.0 |respectiv
În mod similar, cele 2 rânduri de mai jos (sau ar trebui să spun cazurile de testare) sunt executate.
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
Pasul 4) După ce ați editat testele, faceți clic pe butonul de salvare și pagina dvs. va arăta astfel:

Pasul 5) Pentru a rula testele, faceți clic pe butonul Test și obținem rezultatul după cum urmează: (faceți clic pe imagine pentru vizualizare mărită)

Pentru primul rând (care este primul nostru caz de testare), culoarea verde evidențiază faptul că valorile, returnate din metoda adunare (), minus (), multiplicați () și împărțiți () se potrivesc cu ceea ce se așteaptă, adică 6, 2 , 8 și respectiv 2.0. În mod similar, pentru al doilea rând (care este al doilea caz de testare) toate valorile returnate din metode sunt potrivite.
Pasul 6) Acum, pentru a demonstra, permiteți-mi să schimb câteva dintre valorile așteptate cu alte valori (valorile sunt incorecte, dar am făcut-o în mod intenționat pentru explicații)
cel mai bun program pentru a converti fișiere video

De acum, am:
- Am modificat valoarea așteptată pentru adunare () pentru primul caz de testare să fie 7
- S-a modificat valoarea așteptată pentru minus () pentru al doilea caz de testare
- S-a modificat valoarea așteptată pentru divide () pentru al treilea caz de testare.
Pasul 7) Rulați testul făcând clic pe butonul „Test”. Testele de mai sus ar trebui să eșueze. (faceți clic pe imagine pentru vizualizare mărită)

Culoarea roșie evidențiază faptul că aceste teste nu au reușit.
Câteva informații despre stilurile de fixare / masă:
Am văzut că în FitNesse testele sunt executate executând rânduri într-un tabel. Prin urmare, pentru a executa diferite tipuri de teste (sau ar trebui să spun pentru a testa diferite tipuri de metode), ar trebui să folosim diferite tipuri de tabele. Folosim cel mai des stilurile de fixare / masă de mai jos:
- Dispozitiv de coloană - este cel mai utilizat (și este utilizat în exemplul de mai sus). Aici rândurile de date reprezintă diferite seturi de intrări și ieșirea așteptată a acestuia.
- Dispozitive de rând - Este folosit pentru testarea interogărilor care returnează un set de valori.
- Dispozitive de acțiune - Este folosit pentru a rula teste pentru o succesiune de evenimente. Aceste evenimente pot fi ca un clic pe un buton, verificarea valorilor
Recomandare:
Am încercat să demonstrez conceptele astfel încât să putem începe să explorăm mai multe pe FitNesse. De asemenea, mentalitatea testerului trebuie schimbată și extinsă. Trebuie să încetăm să ne restricționăm să privim în interiorul codului. Simt; în cele din urmă testăm codul, așa că de ce nu încercăm să vedem codul și să testăm acolo și acolo?
Începeți să vă accentuați abilitățile de programare și să puneți mai mult accent pe construirea logicii și mai degrabă pe învățarea sintaxei. Odată ce sunteți bine versat cu conceptele de programare și veți avea practică în implementarea acestuia, explorarea FitNesse va deveni mai ușoară.
Concluzie
Testarea în agilitate vine în 4 arome:
- Testare automată a unității - Prin utilizarea Junit
- Test automat de verificare a acceptării - Prin utilizarea FitNesse
- Teste automate UI / teste de regresie - utilizând Selenium sau QTP
- Testarea manuală
Ar trebui să încercăm să împingem maximum de testare în unitate și în stratul de acceptare . Până acum am încercat să păstrăm majoritatea testelor noastre pentru stratul UI folosind instrumente precum QTP și Selenium, dar dezavantajul este că aceste funcționalități nu au putut fi testate decât dacă UI este dezvoltat. Până când găsiți un defect, dezvoltatorii au trecut la o altă dezvoltare a caracteristicilor.
Pe de altă parte, dacă putem testa API-urile imediat după ce au fost scrise, dezvoltatorii o pot remedia instantaneu. Acest lucru ar duce și la un efort mai mic atunci când testăm GUI. Deoarece toate funcționalitățile sunt testate, testarea GUI devine ușoară.
Cu Agile, mentalitatea testerilor are nevoie, de asemenea, de o schimbare și trebuie să iasă din setul lor de testare de rutină, iar acum ar trebui să vă uitați la cod și să încercați să identificați defectele, chiar și interfața de utilizare nu este disponibilă.
Despre autor: Acesta este un articol invitat de Shilpa C. Roy, membru al echipei STH. Lucrează în domeniul testării software în ultimii 9+ ani în domenii precum publicitatea pe internet, Investment Banking și Telecom.
Spuneți-ne întrebările dvs. în comentariile de mai jos.
Lectură recomandată
- Dezvoltatorii nu sunt buni testeri. Ce spui?
- Instrument util gratuit de capturare a ecranului și de adnotare pentru testatori - qSnap Review
- Top 10 Cele mai populare instrumente de examinare a codului pentru dezvoltatori și testeri
- Revizuire WebLOAD - Noțiuni introductive despre instrumentul de testare a încărcării WebLOAD
- Top 15 instrumente de testare SOA pentru testeri
- Cum să păstrați motivația în viață în testerele de software?
- Revizuirea instrumentului de testare TestLodge
- Soft Skill for Testers: Cum să îmbunătățiți abilitățile de comunicare