Milyen céllal használják az ORM-et a tesztekben, és milyen esetekben jobb nem használni?
QA / QA Automation
Miből áll egy HTTP-kérés?
Mi az a nyomonkövetési mátrix és hogyan alakul ki?
Mi az a cache, mik azok a cookie-k?
REST API: hogyan hozzunk létre mock-szolgáltatást? Adj példákat eszközökre.
A tárgyorientált programozás (OOP) egy megközelítés a szoftverfejlesztésben, ahol a kód objektumok formájában van szervezve Encapsuláció Az encapsuláció az adatok és az azokkal dolgozó módszerek egyesítése ugyanabban az osztályban, valamint a közvetlen hozzáférés korlátozása az objektum belső állapotához. Egyszerűen: az objektum kezeli saját adatait, a külső kód pedig módszereken keresztül lép kapcsolatba vele. Absztrakció Az absztrakció csak az objektum fontos jellemzőinek kiválasztását és a megvalósítás részleteinek elrejtését jelenti. Egyszerűen: a felhasználó azt akarja tudni, mit csinál az objektum, nem pedig, hogyan. Polimorfizmus A polimorfizmus az, hogy különböző megvalósítású objektumok ugyanazt a felületet használhatják. A tesztekben ez segít univerzális kód írásában, amely különböző adattípusokkal vagy osztályokkal működik. Példa Pythonban: class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Vau!" 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) # Vau! animal_sound(cat) # Miau! Automatizált tesztekben a polimorfizmus hasznos a következőkben: - Általános ellenőrzési módszerek létrehozása - Különböző tesztstratégiák megvalósítása egy interfészen keresztül - Különböző API/UI verziók támogatása anélkül, hogy a teszteket módosítanánk Öröklődés Az öröklődés egy olyan mechanizmus, amely lehetővé teszi, hogy egy új osztály automatikusan használja egy meglévő osztályt, örökölve annak tulajdonságait és módszereit. Egyszerűen: az új osztály újrahasznosítja az ősosztály kódját, és szükség szerint bővíti azt.
Az ORDER BY és GROUP BY SQL-ben mire használják? Milyen aggregációs függvényeket használtál a munkádban?
Hogyan old meg a Kafka üzenetverseny problémáját?
Mi a különbség a PUT és PATCH módszerek között, és milyen jellemzőik vannak működésükben?
Milyen információk kerülnek átadásra az HTTP-kérések fejlécében?
Meséljen a hiba életciklusáról. A státuszokat lehet használni.
Mi az üzenetnyomkövetés, és hogyan segít a hiba lokalizálásában egy mikroszolgáltatás architektúrában?
Mi a különbség az iterator és a generátor között?
Milyen esetekben értelmes az aszinkronitás használata, és mikor nem? Hogyan valósítod meg az aszinkronitást a tesztekben?
Hogyan valósítható meg a soft assert a pytest-ben több ellenőrzéshez egy tesztben, hogy a teszt ne bukjon az első hibánál, hanem végrehajtsa az összes ellenőrzést?
Mi a különbség a Smoke, Sanity és Regression tesztek között?
Hogyan lehet a Playwright-ben elfogni és módosítani az API választ az UI teszteléséhez?