Skip to content

Latest commit

 

History

History
91 lines (68 loc) · 2.9 KB

File metadata and controls

91 lines (68 loc) · 2.9 KB

🔄 QA API CRUD Testing

Suite de tests API couvrant un cycle CRUD complet (Create, Read, Update, Delete) avec gestion de l'authentification, cas nominaux et cas d'erreur.

Cible de test : Restful Booker — API publique de démonstration (réservations d'hôtel), volontairement conçue pour la pratique du test d'API.

Ce projet illustre la méthode utilisée pour tester des API CRUD en environnement professionnel : ne pas se limiter au "happy path", mais systématiquement vérifier le comportement après suppression, les cas d'authentification manquante, et la cohérence des données à chaque étape du cycle de vie d'une ressource.


🎯 Objectifs

  • Couvrir le cycle de vie complet d'une ressource : création, lecture, mise à jour (complète et partielle), suppression.
  • Gérer un flow d'authentification (récupération de token, réutilisation dans les requêtes protégées).
  • Vérifier systématiquement les cas d'erreur : accès à une ressource supprimée, authentification absente ou invalide, données incomplètes.
  • Garantir la cohérence des données entre chaque étape (ce qui est créé est bien ce qui est lu, ce qui est mis à jour est bien reflété ensuite).

🧱 Stack technique

Domaine Technologie
Requêtes API Cypress (cy.request)
Langage TypeScript
CI/CD GitHub Actions

📂 Structure du projet

qa-api-crud-testing/
├── cypress/
│   └── e2e/
│       └── booking-crud.cy.ts   # Cycle CRUD complet + cas d'erreur
├── .github/workflows/
│   └── api-tests.yml
├── cypress.config.ts
└── package.json

🔄 Cycle testé

Auth (récupération du token)
   │
   ▼
Create  → POST /booking
   │
   ▼
Read    → GET /booking/:id           (vérifie que les données créées sont bien restituées)
   │
   ▼
Update  → PUT /booking/:id           (mise à jour complète, avec token)
   │
   ▼
Read    → GET /booking/:id           (vérifie que la mise à jour est bien reflétée)
   │
   ▼
Delete  → DELETE /booking/:id        (avec token)
   │
   ▼
Read    → GET /booking/:id           (cas d'erreur attendu : 404, la ressource ne doit plus exister)

En complément, la suite vérifie aussi :

  • le refus d'une requête de mise à jour/suppression sans authentification,
  • le comportement sur un identifiant de ressource inexistant.

🚀 Exécution

npm install
npm run test

📸 Preuve d'exécution réelle

CrudSummary CrudRun

👤 Auteur

Mohamed Touaoua — QA Automaticien Ce projet fait partie de mon portfolio d'automatisation QA.