Sobes.tech

QA / QA Automation

Dans quel but l'ORM est-il utilisé dans les tests et dans quels cas vaut-il mieux ne pas l'utiliser?

Middle
235

De quoi se compose une requête HTTP?

Middle
230

Qu'est-ce qu'une matrice de traçabilité et comment est-elle formée?

Middle
227

Qu'est-ce que le cache, qu'est-ce que les cookies?

Middle
218

API REST : comment créer un service simulé ? Donnez des exemples d'outils.

Middle
209

La Programmation Orientée Objet (POO) est une approche du développement logiciel où le code est organisé sous forme d’objets Encapsulation L’encapsulation consiste à regrouper des données et des méthodes qui manipulent ces données au sein d’une même classe, ainsi qu’à limiter l’accès direct à l’état interne de l’objet. En termes simples : l’objet gère ses propres données, et le code externe interagit avec lui via des méthodes. Abstraction L’abstraction consiste à ne retenir que les caractéristiques importantes de l’objet et à cacher les détails de sa mise en œuvre. En termes simples : l’utilisateur se soucie de ce que fait l’objet, pas de comment il le fait. Polymorphisme Le polymorphisme est la capacité d’objets avec des implémentations différentes à utiliser une même interface. En test, cela permet d’écrire un code universel qui fonctionne avec différents types de données ou classes. Exemple en Python : class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Wouf!" class Cat(Animal): def make_sound(self): return "Miaou!" def animal_sound(animal: Animal): print(animal.make_sound()) dog = Dog() cat = Cat() animal_sound(dog) # Wouf! animal_sound(cat) # Miaou! En tests automatisés, le polymorphisme est utile pour : - Créer des méthodes de vérification universelles - Implémenter différentes stratégies de test via une même interface - Maintenir différentes versions d’API/UI sans modifier les tests Héritage L’héritage est un mécanisme qui permet à une nouvelle classe d’utiliser automatiquement une classe existante, en héritant ses propriétés et méthodes. En termes simples : la nouvelle classe réutilise le code de la classe parente et l’étend si nécessaire. Git 1. Systèmes de contrôle de version. Local, centralisé, distribué. 2. Concepts clés. Dépôt, index, commit, pointeurs, branche, copie de travail. 3. Travailler avec un dépôt. Commandes : init, clone, status 4. Créer un commit. Commandes : add, commit. 5. Créer, voir, changer de branche, supprimer. Commandes : branch, checkout, log, diff. 6. Annuler des modifications. Commandes : restore, rm, checkout, revert. 7. Fusionner des changements entre branches. Commandes : merge, cherry-pick, rebase. 8. Travailler avec un dépôt distant. Commandes : fetch, pull, push. 9. Travailler avec GitHub, forks et Pull Requests.

Middle
186

À quoi servent ORDER BY et GROUP BY en SQL ? Quelles fonctions d'agrégation avez-vous utilisées dans votre travail ?

Middle
177

Comment résoudre le problème de course des messages dans Kafka?

Middle
170

Quelle information est transmise dans les en-têtes de la requête HTTP?

Middle
169

Quelle est la différence entre les méthodes PUT et PATCH et quelles sont leurs particularités de fonctionnement?

Middle
168

Parlez du cycle de vie d'un bug. On peut par les statuts.

Middle
167

Qu'est-ce que le traçage des messages et comment cela aide-t-il à localiser un défaut dans une architecture de microservices?

Middle
159

Quelle est la différence entre un itérateur et un générateur?

Middle
150

Dans quels cas est-il judicieux d'utiliser l'asynchronie et dans quels cas ne pas l'utiliser ? Comment implémentez-vous l'asynchronie dans les tests ?

Middle
141

Comment implémenter une soft assert dans pytest pour plusieurs vérifications dans un test, afin que le test ne échoue pas à la première erreur, mais exécute toutes les vérifications?

Middle
141

Quelle est la différence entre les tests Smoke, Sanity et Regression?

Middle
120

Comment intercepter et modifier la réponse de l'API dans Playwright pour tester l'interface utilisateur?

Middle
113