QA / QA Automation
Kokia yra prioritetas testavimo atveju?
Kokie duomenų tipai yra Python'e, kurie yra keičiami ir kurie ne?
Ką vyksta įvedus [nuorodą] naršyklėje ir paspaudus Enter? Kur bus išsiųstas pirmasis užklausa?
Ar dirbote su Allure? Kokias anotacijas galite paminėti? Ar galima pridėti ekrano kopiją ir kaip? Kur saugomi vykdymo rezultatai? Kaip sujungti Allure su CI/CD (Jenkins)?
Išvardykite testavimo artefaktus, kuriuos žinote.
Ar metodas sąveikauja su duomenų baze — ar tai vieneto ar integracijos testas?
Pagrindinės stiprybės ir pasiekimai per pastaruosius 4 metus. Atlyginimo lūkesčiai.
Kaip tada bus užšifruotas mano užklausa (šifravimo mechanizmas)?
OPP (Objektinio orientuoto programavimo) — tai požiūris į programų kūrimą, kai kodas organizuojamas kaip objektai Inkapusuliacija Inkapusuliacija — tai duomenų ir su jais dirbančių metodų sujungimas viename klasėje, taip pat tiesioginės prieigos prie objekto vidinės būsenos ribojimas. Paprastais žodžiais: objektas pats valdo savo duomenis, o išorinis kodas su juo sąveikauja per metodus. Abstrakcija Abstrakcija — tai svarbiausių objekto savybių išskyrimas ir jo įgyvendinimo detalių slėpimas. Paprastais žodžiais: naudotojui svarbu, ką daro objektas, o ne kaip jis tai daro. Polimorfizmas Polimorfizmas — tai galimybė objektų su skirtinga įgyvendinimu naudoti tą patį sąsają. Tai padeda rašyti universalią kodą, dirbant su skirtingų tipų duomenimis ar klasėmis. Pavyzdys Python: class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Woof!" class Cat(Animal): def make_sound(self): return "Meow!" def animal_sound(animal: Animal): print(animal.make_sound()) dog = Dog() cat = Cat() animal_sound(dog) # Woof! animal_sound(cat) # Meow! Automatiniuose testuose polimorfizmas naudingas: - Kurti universalias patikros metodus - Įgyvendinti skirtingas testavimo strategijas per vieną sąsają - Palaikyti skirtingas API/UI versijas be testų keitimo Paveldėjimas Paveldėjimas — tai mechanizmas, leidžiantis naujai klasei naudoti esamą, automatiškai įgyjant jos savybes ir metodus. Paprastais žodžiais: nauja klasė pakartoja tėvų klasės kodą ir, jei reikia, jį išplečia. Git 1. Versijų kontrolės sistemos. Vietinės, centralizuotos, paskirstytos. 2. Pagrindinės sąvokos. Saugykla, indeksas, įsipareigojimas, nuorodos, šaka, darbo kopija. 3. Darbas su saugykla. Komandos: init, clone, status 4. Sukurti įsipareigojimą. Komandos: add, commit. 5. Kurti, peržiūrėti, keisti, ištrinti šakas. Komandos: branch, checkout, log, diff. 6. Pakeitimų atšaukimas. Komandos: restore, rm, checkout, revert. 7. Pakeitimų sujungimas. Komandos: merge, cherry-pick, rebase. 8. Darbas su nuotoliniu saugykla. Komandos: fetch, pull, push. 9. Darbas su GitHub, kopijos ir Pull Requests.
Kaip pasirinksite pasiūlymą? Pirmiausia į ką atkreipsite dėmesį?
Patirtis iš CV (finansų organizacijos) yra pavaizduota darbo knygelėje?
Kaip konceptualiai veikia nuorodų duomenų tipai?
Ar taip pat atliekate rankinius testus, ar kas nors kitas komandoje?
PageObject laikui bėgant išsiplečia sudėtingoje puslapyje ir tampa nepatogu skaityti. Ar taip buvo tau ir kaip su tuo susidoroji?
Kaip įgyvendinama inkapsuliacija Python? Papasakok apie prieigos modifikatorius.
Kas yra SOLID? Kuris principas yra mėgstamiausias?
Kodėl pasirinkote testavimą, o ne kūrimą, atsižvelgiant į didelį kūrimo kiekį jūsų patirtyje?
Kokias skirtumus gali paminėti testavime iOS ir Android?
Kas yra WebView ir kaip jį testuoti?
Kuriame testavimo piramidės dalyje yra rankinis testavimas?