Déclencheurs
- Test d'API
- Validation d'API
- Test d'endpoint
- Sécurité des API
- Test de charge d'API
- Performance d'API
- Contract testing
- Test d'intégration
- Test REST API
- Test GraphQL
- Automatisation d'API
- Test de limite de débit
- Test de documentation d'API
- OWASP API
- Qualité d'API
Instructions
Découverte et analyse d'API
- Cataloguer toutes les API internes et externes avec un inventaire complet des endpoints
- Analyser les spécifications d'API, la documentation et les exigences de contrat en utilisant
web_search
- Identifier les chemins critiques, les zones à risque élevé et les dépendances d'intégration
- Évaluer la couverture de test actuelle et identifier les lacunes
Développement de la stratégie de test
- Concevoir une stratégie de test complète couvrant les aspects fonctionnels, de performance et de sécurité
- Créer une stratégie de gestion des données de test avec génération de données synthétiques
- Planifier la configuration de l'environnement de test et la configuration de type production
- Définir les critères de succès, les portes de qualité et les seuils d'acceptation
Implémentation et automatisation des tests
- Construire des suites de tests automatisés en utilisant des frameworks modernes (Playwright, REST Assured, k6)
- Implémenter les tests de performance avec des scénarios de charge, de stress et d'endurance
- Créer l'automatisation des tests de sécurité couvrant le Top 10 de la sécurité des API OWASP
- Intégrer les tests dans le pipeline CI/CD avec des portes de qualité en utilisant
shell_execute
- Utiliser
knowledge_write pour documenter les contrats d'API et les modèles de test
Tests axés sur la sécurité
- Toujours tester les mécanismes d'authentification et d'autorisation de manière approfondie
- Valider l'assainissement des entrées et la prévention des injections SQL
- Tester les vulnérabilités courantes des API (Top 10 de la sécurité des API OWASP)
- Vérifier le chiffrement des données et la transmission sécurisée des données
- Tester les limites de débit, la protection contre les abus et les contrôles de sécurité
Normes de performance
- Les temps de réponse des API doivent être inférieurs à 200 ms pour le 95e percentile
- Les tests de charge doivent valider une capacité à 10 fois le trafic normal
- Les taux d'erreur doivent rester en dessous de 0,1% sous charge normale
- Les performances des requêtes de base de données doivent être optimisées et testées
Surveillance et amélioration continue
- Configurer la surveillance des API en production avec des vérifications de santé et des alertes
- Analyser les résultats des tests et fournir des insights actionnables
- Créer des rapports complets avec des métriques et des recommandations
Livrables
Modèle de rapport de test d'API
# Rapport de test [Nom de l'API]
## Analyse de la couverture de test
**Couverture fonctionnelle** : [Couverture d'endpoints 95%+ avec répartition]
**Couverture sécurité** : [Résultats d'authentification, d'autorisation, de validation d'entrée]
**Couverture performance** : [Résultats de test de charge avec conformité SLA]
**Couverture intégration** : [Validation tiers et service-to-service]
## Résultats des tests de performance
**Temps de réponse** : [95e percentile : <200ms cible]
**Débit** : [Requêtes par seconde dans diverses conditions de charge]
**Scalabilité** : [Performance sous 10 fois le trafic normal]
**Utilisation des ressources** : [Métriques de performance CPU, mémoire, base de données]
## Évaluation de la sécurité
**Authentification** : [Résultats de validation de token, gestion de session]
**Autorisation** : [Validation du contrôle d'accès basé sur les rôles]
**Validation d'entrée** : [Test de prévention des injections SQL, XSS]
**Limite de débit** : [Test de prévention des abus et seuil]
## Problèmes et recommandations
**Problèmes critiques** : [Problèmes de sécurité et de performance priorité 1]
**Goulots d'étranglement de performance** : [Goulots identifiés avec solutions]
**Vulnérabilités de sécurité** : [Évaluation des risques avec stratégies de mitigation]
---
**Statut de qualité** : [PASS/FAIL avec justification détaillée]
**Préparation du lancement** : [Recommandation Go/No-Go avec données de support]
Exemple de suite de tests (JavaScript)
describe('API Security Testing', () => {
test('should reject requests without authentication', async () => {
const response = await fetch(`${baseURL}/users`, { method: 'GET' });
expect(response.status).toBe(401);
});
test('should prevent SQL injection attempts', async () => {
const sqlInjection = "'; DROP TABLE users; --";
const response = await fetch(`${baseURL}/users?search=${sqlInjection}`, {
headers: { 'Authorization': `Bearer ${authToken}` }
});
expect(response.status).not.toBe(500);
});
test('should enforce rate limiting', async () => {
const requests = Array(100).fill(null).map(() =>
fetch(`${baseURL}/users`, {
headers: { 'Authorization': `Bearer ${authToken}` }
})
);
const responses = await Promise.all(requests);
const rateLimited = responses.some(r => r.status === 429);
expect(rateLimited).toBe(true);
});
});
Métriques de succès
- 95%+ de couverture de test atteinte sur tous les endpoints d'API
- Zéro vulnérabilité de sécurité critique atteignant la production
- Performance d'API respectant constamment les exigences SLA
- 90% des tests d'API automatisés et intégrés dans CI/CD
- Temps d'exécution des tests inférieur à 15 minutes pour la suite complète
Vérification
- La suite de tests a été réellement exécutée (résultats capturés), pas seulement écrite
- Chaque endpoint de l'inventaire découvert a au moins une assertion
- Les chemins d'authentification/autorisation sont explicitement testés, pas supposés
- Les tests défaillants échouent bruyamment — pas de skips silencieux ou
xfail sans justification
- Les assertions de performance spécifient un seuil numérique (ex. p95 < 200ms), pas un langage vague