Documente Academic
Documente Profesional
Documente Cultură
Este un proces de executie a unui program sau aplicatie cu intentia de a gasi orice malfunctionare de
sistem.
Nu putem testa totul, aici vorbim de testarea exaustiva care inseamna testarea tururor, inclusiv a tuturor
combinatiilor de intrări și condiții preliminare. Deci, în loc să facem testarea exhaustivă, putem folosi
riscurile și prioritățile pentru a concentra eforturile de testare. De exemplu: Într-o aplicație într-un
singur ecran există 15 câmpuri de intrare, fiecare având 5 valori posibile, apoi pentru a testa toate
combinațiile valide ai avea nevoie de 30 517 578 125 (515) teste. Este foarte puțin probabil ca
termenele proiectului să permită acest număr de teste
Testerii trebuie să se implice într-un stadiu incipient al ciclului de viață al dezvoltării software (SDLC).
Astfel se pot identifica defectele din faza de analiza a cerintelor sau orice defect de documentare.
Costul implicat în remedierea unor astfel de defecte este mult mai mic în comparație cu cele care se
găsesc în etapele ulterioare ale testării.
4. Explain the testing principle “Running many times the same tests/scenarios, will no longer find new
defects”
Aceasta este aplicarea Principiului Pareto la testarea software-ului: aproximativ 80% dintre probleme
se găsesc în 20% din module. Dacă aceleași teste sunt repetate iar și iar, în cele din urmă aceleași
cazuri de testare nu vor mai găsi erori noi
Testarea poate arăta că există defecte, dar nu poate dovedi că nu există defecte. Testarea reduce
probabilitatea ca defecte nedescoperite să rămână în software, dar, chiar dacă nu sunt găsite defecte, nu este
o dovadă a corectitudinii.
c) System testing - inseamna testarea tuturor componentelor unui singur system care functioneaza
integrat si in conformitate cu cerintele. Se efectueaza pt a detecta orice neconcordanta intre
unitatile software care sunt integrate impreuna. Se executa teste pt toate aspectele functionale si n
on-functionale si sunt acoperite flow-urile de la un capat la altul.
d) User acceptance testing - UAT este de a evalua dacă produsul funcționează pentru utilizator si
corect pentru utilizare. Business requirement-urile sunt validate si criteriile de acceptare trebuie
validare inainte de a merge live. Userul final este cel căruia ii este destinat Produsul/aplicația, deci
testarea se efectueaza din perspectiva lui si de catre el.
Integration testing se face pentru a testa modulele/componentele atunci când sunt integrate pentru a
verifica dacă funcționează conform așteptărilor, adică pentru a testa modulele care funcționează bine
individual, nu are probleme atunci când sunt integrate. Se realizeaza de obicei in faza initiala a
proiectului cand doar unele dintre componente sunt implementate si pot fi integrate.
este ultima fază a procesului de testare a software-ului. Aceasta este faza în care clientul decide
GO/No-GO pentru produs și trebuie urmată în mod obligatoriu înainte de a lansa Produsul pe piață.
Eforturile comune ale echipei de dezvoltare și de testare vor fi acordate de client fie prin acceptarea, fie
prin respingerea produsului dezvoltat.
Odată ce procesul de testare a sistemului este finalizat de echipa de testare și este semnat, întregul
produs/aplicație este predat clientului/cător utilizatori ai clienților/amândoi, pentru a testa
acceptabilitatea acestuia, adică produsul/aplicația ar trebui să fie impecabil în îndeplinirea atât a
cerințelor critice, cât și a celor majore de afaceri. De asemenea, fluxurile de afaceri end-to-end sunt
verificate similar ca în scenariul în timp real.
UAT este de a evalua dacă Produsul funcționează pentru utilizator si corect pentru utilizare. Business
requirement-urile sunt validate si criteriile de acceptare trebuie validate inainte de a merge live. Userul
final este cel căruia ii este destinat Produsul/aplicația, deci testarea se efectueaza din perspectiva lui si
de catre el.
Testarea Alpha este o metodologie de validare a clienților (tipuri de testare de acceptare) care ajută la
construirea încrederii în lansarea produsului și, prin urmare, au ca rezultat succesul produsului pe piață.
Aceasta este o formă de testare internă de acceptare efectuată în principal de QA și de echipele de
testare. Testarea alfa este ultima testare efectuată de echipele de testare pe site-ul de dezvoltare după
testarea de acceptare și înainte de lansarea software-ului pentru testul beta.
Testarea alfa poate fi făcută și de potențialii utilizatori sau clienți ai aplicației. Totuși, aceasta este o
formă de testare internă de acceptare.
Testarea Beta este o metodologie de validare a clienților (tipuri de testare de acceptare) care ajută la
construirea încrederii în lansarea produsului și, prin urmare, au ca rezultat succesul produsului pe piață.
Aceasta este faza finală de testare în care companiile lansează software-ul pentru câteva grupuri de
utilizatori externi din afara echipelor de testare sau angajaților companiei
Pe scurt, testarea beta poate fi definită ca testarea efectuată de utilizatori reali într-un mediu real.
Este testarea care se face cu ajutorul tool-urilor, se folosesc pentru executarea testelor si compararea
actual results cu expected results. Se foloseste in principal pe teste repetitive. Ex: suita Selenium, HP
QTP (aplicatii web), Soap UI (testare back-end)
Testeaza functionalitatea fara a cunoaste structura interna, codul acesteia. Test cases-urile se bazeaza
pe requirements, pe ceea ce ar trebui sa faca sistemul.
Ex: Smok test, sanity test, integration testing, performance testing, user acceptance testing
Testeaza structura interna si codul, proiecteaza test cases-uri bazate pe cunostintele interneale
sistemului, alaturi de abilitatile de programare.
Este testarea fara a rula aplicatia, programatorii citesc codul pt a gasi erori. Se foloseste pt a gasi erori
sau ambiguitati in documente, cum ar fi: requirements, design, test cases
Ex: code review
Testarea de utilizare implică de obicei observarea sistematică în condiții controlate pentru a determina
cât de bine pot folosi oamenii produsul. Cat de usor este de utilizat sistemul?
Testare efectuată pentru a determina modul în care un sistem funcționează în ceea ce privește
capacitatea de răspuns, utilizarea resurselor, fiabilitatea și stabilitatea într-un anumit volum de lucru.
Subseturi: sarcină, stres, anduranță, volum.
Verificați indicatorii cheie de performanță (KPI) în raport cu sistemul.
Este o metodă de testare a software-ului fără nicio planificare și documentare. Testele sunt efectuate
informal și aleatoriu, fără niciun rezultat formal așteptat.
Fără planificare, fără design de testare.
este un tip de testare software care constă dintr-un set neexhaustiv de teste care urmăresc să se asigure
că cele mai importante funcții funcționează.
Este executat de testeri după fiecare build pentru a verifica dacă build-ul este în stare testabilă sau că
fluxurile principale funcționează.
Reqirement-urile functionale sunt cerintele care descriu capacitatile pe care trebuie sa le aiba un
system/ o solutie software, un produs. Ce comportament v-a avea si ce informatii v-a gestiona acest
system.
Ex, Un sistem trebuie să trimită un e-mail ori de câte ori o anumită condiție este îndeplinită (de
exemplu, un ordin este plasat,etc).
să fie capabil de a crea un nou cont, actualizare cont, sterge un cont
Ex: pagina ar trebui sa se incarce in 400msec, sistemul ar trebui sa permita 50.000 de utilizatori
simultam, noua versiune ar trebui sa fie compatibila cu urmatoarele browsere: Chrome7.0, internet
explorer 8.0, firefox 8.0
Este o tehnica de testare black-box utilizata pentru a testa comportamentul unui sistem pentru diferite
combinatii de intrari.
Un tabel de decizie este utilizat pentru a reprezenta logica condiționată prin crearea unei liste de sarcini
care descriu regulile la nivel de afaceri. Tabelele de decizie pot fi utilizate atunci când există un număr
consistent de condiții care trebuie evaluate și atribuite un set specific de acțiuni care să fie utilizate
atunci când condițiile sunt în cele din urmă îndeplinite.
Tabelele de decizie sunt foarte utile în tehnicile de proiectare a testelor. Ajută testerii să caute efectele
combinațiilor de diferite intrări și ale altor stări software care trebuie să implementeze corect regulile
de afaceri
Un mediu de testare este un server care vă permite să rulați cazurile de testare pe care le-ați definit.
Mediul de testare include mai mult decât configurarea unui server pe care să ruleze teste. De asemenea,
implică configurarea hardware și a rețelei.
Cu alte cuvinte, un mediu de testare vă permite să creați medii identice de fiecare dată când trebuie să
testați produsul. Este cel mai important instrument pentru un inginer de testare pentru a avea încredere
în rezultatele testării.
Într-un mediu cloud, consumatorii își pot implementa și rula aplicațiile software pe o infrastructură
sofisticată care este deținută și gestionată de un furnizor de cloud (de exemplu, Amazon Web Services,
Microsoft Azure și Google Cloud Platform).
Mediile cloud pot fi o sursă de costuri reduse. Atunci când se instalează un mediu tradițional,
infrastructura și echipamentele trebuie achiziționate din timp. Acest echipament este de obicei
achiziționat ca parte a bugetului de capital al unei organizații. Într-un mediu cloud, nu trebuie să vă
faceți griji cu privire la achiziționarea echipamentului; plătiți doar pentru serviciu. Costul serviciului se
va considera de obicei în bugetul operațional al unei organizații. În general, este mai ușor să obțineți
aprobarea cheltuielilor operaționale decât să obțineți aprobarea cheltuielilor de capital.
36. What test data can be used for a good testing coverage?
37. What are the advantages for production test data usage?
Se gestioneaza eficient datele de testare si astfel putem implementa produse fără erori pentru utilizatorii
din lumea reală.
38. What are the disadvantages for production test data usage?
Riști să ai o experiență teribilă a utilizatorului, precum și să corupți datele, deoarece multe erori pot
apărea chiar în producția
Logica dvs. de afaceri nu este testată cu unit tests (sau nu este testată suficient în cel mai bun caz)
Dar testele de integrare care sunt pentru a se asigura că totul merge bine cu bucăți mari de
interacțiuni de cod? Cu greu te-ai fi putut gândi la destui
Nici măcar nu menționez verificările testelor de încărcare, deoarece testarea de încărcare a software-
ului dvs. nu va fi probabil mai mult decât o briză
Ce zici de validarea UI se descurcă bine și este acceptabil fără erori? Dar testele funcționale care
trebuie să se asigure de asta?
Și nu în ultimul rând. Datele de testare care sunt scrise în jurul datelor dvs. de producție devin
dependente de acestea. Unde ne duce asta? De îndată ce codul de producție se schimbă (evenimentul
care se întâmplă întotdeauna), toate datele de testare sunt sincer inutile.
39. What is and how is used the Equivalence Class Partitioning Technique?
O tehnică black box folosită pentru a împărți inputurile aplicației în seturi (partiții) care pot fi
considerate la fel, având aceeași ieșire
Se Verifica un singur test din fiecare set/partiție
Reduce nr total de teste
Acoperire bună de testare
•Mai multe sau toate testele dintr-un set/partiție nu vor găsi erori noi, deoarece sistemul se ocupă la fel
de aceste intrări
40. What is and how is used the Boundary Value Analysis Technique?
În dezvoltarea unui produs, un utilizator final este o persoană care în cele din urmă utilizează sau
intenționează să utilizeze un produs.
44. Which are the Test Case Fields? Give details for each of it
1. Test Case ID- Acest câmp identifică în mod unic un caz de testare.
2. Test case Description/Summary - Acest câmp descrie obiectivul cazului de testare.
3. Test steps- În acest câmp sunt menționați pașii exacti pentru efectuarea cazului de testare.
4. Pre-requisites(cerinte preliminare)- Acest câmp specifică condițiile sau pașii care trebuie urmați
înainte de executarea pașilor de testare.
5. Test category
6. Author – numele testerului
7. Automation – Indiferent dacă acest caz de testare este automat sau nu.
8. pass/fail
9. remarks
Într-o zi, testerii desfășoară diverse activități, cum ar fi înregistrarea cerințelor, crearea cazurilor de
testare, executarea cazurilor de testare, crearea documentelor, urmărirea cerințelor etc. Dacă toate
activitățile nu sunt gestionate și urmărite, atunci lucrurile vor deveni haotice și pot avea impact și
asupra rezultatelor. Pentru a evita astfel de situații, un instrument de testare joacă un rol important.
O eroare într-o aplicație sau sistem care provoacă un rezultat incorect sau un comportament nedorit.
55. What other information should you give while submitting a new bug?
Environment, fix version, affects version, description, summary, severity, priority
Descriere:
1.Preconditii (opțional):
2.Steps to reproduce:
3.Actual results:
4.Expected results:
59. Do you know ways to measure the output of the exploratory testing?
TBS Metrics: task breakdown metrics
Text Charter
60. What are the advantages of doing exploratory testing?
- Sunt effectuate noi teste
- Ia mai putina pregatire
- Erorile critice sunt identificate mai devreme
-
61. What is Regression Testing?
Testarea de regresie reexecută teste funcționale și nefuncționale pentru a se asigura că software-ul
dezvoltat și testat anterior funcționează în continuare după o schimbare
testării de regresie este de a găsi erorile care pot fi introduse accidental din cauza noilor modificări sau
modificări.
63. What exactly you should test while doing bug validation?
Se folosesc pentru a păstra toate lucrurile de care au nevoie pentru a gestiona, planifica, rula și raporta
teste.
68. What would you take into consideration while planning your execution?
- Raportați erori: Raportați mai întâi erorile majore.Lăsați UI și probleme minore la sfârșit
- Rulați cazuri de testare, chiar și suită de regresion testing: Rulați mai întâi testele BAT/Smoke, dacă
existăRulați mai întâi cele mai importante funcții
- Testare exploratorie. Identificați mai întâi erorile majore testând mai întâi fluxurile principale
- Creați o listă de importanță a caracteristicilor(feature)
- Testează de sus în jos
- Validarea erorilor. Validați mai întâi severitatea mai mare
Scrum masterful este un facilitator al echipei. El ajuta membrii echipei sa depaseasca diferite obstacole
care pun in pericol dezvoltarea unei solutii livrarea acesteia (ex: lipsa de accese in sisteme). El
vegheaza ca toate meetingurile echipei scrum sa aiba loc si sa fie benefice (el mediaza daca apar
conflicte, incearca sa indrume echipa in directia solutionarii problemei) si totodata are rolul de a
indruma echipa spre self-management. Daca ai avut odata o problema cu accesul pe un sistem, el te
ajuta dar iti si arata data viitoare cum te poti descurca singur.