Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Supports de cours
  2. Testez votre application web avec Cypress -

Testez votre application web avec Cypress

Informations

Livraison possible dès le 17 octobre 2024
  • Version en ligne offerte pendant 1 an
  • Personnalisable
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Reliure spirale - 17 x 21 cm (Médian)
  • ISBN : 978-2-409-04598-1
  • EAN : 9782409045981
  • Ref. ENI : RIMCYPR

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • HTML
  • ISBN : 978-2-409-04599-8
  • EAN : 9782409045998
  • Ref. ENI : LNRIMCYPR
Ce support sur Cypress s'adresse à tous ceux qui travaillent dans le développement web, qu'ils soient développeurs, testeurs, managers ou simplement intéressés par l'amélioration de la qualité de leur application en réalisant les tests nécessaires. Il permet à un débutant de mettre en place son environnement et des tests de base, mais offre également à un lecteur plus expérimenté la possibilité de mettre en place des tests avancés ou des tests de sécurité.   Le support commence...
Aperçu du livre papier
  • Niveau Initié à Confirmé
  • Parution septembre 2024
  • Niveau Débutant à Initié
  • Parution septembre 2024
Ce support sur Cypress s'adresse à tous ceux qui travaillent dans le développement web, qu'ils soient développeurs, testeurs, managers ou simplement intéressés par l'amélioration de la qualité de leur application en réalisant les tests nécessaires. Il permet à un débutant de mettre en place son environnement et des tests de base, mais offre également à un lecteur plus expérimenté la possibilité de mettre en place des tests avancés ou des tests de sécurité.  

Le support commence par une présentation des conséquences des failles de sécurité sur une application web et de l'importance de s'en protéger. Il présente ensuite Cypress, ses avantages et inconvénients, et explique comment le mettre en place et le configurer. Les chapitres suivants se concentrent sur l'exploration de l'interface graphique de Cypress, la rédaction des plans de test et les tests de différents éléments, tels que les formulaires de contact, le respect du RGPD, les failles CSS ou les injections SQL.  

La suite du support explore la gestion des variables d'environnement et des tests de sécurité plus avancés, tels que l'authentification à deux facteurs, les tests de sécurité des API et les sessions. Enfin, vous découvrirez comment automatiser l'exécution de vos tests dans un pipeline CI/CD et/ou dans l'environnement Cypress Cloud, et étudierez les plugins à utiliser pour améliorer la couverture des tests de sécurité avec Cypress.  

Un projet d'exemple avec des failles et quelques tests illustratifs dans un environnement Docker est disponible en téléchargement pour vous accompagner dans la lecture de cet ouvrage.
Introduction à la sécurité
  1. 1. Importance de la sécurité des applications web
    1. 1.1 Les conséquences des failles de sécurité
      1. 1.1.1 Vol de données sensibles
      2. 1.1.2 Utilisation abusive des comptes d'utilisateurs
      3. 1.1.3 Altération ou destruction de données
      4. 1.1.4 Impact sur la disponibilité du système
      5. 1.1.5 Responsabilité légale et réglementaire
    2. 1.2 L'importance de la protection des données sensibles
      1. 1.2.1 Confidentialité des informations personnelles
      2. 1.2.2 Respect des réglementations
      3. 1.2.3 Préservation de la confiance des clients
      4. 1.2.4 Protection des secrets commerciaux et de la propriété intellectuelle
      5. 1.2.5 Prévention des pertes financières
  2. 2. Les principaux acteurs de la sécurité des applications web
    1. 2.1 Les développeurs
      1. 2.1.1 Connaissance des vulnérabilités
      2. 2.1.2 Utilisation de bonnes pratiques de codage sécurisé
      3. 2.1.3 Tests de sécurité
      4. 2.1.4 Sensibilisation à la sécurité
      5. 2.1.5 Collaboration avec les équipes de sécurité
      6. 2.1.6 Suivi des mises à jour de sécurité
    2. 2.2 Les testeurs
      1. 2.2.1 Tests d'intrusion
      2. 2.2.2 Analyses de vulnérabilités
      3. 2.2.3 Tests de conformité
      4. 2.2.4 Collaboration avec les développeurs
      5. 2.2.5 Documentation des résultats
      6. 2.2.6 Veille technologique
    3. 2.3 Les auditeurs
      1. 2.3.1 Évaluation de la sécurité
      2. 2.3.2 Conformité réglementaire
      3. 2.3.3 Analyse des politiques de sécurité
      4. 2.3.4 Tests d'intrusion avancés
      5. 2.3.5 Rapports d'audit
      6. 2.3.6 Suivi des recommandations
  3. 3. Les principaux objectifs de la sécurité des applications web
    1. 3.1 Confidentialité des données
    2. 3.2 Intégrité des données
  4. 4. Les menaces courantes pour les applications web
    1. 4.1 ISO 27001 : un des standards de sécurité
    2. 4.2 Les attaques par injection
    3. 4.3 Les attaques par force brute
    4. 4.4 Les attaques par contournement d'authentification
    5. 4.5 Les attaques par déni de service
    6. 4.6 Les attaques par manipulation de session
    7. 4.7 Les attaques par falsification de requêtes intersite (CSRF)
  5. 5. Les principes de base de la sécurité des applications web
    1. 5.1 Le principe du moindre privilège
    2. 5.2 Le principe de la défense en profondeur
    3. 5.3 Le principe de la validation des entrées
