QA / QA Automation
La ce folosește prioritatea într-un caz de test?
Ce tipuri de date există în Python, care sunt modificabile și care nu?
Ce se întâmplă când introduci [link] în browser și apeși Enter? Unde va fi trimis primul request?
Ai lucrat cu Allure? Ce adnotări poți menționa? Este posibil să atașezi o captură de ecran și cum? Unde sunt stocate rezultatele rulării? Cum să conectezi Allure cu CI/CD (Jenkins)?
Enumerați artefactele de testare pe care le cunoașteți.
Metoda interacționează cu baza de date — este un test unitar sau de integrare?
Puncte forte și realizări din ultimii 4 ani. Așteptări salariale.
Cum va fi atunci criptată cererea mea (mecanismul de criptare)?
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.
Cum vei alege oferta? La ce vei acorda atenție în primul rând?
Experiența din CV (organizații financiare) este reflectată în carnetul de muncă?
Cum funcționează tipurile de date de referință conceptual?
Faci și teste manuale, sau altcineva din echipă?
PageObject, în timp, se extinde pe o pagină complexă și devine dificil de citit. Ți s-a întâmplat așa și cum ai gestionat situația?
Cum se implementează încapsularea în Python? Vorbește-mi despre modificatorii de acces.
Ce este SOLID? Care este cel mai îndrăgit principiu?
De ce ați ales testarea în locul dezvoltării, având în vedere volumul mare de dezvoltare în experiența dvs.?
Ce diferențe poți menționa în testarea pe iOS și Android?
Ce este WebView și cum îl testezi?
În ce parte a piramidei de testare se află testarea manuală?