Waaruit bestaat een HTTP-verzoek?
QA / QA Automation
Wat is een traceermatrix en hoe wordt deze gevormd?
Wat is cache, wat zijn cookies?
REST API: hoe maak je een mock-service? Geef voorbeelden van tools.
Met welk doel wordt ORM gebruikt in tests en in welke gevallen is het beter om het niet te gebruiken?
Objectgeoriënteerd programmeren (OOP) is een aanpak voor het ontwikkelen van software waarbij de code wordt georganiseerd in de vorm van objecten Encapsulatie Encapsulatie is het samenvoegen van gegevens en methoden die met deze gegevens werken binnen één klasse, evenals het beperken van directe toegang tot de interne toestand van het object. In eenvoudige woorden: het object beheert zijn eigen gegevens, en externe code interacteert ermee via methoden. Abstractie Abstractie is het selecteren van alleen de belangrijke kenmerken van het object en het verbergen van de details van de implementatie. In eenvoudige woorden: de gebruiker geeft om wat het object doet, niet hoe het dat precies doet. Polymorfisme Polymorfisme is de mogelijkheid voor objecten met verschillende implementaties om dezelfde interface te gebruiken. In testen helpt dit om universele code te schrijven die werkt met verschillende datatypes of klassen. Voorbeeld in Python: class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Woef!" class Cat(Animal): def make_sound(self): return "Miauw!" def animal_sound(animal: Animal): print(animal.make_sound()) dog = Dog() cat = Cat() animal_sound(dog) # Woef! animal_sound(cat) # Miauw! In geautomatiseerde tests is polymorfisme nuttig voor: - Het creëren van universele verificatiemethoden - Het implementeren van verschillende teststrategieën via één interface - Het ondersteunen van verschillende API/UI-versies zonder de tests te wijzigen Erfelijkheid Erfelijkheid is een mechanisme dat het mogelijk maakt dat een nieuwe klasse automatisch een bestaande klasse gebruikt, door deze eigenschappen en methoden te erven. In eenvoudige woorden: de nieuwe klasse hergebruikt de code van de ouderklasse en breidt deze indien nodig uit. Git 1. Versiebeheersystemen. Lokaal, gecentraliseerd, gedistribueerd. 2. Basisconcepten. Repository, index, commit, pointers, branch, werkkopie. 3. Werken met een repository. Commando’s: init, clone, status 4. Een commit maken. Commando’s: add, commit. 5. Een branch maken, bekijken, wisselen, verwijderen. Commando’s: branch, checkout, log, diff. 6. Wijzigingen ongedaan maken. Commando’s: restore, rm, checkout, revert. 7. Wijzigingen samenvoegen tussen branches. Commando’s: merge, cherry-pick, rebase. 8. Werken met een remote repository. Commando’s: fetch, pull, push. 9. Werken met GitHub, forks en Pull Requests.
Waarvoor worden ORDER BY en GROUP BY gebruikt in SQL? Welke aggregatiefuncties heb je in je werk gebruikt?
Wat is het verschil tussen de methoden PUT en PATCH en wat zijn hun kenmerken in werking?
Hoe wordt het probleem van berichtconcurrentie in Kafka opgelost?
Vertel eens over de levenscyclus van een bug. Je kunt de statussen gebruiken.
Welke informatie wordt overgedragen in de headers van een HTTP-verzoek?
Wat is bericht-tracering en hoe helpt het bij het lokaliseren van een defect in een microservices-architectuur?
In welke gevallen is het zinvol om asynchroniteit te gebruiken en in welke niet? Hoe implementeer je asynchroniteit in tests?
Hoe implementeer je een soft assert in pytest voor meerdere controles in een test, zodat de test niet faalt bij de eerste fout, maar alle controles uitvoert?
Wat is het verschil tussen een iterator en een generator?
Wat is het verschil tussen Smoke, Sanity en Regression tests?
Hoe je in Playwright de API-respons kunt onderscheppen en aanpassen voor het testen van de UI?