Overview
QA Engineer Jobs in Tunis, Tunis, Tunisia at B2H
Title: QA Engineer
Company: B2H
Location: Tunis, Tunis, Tunisia
# QA Engineer
## Le projet
Une plateforme web locale d’automatisation des tests End-to-End assistée par IA. Elle permet d’enregistrer des parcours utilisateurs avec **Playwright Codegen**, de générer automatiquement des scripts de tests **Playwright + pytest** via un LLM, d’exécuter ces tests et d’analyser leur résultat à l’aide d’une **analyse visuelle par IA**.
La plateforme intègre également la gestion des suites de tests, les artefacts d’échec, les traces Playwright, le self-healing des tests, les tests data-driven, les rapports PDF/Markdown, le suivi de la flaky-ness et un quality gate pour la CI/CD.
## Le rôle
Nous recherchons un(e) **QA Engineer** capable de participer à la **conception fonctionnelle et technique de la stratégie de test** de la plateforme et de garantir la fiabilité de ses fonctionnalités.
Le rôle combine **analyse QA, conception de scénarios de test, automatisation E2E, validation fonctionnelle et amélioration continue de la plateforme**.
## Responsabilités
### 1. Consultation & conception QA
* Participer à la définition de la stratégie globale de test de Medusa.
* Analyser les fonctionnalités et identifier les scénarios nominaux, négatifs et edge cases.
* Définir les critères d’acceptation et les critères de qualité des fonctionnalités.
* Concevoir les workflows de validation pour l’enregistrement, la génération et l’exécution des tests.
* Identifier les risques fonctionnels et techniques liés à l’automatisation de tests.
* Participer à la conception des mécanismes de validation des verdicts IA.
* Contribuer à la définition des KPIs QA : pass rate, flaky tests, durée moyenne, taux d’échec, etc.
### 2. Test Automation
* Concevoir et maintenir des tests **End-to-End avec Playwright**.
* Utiliser **pytest** pour l’exécution des tests automatisés.
* Valider les scripts générés automatiquement par l’IA.
* Concevoir des assertions robustes permettant de vérifier le comportement fonctionnel réel d’une application.
* Tester différents types de locators : role, label, placeholder, text, CSS et locators complexes.
* Vérifier la gestion des screenshots, traces Playwright et autres artefacts.
### 3. Validation de l’IA
Une partie importante du rôle consiste à **tester le système IA lui-même**.
* Vérifier la qualité des scripts générés par le LLM.
* Tester les différents cas de génération et de régénération.
* Valider les mécanismes de self-healing.
* Tester le système de verdict fonctionnel basé sur les screenshots.
* Identifier les faux positifs et faux négatifs des analyses IA.
* Vérifier que le verdict IA évalue réellement l’objectif fonctionnel du test et ne se limite pas au statut pytest.
* Participer à l’amélioration des prompts et des critères de validation.
### 4. Tests fonctionnels & non-régression
* Exécuter des campagnes de tests fonctionnels.
* Construire des scénarios de régression automatisés.
* Tester les cas d’erreur et les comportements inattendus.
* Vérifier les fonctionnalités data-driven avec différents datasets.
* Tester la gestion des retries et la détection des tests flaky.
* Vérifier les exécutions individuelles et les exécutions en batch.
### 5. API & Backend Testing
* Tester les API REST de la plateforme.
* Vérifier les différents codes HTTP et messages d’erreur.
* Tester les workflows CRUD des projets, suites et résultats.
* Valider les endpoints d’exécution, génération, healing, reporting et analyse.
* Tester les mécanismes de polling et les exécutions asynchrones.
* Vérifier la persistance des données SQLite et les migrations depuis l’ancien stockage JSON.
### 6. CI/CD & Quality Gate
* Concevoir et maintenir les tests exécutables dans un environnement CI.
* Valider le quality gate de la plateforme.
* Vérifier que les tests échouent correctement lorsque le projet n’est pas conforme aux critères définis.
* Participer à l’intégration avec **GitHub Actions**.
* Tester les scénarios de succès et d’échec du pipeline CI/CD.
### 7. Reporting & suivi qualité
* Vérifier la cohérence des résultats affichés dans le dashboard.
* Valider les statistiques de suites et projets.
* Tester les rapports Markdown et PDF.
* Contrôler la cohérence entre les résultats pytest, les verdicts IA et les artefacts générés.
* Documenter les anomalies et suivre leur résolution.
### 8. Sécurité & robustesse QA
* Tester les comportements liés aux entrées utilisateur.
* Vérifier les protections contre les erreurs de manipulation et les cas limites.
* Tester notamment la protection contre le **path traversal** des fichiers d’artefacts.
* Vérifier que les secrets et API keys ne sont jamais exposés dans le code source.
* Contrôler les comportements liés aux erreurs OpenRouter et à l’indisponibilité du backend.
## Environnement technique
* **Playwright**
* **Python**
* **pytest**
* **Flask / REST APIs**
* **React**
* **OpenRouter / LLM**
* **Multimodal AI / Computer Vision**
* **SQLite**
* **Git & GitHub**
* **GitHub Actions**
* **CI/CD**
* **API Testing**
* **End-to-End Testin