QA / QA Automation
Is de remote werkvorm voor jou relevant?
[naam] vroeg: Wat is voor jou belangrijk bij het kiezen van een nieuwe baan, waar let je op bij het nemen van een beslissing?
Heeft u met Allure gewerkt? Welke annotaties kunt u noemen? Is het mogelijk om een screenshot toe te voegen en hoe? Waar worden de resultaten van de uitvoering opgeslagen? Hoe koppelt u Allure aan CI/CD (Jenkins)?
Noem de testartefacten die je kent.
Welke HTTP-koppen kent u?
Ga je een bug melden op de frontend bij een 403-fout?
Hoe bent u erin geslaagd de testtijd voor vereisten te verkorten?
Leg het uit in eenvoudige woorden voor een beginner: wat is een Docker Image, Docker Container en Dockerfile?
Wat is een retest?
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.
Waren alleen de producenten getest of werden ook de consumenten gedekt door automatische tests?
Welke groepen statuscodes ken je? Beschrijf de groepen en hun betekenissen.
Doe je ook handmatige tests, of iemand anders in het team?
Wat is de zichtbaarheid van de standaardtoegangsmodifier in Java?
Vertel over closures in Python. Hoe gebruikt een functie binnen een andere functie de variabelen van de externe functie?
Hoe zou je de test van het rollensysteem met aliassen aanpakken, waarbij een gebruiker tot 20 aliassen in verschillende combinaties kan hebben die wel of niet operaties toestaan?
Als er een bug op de site wordt gevonden, zoals het ontbreken van een komma, hoe kritisch is deze fout?
Waaruit bestaat volgens jou de architectuur van een mobiel netwerk?
Welke ontwerppatronen gebruik je in het automatiseringsframework?
Hoe heb je de tests verdeeld in smoke- en regressiefasen? In welke fase werden ze uitgevoerd?