Sobes.tech

QA / QA Automation

În ce scop este utilizat ORM în teste și în ce cazuri este mai bine să nu-l folosiți?

Middle
235

Din ce este formată o cerere HTTP?

Middle
230

Ce este o matrice de urmărire și cum se formează?

Middle
227

Ce este cache-ul, ce sunt cookie-urile?

Middle
218

API REST: cum se creează un serviciu mock? Oferiți exemple de instrumente.

Middle
209

Programarea Orientată pe Obiecte (POO) este o abordare pentru dezvoltarea de programe în care codul este organizat sub formă de obiecte Încapsulare Încapsularea este unirea datelor și a metodelor care lucrează cu aceste date în cadrul unei clase, precum și restricționarea accesului direct la starea internă a obiectului. Pe scurt: obiectul își gestionează propriile date, iar codul extern interacționează cu el prin metode. Abstracție Abstracția constă în evidențierea doar a caracteristicilor importante ale obiectului și ascunderea detaliilor implementării sale. Pe scurt: utilizatorul este interesat de ceea ce face obiectul, nu de modul în care o face. Polimorfism Polimorfismul este capacitatea obiectelor cu implementări diferite de a folosi aceeași interfață. În teste, acest lucru ajută la scrierea unui cod universal care funcționează cu diferite tipuri de date sau clase. Exemplu în Python: class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Ham!" class Cat(Animal): def make_sound(self): return "Miau!" def animal_sound(animal: Animal): print(animal.make_sound()) dog = Dog() cat = Cat() animal_sound(dog) # Ham! animal_sound(cat) # Miau! În testele automate, polimorfismul este util pentru: - Crearea de metode de verificare universale - Implementarea diferitelor strategii de testare printr-o singură interfață - Susținerea diferitelor versiuni API/UI fără a modifica testele Moștenire Moștenirea este un mecanism care permite unei noi clase să utilizeze automat o clasă existentă, moștenindu-i proprietățile și metodele. Pe scurt: noua clasă reutilizează codul clasei părinte și îl extinde dacă este necesar. Git 1. Sisteme de control al versiunilor. Local, centralizat, distribuit. 2. Noțiuni de bază. Repozitoriu, index, commit, pointeri, ramură, copie de lucru. 3. Lucrul cu repository-ul. Comenzi: init, clone, status 4. Crearea unui commit. Comenzi: add, commit. 5. Crearea, vizualizarea, schimbarea între ramuri, ștergerea. Comenzi: branch, checkout, log, diff. 6. Anularea modificărilor. Comenzi: restore, rm, checkout, revert. 7. Îmbinarea modificărilor între ramuri. Comenzi: merge, cherry-pick, rebase. 8. Lucrul cu repository-ul remote. Comenzi: fetch, pull, push. 9. Lucrul cu GitHub, fork-uri și Pull Requests.

Middle
186

Pentru ce se folosesc ORDER BY și GROUP BY în SQL? Ce funcții de agregare ai folosit în muncă?

Middle
177

Cum se rezolvă problema cursei mesajelor în Kafka?

Middle
170

Ce informații sunt transmise în anteturile cererii HTTP?

Middle
169

Care este diferența dintre metodele PUT și PATCH și care sunt caracteristicile lor de funcționare?

Middle
168

Puteți să ne vorbiți despre ciclul de viață al unui bug. Se pot folosi stările.

Middle
167

Ce este urmărirea mesajelor și cum ajută la localizarea unui defect într-o arhitectură de microservicii?

Middle
162

Care este diferența dintre un iterator și un generator?

Middle
150

În ce cazuri are sens să folosești asincronia și în care nu? Cum implementezi asincronia în teste?

Middle
141

Cum se implementează un soft assert în pytest pentru mai multe verificări într-un test, astfel încât testul să nu eșueze la prima eroare, ci să execute toate verificările?

Middle
141

Care este diferența dintre testele Smoke, Sanity și Regression?

Middle
120

Cum să interceptați și să modificați răspunsul API în Playwright pentru testarea UI-ului?

Middle
113