• Aide
  • Eurêkoi Eurêkoi

Livre

Testez votre application web avec Cypress

Résumé

Une présentation de Cypress, un outil open source permettant de créer, d'appliquer et d'automatiser des tests fonctionnels pour des applications. L'interface, la rédaction de plans de test, l'automatisation de l'exécution dans Cypress Cloud sont notamment traitées, avec des exemples disponibles en téléchargement. ©Electre 2024


  • Éditeur(s)
  • Date
    • C 2024
  • Notes
    • La couv. porte en plus : "En téléchargement : projet d'exemple"
    • La 4e de couv. indique : Sur www.editions-eni.fr : Le projet d'exemple du livre
    • Contient un "flashcode" permettant d'accéder à un contenu
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (332 p.) : ill. ; 21 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-04596-7
  • Indice
  • Quatrième de couverture
    • Testez votre application web avec Cypress

      Ce livre 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 livre 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 RG PD, les failles CSS ou les injections SQL.

      La suite du livre 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.


  • Tables des matières
      • Testez votre application web avec Cypress

      • Fanny Velsin

      • Avant-propos
      • Chapitre 1
      • Introduction à la sécurité
      • 1. Importance de la sécurité des applications web11
      • 1.1 Les conséquences des failles de sécurité12
      • 1.1.1 Vol de données sensibles12
      • 1.1.2 Utilisation abusive des comptes d'utilisateurs13
      • 1.1.3 Altération ou destruction de données14
      • 1.1.4 Impact sur la disponibilité du système15
      • 1.1.5 Responsabilité légale et réglementaire16
      • 1.2 L'importance de la protection des données sensibles17
      • 1.2.1 Confidentialité des informations personnelles17
      • 1.2.2 Respect des réglementations18
      • 1.2.3 Préservation de la confiance des clients18
      • 1.2.4 Protection des secrets commerciaux et de la propriété intellectuelle18
      • 1.2.5 Prévention des pertes financières18
      • 2. Les principaux acteurs de la sécurité des applications web19
      • 2.1 Les développeurs19
      • 2.1.1 Connaissance des vulnérabilités19
      • 2.1.2 Utilisation de bonnes pratiques de codage sécurisé19
      • 2.1.3 Tests de sécurité20
      • 2.1.4 Sensibilisation à lasécurité20
      • 2.1.5 Collaboration avec les équipes desécurité20
      • 2.1.6 Suivi des mises à jour de sécurité20
      • 2.2 Les testeurs20
      • 2.2.1 Tests d'intrusion21
      • 2.2.2 Analyses de vulnérabilités21
      • 2.2.3 Tests de conformité21
      • 2.2.4 Collaboration avec les développeurs21
      • 2.2.5 Documentation des résultats21
      • 2.2.6 Veille technologique22
      • 2.3 Les auditeurs22
      • 2.3.1 Évaluation de la sécurité22
      • 2.3.2 Conformité réglementaire22
      • 2.3.3 Analyse des politiques de sécurité22
      • 2.3.4 Tests d'intrusion avancés23
      • 2.3.5 Rapports d'audit23
      • 2.3.6 Suivi des recommandations23
      • 3. Les principaux objectifs de la sécurité des applications web23
      • 3.1 Confidentialité des données23
      • 3.2 Intégrité des données24
      • 4. Les menaces courantes pour les applications web25
      • 4.1 ISO 27001 : un des standards de sécurité25
      • 4.2 Lesattaquesparinjection26
      • 4.3 Les attaques par force brute27
      • 4.4 Les attaques par contournement d'authentification27
      • 4.5 Les attaques par déni de service27
      • 4.6 Les attaques par manipulation de session28
      • 4.7 Les attaques par falsification de requêtes intersite (CSRF)28
      • 5. Les principes de base de la sécurité des applications web30
      • 5.1 Le principe du moindre privilège30
      • 5.2 Le principe de la défense en profondeur31
      • 5.3 Le principe de la validation des entrées32
      • Chapitre 2
      • Introduction à Cypress
      • 1. Les avantages de Cypress35
      • 1.1 Définition d'un test flaky (instable)36
      • 1.2 Cypress : la clé d'une meilleure qualité logicielle37
      • 1.3 Cypress vs. d'autres outils : les avantages indéniables41
      • 1.3.1 Sélénium41
      • 1.3.2 Playwright42
      • 2. Mettez en place votre environnement Cypress45
      • 2.1 Configuration requise45
      • 2.1.1 Node. js46
      • 2.1.2 Matériel requis46
      • 2.1.3 Prérequis Linux47
      • 2.1.4 Docker47
      • 2.2 Téléchargez le site d'exemple47
      • 2.3 Installez Cypress49
      • 2.3.1 Installation avec npm49
      • 2.3.2 Installation avec yarn add50
      • 2.3.3 Installer une autre version50
      • 2.3.4 Installation avecpnpm add50
      • 2.3.5 Téléchargementdirect51
      • Chapitre 3
      • Configuration de Cypress
      • 1. Configurez Cypress53
      • 1.1 Exécution de Cypress53
      • 1.2 Avant Cypress 1054
      • 1.3 À partir de Cypress 1057
      • 1.4 Paramètres du fichier de configuration63
      • 1.5 Exécution en ligne de commande64
      • 1.6 Cypress Studio66
      • 1.7 Intégration avec des outils de CI/CD70
      • 2. Gérez des dépendances72
      • 3. Mettez à jour Cypress73
      • 3.1 Vérifiez les mises à jour disponibles74
      • 3.2 Mettez à jour la version de Cypress77
      • 3.3 Testez votre suite de tests77
      • 3.4 Communiquez avec votre équipe78
      • 3.5 Planifiez des mises à jour régulières78
      • 4. Dépannez vos problèmes d'installation78
      • 4.1 Problèmes de réseau78
      • 4.2 Problèmes de dépendances de système d'exploitation79
      • 4.3 Problèmes de permissions80
      • 4.4 Espace disque insuffisant81
      • 4.5 Conflits de version de Node. js81
      • 4.6 Corruption du cache de Cypress82
      • 4.7 Incompatibilité avec le système d'exploitation82
      • 4.8 Erreurs de script d'installation post-installation83
      • Chapitre 4
      • Maîtrisez la sélection des éléments avec Cypress
      • 1. Fondamentaux de la sélection des éléments85
      • 1.1Comprendre le DOM (Document Object Model)85
      • 1.2 Importance de la sélection précise des éléments87
      • 2. Sélecteurs CSS90
      • 3. Recommandation de Cypress92
      • 4. Pièges courants et comment les éviter95
      • 5. Utilisation des commandes de Cypress pour la sélection des éléments97
      • 5.1 Les tests avec Chai97
      • 5.2 Interaction avec un champ input98
      • 5.3 Interaction avec un bouton101
      • 5.4 Interaction avec une checkbox101
      • 5.5 Interaction avec un menu déroulant102
      • 5.6 Enchaînez les commandes103
      • 5.7 Interaction avec l'interface UI103
      • 5.8 Interaction avec le réseau105
      • 6. Gérer les éléments dynamiques et asynchrones107
      • 6.1 Attente explicite et implicite107
      • 6.2 Surveiller les changements d'état108
      • 6.3 Utilisation des callbacks pour les éléments dynamiques109
      • 6.4 Assertions conditionnelles109
      • 6.5 Tests de régression visuelle110
      • 7. Meilleures pratiques pour interagir avec les éléments111
      • Chapitre 5
      • Premiers pas avec Cypress
      • 1. Introduction à l'interface de Cypress115
      • 2. Cypress selector playground123
      • 3. Écrivez votre premier test Cypress127
      • 4. Déboguez vos tests128
      • 4.1 Types de messages d'erreur128
      • 4.2 Utilisez les captures d'écrans129
      • 4.3 Utilisez les vidéos131
      • 4.4 Utilisez la commande cy. Debug()132
      • 4.5 Utilisez la commande cy. pause()133
      • 5. Appliquez les bonnes pratiques recommandées par Cypress134
      • Chapitre 6
      • Qu'est-ce qu'un plan de test ?
      • 1. Planification de vos tests de sécurité137
      • 2. Analysez et évaluez les exigences de test138
      • 2.1 Compréhension des exigences138
      • 2.2 Évaluation des risques139
      • 3. Établissez la stratégie de test143
      • 4. Identifiez les niveaux de test144
      • 5. Déterminez les types de test145
      • 6. Élaborez les techniques de test146
      • 7. Planifiez l'allocation des ressources146
      • 8. Définissez le calendrier de test147
      • 9. Créez les cas de test148
      • 10. Déterminez les livrables de tests148
      • 11. Gérez les risques et les problèmes148
      • 12. Assurez la communication et la coordination149
      • 13. Révisez et ajustez le plan de test149
      • Chapitre 7
      • Tests de sécurité avec Cypress
      • 1. Testez votre formulaire de contact151
      • 2. Vérifiez que les éléments du formulaire sont présents153
      • 3. Utilisez des hooks Cypress156
      • 4. Vérifiez que le formulaire peut être envoyé si les champs sont remplis correctement157
      • 5. Vérifiez que le formulaire-vide ne peut pas être envoyé158
      • 6. Vérifiez s'il y a bien une erreur quand un champ est manquant dans un formulaire161
      • 7. Vérifiez que les champs ont des tailles minimales ou maximales163
      • 8. Vérifiez le respect du RGPD166
      • 9. Vérifiez que le formulaire ne contient pas de faille XSS169
      • 10. Vérifiez que le formulaire ne contient pas de faille d'injection SQL171
      • 11. Simulez une attaque DDoS sur votre formulaire174
      • Chapitre 8
      • Gestion des variables d'environnement
      • 1. Introduction aux variables d'environnement177
      • 2. Configuration des variables d'environnement178
      • 2.1 Configurez vos variables dans le fichier de configuration cypress. conf. js178
      • 2.2 Configurez vos variables dans des fichiers de configurations spécifiques à votre environnement179
      • 2.3 Configurez vos variables en ligne de commande180
      • 3. Stockage des secrets dans AWS Secrets Manager181
      • 3.1 Premier exemple avec l'accès direct aux secrets AWS181
      • 3.2 Deuxième exemple : SOPS183
      • 4. Bonnes pratiques183
      • 5. Débogage et dépannage184
      • 5.1 Vérification des variables d'environnement184
      • 5.2 Gestion des variables d'environnement spécifiques à l'environnement185
      • 5.3 Problèmes de valeurs de variables d'environnement inattendues185
      • Chapitre 9
      • Tests de sécurité avancés avec Cypress
      • 1. Tests d'authentification187
      • 1.1 Tester l'authentification à deux facteurs188
      • 1.1.1 Stratégies de test pour le MFA190
      • 1.1.2 Tester les flux MFA194
      • 1.1.3 Automatisation des tests de MFA199
      • 1.1.4 Gestion des sessions et des cookies203
      • 2. Tests de sécurité des API206
      • 3. Stubs, Spies and Clocks212
      • 3.1 Stubs212
      • 3.2 Spy215
      • 3.3 Clock216
      • 4. Session217
      • 5. Test isolation221
      • 5.1 Test isolation activé dans la configuration de Cypress222
      • 5.2 Test isolation désactivé dans la configuration de Cypress223
      • Chapitre 10
      • Intégration de l'outil dans votre CI/CD
      • 1. Importance des tests continus227
      • 2. Configuration de Cypress avec Jenkins229
      • 2.1 Job Jenkins230
      • 2.1.1 Image Docker personnalisée230
      • 2.1.2 Mochawesome252
      • 2.1.3 Screenshot + videos256
      • 2.1.4 Images Docker fournies par Cypress258
      • 2.2 Pipeline Jenkins259
      • 3. Configuration de Cypress avec Gitlab265
      • 4. Meilleures pratiques266
      • Chapitre 11
      • Travailler avec des environnements multiples
      • 1. Cypress Cloud267
      • 1.1 Prix269
      • 1.2 Installation270
      • 1.3 Ajouter Cypress ClouddansGitHub282
      • 1.4 Intégration de GitHub dans Cypress Cloud293
      • 2. Tests parallèles et équilibrage de charge296
      • 2.1 Dans un job Jenkins296
      • 2.2 Dans Gitlab300
      • 3. Conseils pour les tests basés sur le cloud300
      • Chapitre 12
      • Comment améliorer la couverture de vos tests
      • 1. Utiliser des plugins Cypress pour la sécurité303
      • 2. Intégration avec des outils d'analyse de sécurité305
      • 2.1 OWASP305
      • 2.2 SQLMap308
      • 2.3 Autres outils310
      • 3. TDD (Test Driven Development)311
      • 4. Utiliser Gherkin et Cucumber313
      • 5. Comprendre ce que Cypress ne peut pas faire316
      • Conclusion
      • 1. Résumé des points clefs319
      • 1.1 Importance des tests de sécurité pour les applications web319
      • 1.2 Comment Cypress peut-il aider à renforcer la sécurité des applications web ?320
      • 1.3 Bugs trouvés dans notre application322
      • 2. Maintenir une attitude proactive face à la sécurité323
      • 3. Documentation et audit des processus de sécurité323
      • Index325

  • Origine de la notice:
    • Electre
  • Disponible - A partir du 25 août 2025 - 681.51 VEL