Les tests sont devenus un aspect important du développement web pour deux raisons, vérifier qu'une application fonctionne correctement et assurer la meilleure expérience utilisateur possible. Il existe différents types de tests, mais aujourd'hui, nous nous concentrerons principalement sur les tests de bout en bout (end to end) et sur la manière de les mettre en œuvre à l'aide de Cypress.
Dans l'article précédent nous avons donné une abréviation sur Cypress (Qu'est ce que Cypress ?, comment installer Cypress ?.......etc), Pour plus d'information sur le processus d'installation, nous avons un article pour vous qui détail toute l'installation et la configuration.
Nous avons l’habitude de séparer les tests en deux catégories (même s’il en existe davantage) : les tests unitaires et les tests fonctionnels.
Le test unitaire est un processus de vérification d'une unique unité de logiciel, elle-même définie comme étant la plus petite partie non divisible d'un code source. Par exemple, dans le cadre d'un développement en langage C, il est communément admis que l'unité de logiciel est une fonction de code.
Les tests unitaires doivent être effectués avant la mise en production du logiciel, sinon ils font perdre du temps qui pourrait être consacré à l’écriture de nouvelles fonctionnalités, à la correction de bogues ou à l’amélioration du code. Les tests unitaires sont également particulièrement utiles lors du développement de bibliothèques de code réutilisables, car celles-ci peuvent être réutilisées à l’infini dans différents projets sans provoquer d’interactions indésirables avec d’autres parties du système.
Les tests fonctionnels sont définis comme une méthode permettant de tester la fonctionnalité d'une application logicielle. Le plus souvent, les tests fonctionnels sont utilisés pour vérifier des scénarios ou des modèles d'utilisation de bout en bout.
Les tests fonctionnels sont généralement lancés une fois que tout le code a été écrit et testé de manière unitaire, car les exigences fonctionnelles sont souvent complexes et plus difficiles à évaluer. Les tests fonctionnels sont également utilisés après les tests unitaires lorsqu’un développeur a des difficultés à faire fonctionner l’implémentation d’une méthode comme prévu.
Le but ultime des tests unitaires est de décomposer chaque partie des codes sources en unités et de voir si chaque partie fonctionne correctement. Cela signifie que si un ensemble d'entrées n'est pas fonctionnel, la sortie de retour est attendue.
Il existe deux types de tests fonctionnels : les tests fonctionnels de progression et les tests fonctionnels de non régression.
Difficile de faire la liste exhaustive des fonctionnalités offertes par Cypress dans un seul article tellement elles sont nombreuses. Voici néanmoins un résumé des avantages majeur de Cypress, testés par notre équipe :
Voilà c’est tout pour aujourd’hui ! J’espère que cet article vous a donné envie d’utiliser Cypress dans vos développements ! Il y a beaucoup de possibilités d’utilisation avec Cypress, comme l’intégration continue avec la commande cypress run qui va jouer les tests et retourner les cas de réussite ou d’échecs.