L’API : une interface comme une autre (qu’on peut tester aussi) Anne-Laure Gaillard Lead QA @Talarian
Slide 2
Slide 3
Slide 4
Anne-Laure Gaillard, Lead QA @Talarian
Slide 5
Les API Web sont devenues omniprésentes
Slide 6
Slide 7
Anne-Laure Gaillard, Lead QA @Talarian
Slide 8
Slide 9
On teste déjà l’interface graphique
Slide 10
On teste déjà l’interface graphique
Slide 11
On teste déjà l’interface graphique
“Dans une approche agile, il est recommandé de ne pas attendre d’avoir l’intégralité du processus disponible et de tester ce que l’on a […] en particulier au niveau d’un microservice”
Slide 12
On teste déjà l’interface graphique
“[API testing] might produce unexpected results and reveal bugs that would never be found thought UI testing. You can control the tests much more easily that when using UI”
Slide 13
On teste déjà l’interface graphique
Slide 14
Tester l’API, c’est ne pas tester l’expérience utilisateur.
Slide 15
Tester l’API, c’est ne pas tester l’expérience utilisateur.
Slide 16
Tester l’API, c’est ne pas tester l’expérience utilisateur.
Slide 17
Tester l’API, c’est ne pas tester l’expérience utilisateur. “Dans une approche agile, il est recommandé de ne pas attendre d’avoir l’intégralité du processus disponible et de tester ce que l’on a […] en particulier au niveau d’un microservice”
Titre : Tests de charge d’un processus métier et disponibilités des microservices
Slide 18
Tester les APIs, c’est technique.
Slide 19
Tester les APIs, c’est technique.
Automatisation des tests d’API : 49% QA 28% Dev
Slide 20
Tester les APIs, c’est technique.
Slide 21
Tester les APIs, c’est technique.
Slide 22
T S E R I P A
Client
Requête HTTP
Réponse
Serveur
Slide 23
Verbe
GET
Récupère
POST
Crée
PATCH/PUT
Modifie
DELETE
Supprime
…
…
Param
Query Path Request Body Request Headers …
Endpoint/URL
Slide 24
Status code 1XX
Information
2XX
Succès
3XX
Redirection
4XX
Erreur client
5XX
Erreur serveur
Réponse JSON
Slide 25
Débuter…
Slide 26
Slide 27
Slide 28
Shift left “A service-based architecture works well with BDD.” “When you design a new service using BDD, you begin by describing the requirements in the form of practical examples of how the service will be used”
Slide 29
Doc review
Slide 30
Requête
Slide 31
Requête
Slide 32
Aller plus loin…
Slide 33
Flow
Slide 34
Automatiser
Slide 35
Automatiser
Comment commencer ?
“Bien que les compétences techniques existantes soient des atouts pour envisager un virage vers l’automatisation des tests, la motivation des membres de l’équipe est une des clés importantes du succès” “Faites-vous accompagner”
Slide 36
Automatiser
Sur le CI dev, QA, fréquence ?
“Personne n’accepte qu’une simple fusion de branche prenne plus de 15 minutes” “Des tests automatisés qui n’ont pas trouvé de bug depuis deux sprints peuvent passer d’un rythme quotidien à un rythme hebdomadaire afin de garder un build dans les 10 minutes”
Slide 37
Exploratoire
Un chapitre
“I don’t think we need to. You convinced me”
“Pair ET with other testers.” “Think about the end-user.”
Slide 38
Exploratoire
Slide 39
Aller encore plus loin…
Slide 40
Monitoring
Slide 41
T S E R I P A
Client
4XX
Erreur client
Requête HTTP
Réponse
Status code
Serveur
Slide 42
T S E R I P A
Client
Requête HTTP
Réponse
Status code
Serveur
5XX
Erreur serveur
Slide 43
Monitoring Alerting + Quid des environnements de tests
Slide 44
Sécurité
I P A 0 P S 1 A p o W O ity - T r u Sec Broken Level Authorization : Object Object property
Broken Authentication
Function Unrestricted Access to Sensitive Business Flows Unrestricted Resource Consumption Security Misconfiguration Server Side Request Forgery
Hub t i G r u s o f Plus d’in Improper Inventory Management
Unsafe Consumption of APIs
Slide 45
Sécurité
l e v e L n e k : o r n B o i t a m z i o r Zo Autho bject O
Tester une API Participer à la conception Lire la documentation Tester les requêtes Pour aller plus loin : Monitoring & alerting Attaquer l’API Contrôler les performances Tester les contrats
Slide 51
Les APIs sont partout ! Vous êtes capables de les tester
Slide 52
Quelques références https://www.youtube.com/watch ?v=FPrMPOlqZN4
https://medium.com/manomano -tech/api-exploratory-testing-anopportunity-to-improve-yourapi-testing-d18e125f244d