what is thread testing software testing
Acest tutorial explică ce este testarea firului, când și cum să îl efectuați, tipurile de testare pe fire și provocările cu care se confruntă:
Testarea firelor este o tehnică de testare software utilizată pentru a testa aplicațiile bazate pe serverul clientului.
Testarea bazată pe fire trebuie efectuată în etapele inițiale ale testării integrării, astfel încât funcțiile cheie să poată fi testate / verificate pentru o anumită activitate / program sau fir.
Ce veți învăța:
- De ce testarea firului
- Când și cum se efectuează testarea firelor
- Tipuri de testare bazată pe fire
- Diferența dintre fir și procese
- Diferența dintre testarea bazată pe fire și cea bazată pe utilizatori
- Concluzie
De ce testarea firului
Când componentele sunt integrate, este necesar să verificați dacă sistemul va funcționa așa cum era de așteptat sau nu și toate tranzacțiile s-ar întâmpla conform cerințelor sau nu. Astfel, testarea bazată pe fire vine să testeze la fel.
Această testare se realizează prin integrarea progresivă a firelor la toate nivelurile începând de la subsistem la sistemul complet, adică întregul sistem. Toate activitățile sistemului avansează numai cu firele.
Definirea firului ajută la partajarea testerelor de fundal funcțional și detalii de execuție a firului între dezvoltatori și dezvoltatori.
Despre fire
Un fir este fluxul de control într-un proces. Este cea mai mică sarcină a sistemului care poate fi rulată.
dezvoltare software programe de ciclu de viață pdf
Exemplu
Un browser web poate avea unul sau mai multe fire care rulează și anume. un fir pentru a afișa imagini și text și un alt fir pentru a prelua date. În anumite cazuri, trebuie să fie necesară o singură aplicație pentru a deservi toate procesele.
Crearea multi-thread-urilor este cea mai bună soluție pentru același lucru, altfel mai multe cereri vor fi trimise la server de către client și va dura mult timp pentru a confirma solicitările pe rând. Multi-thread vă va ajuta să răspundeți simultan solicitărilor.
Când și cum se efectuează testarea firelor
Ar trebui să se facă în etapa inițială a testării integrării sistemului.
Testarea integrării se realizează prin integrarea diferitelor module într-un mod planificat. Planul de integrare este urmat pentru același lucru care specifică ordinea în care modulele vor fi integrate pentru a face sistemul complet.
Mai jos sunt enumerate tehnicile pentru executarea testării integrării:
- Abordarea Big-Bang
- Abordare de sus în jos
- Abordarea de jos în sus
- Abordare mixtă
Să vedem fiecare tehnică în detaliu.
# 1) Abordarea Big-Bang
Abordarea big bang este utilizată doar pentru sistemele mici, deoarece toate modulele sunt integrate și testate într-o singură încercare.
Orice problemă găsită în timpul acestei abordări este dificil de localizat, deoarece problema poate proveni din oricare dintre modulele integrate. Prin urmare, problemele de depanare găsite sunt foarte scumpe de rezolvat în această abordare.
# 2) Abordare de sus în jos
Abordarea de sus în jos se face folosind butoane, adică odată ce modulul de nivel superior a fost testat, subrutinele imediate sunt integrate și testate.
Stuburile sunt programele care simulează efectul rutinelor de nivel inferior și sunt apelate de rutinele testate. Testarea firelor utilizează o abordare de sus în jos.
# 3) Abordare de jos în sus
În abordarea ascendentă, toate subsistemele sunt testate individual, iar apoi sistemul complet este testat. Motivul pentru care se testează separat toate subsistemele este acela de a testa interfața dintre toate modulele care fac parte din subsistem.
Această tehnică necesită drivere de test, adică programul care apelează celelalte module și oferă aceeași ieșire ca produsul real.
# 4) Testarea integrării mixte
Această tehnică este o combinație atât a abordărilor de sus în jos, cât și de jos în sus. Prin urmare, se numește testare integrată mixtă.
Puncte cheie pentru efectuarea testării bazate pe fire
- În timpul efectuării testării firelor, firele sau funcționalitățile mici sunt integrate și testate. Testarea efectuată este testarea incrementală la nivel de subsistem și apoi ca sistem complet.
- În etapa inițială însăși, testerii de integrare au o idee bună și cunoștințe pentru ce să testeze în continuare.
- Testerii de integrare trebuie să aplice și să execute scenarii atât pozitive, cât și negative numai în limitele firului. Ei trebuie să decidă asupra unei abordări de testare a firelor care trebuie urmată pentru a acoperi cazuri excepționale și cazuri limită.
- Definiția firului furnizată de dezvoltator testerului ajută la testarea firului în mod corespunzător de către testerii integratorului. Orice informații suplimentare solicitate de tester pot primi răspuns în procesul de revizuire a firului.
- Procesele thread funcționează mai degrabă pentru procesele de integrare decât pentru procesul de dezvoltare cap la cap.
- Pentru a testa funcționalitatea multi-thread, lăsați ca instanțele multiple ale aplicației sau programului de testat să fie active în același timp.
- Rulați programul multi-thread pe diferite hardware.
- Testarea firelor este o formă de testare a sesiunii pentru care sesiunile sunt formate din fire. Nu este necesar ca un fir format să fie o sesiune.
Tipuri de testare bazată pe fire
Se efectuează două tipuri de teste pe bază de fire:
- Testarea firului unic
- Testare multi-thread
# 1) Testarea unui singur fir
Testarea unui singur fir testează o tranzacție pe rând. Timpul de așteptare pentru ca clientul să primească un răspuns la solicitarea acestuia ar putea fi puțin mai mare, deoarece va putea să deservească sau să răspundă la un singur client la un moment dat.
Această testare îl ajută pe tester să înțeleagă și să testeze logica programului sau a codului scris.
# 2) Testare multi-thread
Testarea multi-thread testează mai multe tranzacții active în același timp. În acest caz, sunt create fire separate pentru solicitările clientului. Ori de câte ori se face o cerere, se creează un fir pentru serviciu sau răspunde la cerere.
O tranzacție care a funcționat bine în testarea cu un singur fir poate eșua în timpul testării în mai multe fire și, de asemenea, poate interfera cu alte fire și funcționalități și le poate opri să funcționeze așa cum era de așteptat.
Este mai bună o abordare multi-thread decât o abordare single thread?
Aplicațiile multi-thread sunt mai bune decât cele single-thread, deoarece îmbunătățesc performanțele aplicației. Multi-threading permite o serie de resurse să lucreze la o problemă / cerere în același timp.
cum se implementează graficul în java
Provocări în timpul efectuării testării bazate pe fire
În timp ce efectuează teste bazate pe fire, testerul se confruntă cu mai multe provocări care au impact asupra performanței, timpului și costului testării.
- Scrierea cazurilor de testare a unităților pentru cod multi-thread este dificilă.
- Când se efectuează testarea cu mai multe fire pe hardware diferit, aceasta variază în funcție de dimensiune, capacitatea de stocare, memorie, probleme etc.
- Scenariile de testare atât pentru fir unic cât și pentru mai multe fire sunt diferite.
- În testarea cu mai multe fire, trebuie programate teste reproductibile pentru testele unitare.
Avantajele / Dezavantajele Multi-Threading
Multi-threading are multe avantaje, precum și dezavantaje. În calitate de tester, știind același lucru îi ajută să testeze și să întrerupă procesul de testare în consecință.
Avantaje
- Multi-threading crește capacitatea de răspuns la utilizator. Aplicația poate lăsa programul să ruleze chiar dacă o parte a aplicației este blocată.
- Partajarea resurselor este un alt avantaj, deoarece firele împărtășesc resursele procesului cu care sunt legate sau de care aparțin.
- Crearea de fire este economică deoarece împarte resursele la care aparțin.
Dezavantaje
- Proces complex de testare
- Rezultatele sunt foarte imprevizibile.
- Scrierea unui program devine mai dificilă.
- Apariția impasului.
Ce este impasul
Când se face multi-threading, thread-ul intră într-o stare de așteptare dacă resursa nu este disponibilă.
Este posibil ca starea de așteptare să nu se schimbe pentru fir, deoarece resursa solicitată este deținută de alte fire de așteptare. Când apare o astfel de situație, se numește Bloc.
Diferența dintre fir și procese
Să înțelegem diferențele dintre fir și procese:
S. Nu | Fir | Proces |
---|---|---|
7 | Firele nu pot fi împărțite în continuare. | Procesele pot avea mai multe fire. |
1 | Firul este un proces ușor. | Procesul este un proces greu. |
Două | Dacă firul serverului este blocat, un al doilea fir al aceleiași sarcini poate rula și finaliza procesul. | Dacă procesul serverului este blocat, alte procese nu pot rula până când procesul serverului blocat nu este blocat. |
3 | Firele nu se izolează, împărtășesc memoria. | Procesul este izolat. |
4 | Crearea de fire, comutarea contextului, terminarea durează mai puțin timp în fir. | Crearea de fire, schimbarea contextului, terminarea necesită mai mult timp în procese. |
5 | Firul se referă la sarcina specifică a unui proces. | Procesul se referă la executarea oricărui program. |
6 | Resursele utilizate sunt foarte puține în fir. | Resursele utilizate în procese sunt mai multe. |
Diferența dintre testarea bazată pe fire și cea bazată pe utilizatori
S.Nr. | Testare pe fire | Testare bazată pe utilizare |
---|---|---|
1 | Firele sunt integrate și testate individual. | Testarea începe cu clase care nu sunt dependente unele de altele, adică sunt independente. |
Două | Testarea de regresie este efectuată pentru a ne asigura că nimic nu va fi afectat. | Odată ce se efectuează testarea claselor independente, atunci sunt testate clasele dependente. Dependenții sunt cei care depind de clasele independente. Această serie continuă până la momentul în care sistemul complet este construit. |
3 | Testarea bazată pe fire integrează clasele care sunt esențiale pentru a recunoaște intrarea sau evenimentul sistemului. | Testarea bazei de utilizare integrează clasele care sunt esențiale pentru a răspunde sau a recunoaște cazul de utilizare. |
întrebări frecvente
Q # 1) Ce este testarea firelor?
Răspuns: Testarea bazată pe fire este o metodologie care se efectuează în faza incipientă a testării integrării. Subiectele sau programele sunt integrate și testate incremental într-un subsistem și apoi ca întreg sistem.
Q # 2) Ce testare se face mai întâi?
Răspuns : De obicei, testele de jos în sus se fac mai întâi și apoi se efectuează teste de sus în jos.
Î. 3) Ce este testarea de sus în jos?
Răspuns: Top-down este o tehnică de testare a integrării în care testarea se face utilizând stub-uri, adică atunci când componentele de nivel inferior nu sunt încă pregătite pentru a testa integrarea, stub-uri (module temporare) sunt create pentru a obține aceeași ieșire ca și în cazul modulelor reale.
Concluzie
Testarea integrării bazate pe fire joacă un rol important în testarea funcționalităților majore sau a sarcinii sau a firului specific. Această metodologie este cea mai bună pentru arhitectura bazată pe serverul clientului.
În timp ce efectuează testarea firelor, testerul trebuie să facă față multor provocări, totuși are și multe avantaje, ceea ce îl face ușor și fiabil de efectuat. Le-a permis testerilor să testeze toate tranzacțiile și să verifice dacă funcționează conform așteptărilor și conform cerințelor.
Este imposibil să testați toate tranzacțiile / evenimentele pentru a finaliza testarea firelor, din care cauză este împărțită în tipuri simple și multiple.
Lectură recomandată
- Alegerea testării software ca carieră
- Câteva întrebări interesante despre testarea software-ului
- Testarea software-ului este o sarcină emoțională?
- Java sincronizat: Ce este sincronizarea firului în Java
- Fire Java cu metode și ciclu de viață
- Multithreading în C ++ cu exemple
- Multithreading în Java - Tutorial cu exemple
- Thread.Sleep () - Metoda Thread Sleep () în Java cu exemple