Introduction à Cypress
  1. 1. Les avantages de Cypress
    1. 1.1 Définition d'un test flaky (instable)
    2. 1.2 Cypress : la clé d'une meilleure qualité logicielle
    3. 1.3 Cypress vs. d'autres outils : les avantages indéniables
      1. 1.3.1 Selenium
      2. 1.3.2 Playwright
  2. 2. Mettez en place votre environnement Cypress
    1. 2.1 Configuration requise
      1. 2.1.1 Node.js
      2. 2.1.2 Matériel requis
      3. 2.1.3 Prérequis Linux
      4. 2.1.4 Docker
    2. 2.2 Téléchargez le site d'exemple
    3. 2.3 Installez Cypress
      1. 2.3.1 Installation avec npm
      2. 2.3.2 Installation avec yarn add
      3. 2.3.3 Installer une autre version
      4. 2.3.4 Installation avec pnpm add
      5. 2.3.5 Téléchargement direct
Configuration de Cypress
  1. 1. Configurez Cypress
    1. 1.1 Exécution de Cypress
    2. 1.2 Avant Cypress 10
    3. 1.3 À partir de Cypress 10
    4. 1.4 Paramètres du fichier de configuration
    5. 1.5 Exécution en ligne de commande
    6. 1.6 Cypress Studio
    7. 1.7 Intégration avec des outils de CI/CD
  2. 2. Gérez des dépendances
  3. 3. Mettez à jour Cypress
    1. 3.1 Vérifiez les mises à jour disponibles
    2. 3.2 Mettez à jour la version de Cypress
    3. 3.3 Testez votre suite de tests
    4. 3.4 Communiquez avec votre équipe
    5. 3.5 Planifiez des mises à jour régulières
  4. 4. Dépannez vos problèmes d'installation
    1. 4.1 Problèmes de réseau
    2. 4.2 Problèmes de dépendances de système d'exploitation
    3. 4.3 Problèmes de permissions
    4. 4.4 Espace disque insuffisant
    5. 4.5 Conflits de version de Node.js
    6. 4.6 Corruption du cache de Cypress
    7. 4.7 Incompatibilité avec le système d'exploitation
    8. 4.8 Erreurs de script d'installation post-installation
Maîtrisez la sélection des éléments avec Cypress
  1. 1. Fondamentaux de la sélection des éléments
    1. 1.1 Comprendre le DOM (Document Object Model)
    2. 1.2 Importance de la sélection précise des éléments
  2. 2. Sélecteurs CSS
  3. 3. Recommandation de Cypress
  4. 4. Pièges courants et comment les éviter
  5. 5. Utilisation des commandes de Cypress pour la sélection des éléments
    1. 5.1 Les tests avec Chai
    2. 5.2 Interaction avec un champ input
    3. 5.3 Interaction avec un bouton
    4. 5.4 Interaction avec une checkbox
    5. 5.5 Interaction avec un menu déroulant
    6. 5.6 Enchaînez les commandes
    7. 5.7 Interaction avec l'interface UI
    8. 5.8 Interaction avec le réseau
  6. 6. Gérer les éléments dynamiques et asynchrones
    1. 6.1 Attente explicite et implicite
    2. 6.2 Surveiller les changements d'état
    3. 6.3 Utilisation des callbacks pour les éléments dynamiques
    4. 6.4 Assertions conditionnelles
    5. 6.5 Tests de régression visuelle
  7. 7. Meilleures pratiques pour interagir avec les éléments
Premiers pas avec Cypress
  1. 1. Introduction à l'interface de Cypress
  2. 2. Cypress selector playground
  3. 3. Écrivez votre premier test Cypress
  4. 4. Déboguez vos tests
    1. 4.1 Types de messages d'erreur
    2. 4.2 Utilisez les captures d'écrans
    3. 4.3 Utilisez les vidéos
    4. 4.4 Utilisez la commande cy.debug()
    5. 4.5 Utilisez la commande cy.pause()
  5. 5. Appliquez les bonnes pratiques recommandées par Cypress
Qu'est-ce qu'un plan de test ?
  1. 1. Planification de vos tests de sécurité
  2. 2. Analysez et évaluez les exigences de test
    1. 2.1 Compréhension des exigences
    2. 2.2 Évaluation des risques
  3. 3. Établissez la stratégie de test
  4. 4. Identifiez les niveaux de test
  5. 5. Déterminez les types de test
  6. 6. Élaborez les techniques de test
  7. 7. Planifiez l'allocation des ressources
  8. 8. Définissez le calendrier de test
  9. 9. Créez les cas de test
  10. 10. Déterminez les livrables de tests
  11. 11. Gérez les risques et les problèmes
  12. 12. Assurez la communication et la coordination
  13. 13. Révisez et ajustez le plan de test
Tests de sécurité avec Cypress
  1. 1. Testez votre formulaire de contact
  2. 2. Vérifiez que les éléments du formulaire sont présents
  3. 3. Utilisez des hooks Cypress
  4. 4. Vérifiez que le formulaire peut être envoyé si les champs sont remplis correctement
  5. 5. Vérifiez que le formulaire vide ne peut pas être envoyé
  6. 6. Vérifiez s'il y a bien une erreur quand un champ est manquant dans un formulaire
  7. 7. Vérifiez que les champs ont des tailles minimales ou maximales
  8. 8. Vérifiez le respect du RGPD
  9. 9. Vérifiez que le formulaire ne contient pas de faille XSS
  10. 10. Vérifiez que le formulaire ne contient pas de faille d'injection SQL
  11. 11. Simulez une attaque DDoS sur votre formulaire
Gestion des variables d'environnement
  1. 1. Introduction aux variables d'environnement
  2. 2. Configuration des variables d'environnement
    1. 2.1 Configurez vos variables dans le fichier de configuration cypress.conf.js
    2. 2.2 Configurez vos variables dans des fichiers de configurations spécifiques à votre environnement
    3. 2.3 Configurez vos variables en ligne de commande
  3. 3. Stockage des secrets dans AWS Secrets Manager
    1. 3.1 Premier exemple avec l'accès direct aux secrets AWS
    2. 3.2 Deuxième exemple : SOPS
  4. 4. Bonnes pratiques
  5. 5. Débogage et dépannage
    1. 5.1 Vérification des variables d'environnement
    2. 5.2 Gestion des variables d'environnement spécifiques à l'environnement
    3. 5.3 Problèmes de valeurs de variables d'environnement inattendues
Tests de sécurité avancés avec Cypress
  1. 1. Tests d'authentification
    1. 1.1 Tester l'authentification à deux facteurs
      1. 1.1.1 Stratégies de test pour le MFA
      2. 1.1.2 Tester les flux MFA
      3. 1.1.3 Automatisation des tests de MFA
      4. 1.1.4 Gestion des sessions et des cookies
  2. 2. Tests de sécurité des API
  3. 3. Stubs, Spies and Clocks
    1. 3.1 Stubs
    2. 3.2 Spy
    3. 3.3 Clock
  4. 4. Session
  5. 5. Test isolation
    1. 5.1 Test isolation activé dans la configuration de Cypress
    2. 5.2 Test isolation désactivé dans la configuration de Cypress
Intégration de l’outil dans votre CI/CD
  1. 1. Importance des tests continus
  2. 2. Configuration de Cypress avec Jenkins
    1. 2.1 Job Jenkins
      1. 2.1.1 Image Docker personnalisée
      2. 2.1.2 Mochawesome
      3. 2.1.3 Screenshot + videos
      4. 2.1.4 Images Docker fournies par Cypress
    2. 2.2 Pipeline Jenkins
  3. 3. Configuration de Cypress avec Gitlab
  4. 4. Meilleures pratiques
Travailler avec des environnements multiples
  1. 1. Cypress Cloud
    1. 1.1 Prix
    2. 1.2 Installation
    3. 1.3 Ajouter Cypress Cloud dans GitHub
    4. 1.4 Intégration de GitHub dans Cypress Cloud
  2. 2. Tests parallèles et équilibrage de charge
    1. 2.1 Dans un job Jenkins
    2. 2.2 Dans Gitlab
  3. 3. Conseils pour les tests basés sur le cloud
Comment améliorer la couverture de vos tests
  1. 1. Utiliser des plugins Cypress pour la sécurité
  2. 2. Intégration avec des outils d'analyse de sécurité
    1. 2.1 OWASP
    2. 2.2 SQLMap
    3. 2.3 Autres outils
  3. 3. TDD (Test Driven Development)
  4. 4. Utiliser Gherkin et Cucumber
  5. 5. Comprendre ce que Cypress ne peut pas faire
Conclusion
  1. 1. Résumé des points clefs
    1. 1.1 Importance des tests de sécurité pour les applications web
    2. 1.2 Comment Cypress peut-il aider à renforcer la sécurité des applications web ?
    3. 1.3 Bugs trouvés dans notre application
  2. 2. Maintenir une attitude proactive face à la sécurité
  3. 3. Documentation et audit des processus de sécurité
  4.  
  5. Index
Auteur : Fanny VELSIN

Fanny VELSIN

Fanny VELSIN est ingénieur QA freelance et enseignante dans le domaine de la qualité, spécialisée dans le test logiciel et web, avec plus de dix ans d'expérience. Elle est experte dans l'amélioration des programmes web et logiciels grâce à ses compétences certifiées et à sa capacité à analyser et résoudre des problèmes complexes. Au quotidien, elle aide diverses entreprises à optimiser la qualité de leurs produits numériques, notamment en utilisant Cypress. Dans ce livre de référence sur Cypress, Fanny Velsin partage son expertise et contribue activement à la formation et à l'évolution du domaine du test logiciel moderne.
En savoir plus

Nos nouveautés

voir plus