Contenu du cours
Introduction aux Tests Manuels et à l'Assurance Qualité dans le Développement Web
Introduction aux Tests Manuels et à l'Assurance Qualité dans le Développement Web
Tests d'Intégration
Introduction
Les tests d'intégration sont un concept large, cependant nous allons essayer de couvrir tous les aspects importants des tests d'intégration dans ce chapitre.
Les tests d'intégration sont une méthode de test classée sous Tests fonctionnels. Les tests d'intégration sont un concept large et ont de nombreux types différents.
Dans les tests d'intégration, les unités ou modules individuels du logiciel sont combinés et testés ensemble, pour s'assurer qu'ils fonctionnent correctement ensemble sans aucun problème dans leur interaction.
C'est pourquoi les tests d'intégration sont généralement effectués après les tests unitaires. Un exemple de tests d'intégration serait de vérifier si un utilisateur peut se connecter correctement à son compte après avoir saisi les bonnes informations d'identification. Nous avons effectué de nombreux tests similaires dans la dernière section. La plupart, sinon tous, ceux que nous avons effectués dans la dernière section relèvent de la catégorie des tests d'intégration.
Dans notre application de chat, le système de connexion / inscription est construit à l'aide de plusieurs unités. Le front-end de l'application qui inclut le formulaire de connexion ou d'inscription, les champs et les boutons, représente un module séparé, tandis que le back-end de l'application, par exemple la base de données qui stocke les informations de l'utilisateur, représente un module différent. Ces deux modules interagissent ensemble pour former le système de connexion / inscription.
Mises à jour dans notre application
Des mises à jour ont été apportées à l'application de chat. Voici un résumé des mises à jour :
- Les utilisateurs ne peuvent plus envoyer de messages vides dans le chat.
- L'historique du chat est enregistré dans la base de données et affiché aux utilisateurs.
Types de Tests d'Intégration
Nous allons effectuer quelques tests d'intégration sur cette nouvelle version de l'application. Cependant, avant cela, nous devons examiner les différents types de Tests d'Intégration.
-
Test Big Bang : Dans ce type de test, tous les modules sont combinés et testés en même temps.
-
Test Descendant : Dans ce type de test, les composants de niveau supérieur sont testés en premier, puis les composants de niveau inférieur sont testés ensuite. Cette approche aide à trouver des erreurs ou des problèmes avec les fonctionnalités de niveau supérieur ou de l'utilisateur à un stade précoce du test.
-
Test Ascendant : Dans cette approche de test, les composants de niveau inférieur, ou les composants qui sont derrière l'abstraction de l'utilisateur, sont testés avant les composants de niveau supérieur. Les composants de niveau inférieur sont plus faciles à tester car ils sont plus stables et plus proches du code fonctionnel de l'application.
-
Test d'Intégration Sandwich : Cette approche combine les approches Descendante et Ascendante. Dans cette approche de test, les tests commencent simultanément à partir des composants ou modules de niveau le plus bas et le plus élevé.
-
Test Incrémental : Dans cette approche, l'application est testée à mesure que de nouveaux modules sont ajoutés. Chaque incrément est testé minutieusement avant de passer au suivant.
Le type d'approche que nous devrions utiliser dans nos tests dépend de la structure de notre application et surtout de la manière dont le processus de développement progresse.
Par exemple, si tous les modules progressent au même rythme ou sont prêts en même temps, alors le Test Big Bang est le plus approprié car nous pouvons tester tous les modules en même temps.
Si les modules sont développés à partir d'un niveau bas, alors l'approche Ascendante est la plus appropriée, et si les modules de niveau supérieur sont prêts avant que les modules de niveau inférieur ne soient terminés, alors l'approche Descendante est meilleure. S'il n'y a pas d'ordre particulier dans la manière dont les modules sont développés, alors le test incrémental est approprié. Étant donné que le test sandwich combine les approches descendante et ascendante, il est donc approprié lorsque le développement progresse à la fois à partir du niveau bas et du niveau élevé en même temps.
Dans notre application, nous avons le module de niveau supérieur (Interface Utilisateur) et le module de niveau inférieur (Base de Données) tous deux partiellement complétés en même temps, et il manque un module de niveau intermédiaire, qui est l'API que nous avions planifiée au début. Bien que l'UI et la base de données puissent fonctionner sans l'API, ces deux modules peuvent donc fonctionner ensemble et être testés ensemble. Par conséquent, dans notre cas, la forme de test d'intégration la plus appropriée serait le Test d'Intégration Sandwich.
La première étape pour rédiger des cas de test est d'identifier les exigences de l'application. Parfois, il y a des exigences techniques ou des contraintes qui sont importantes si l'application est développée d'une certaine manière. Par exemple, la base de données de notre application de chat peut stocker un nom d'utilisateur pouvant contenir jusqu'à 36 caractères. Nous pouvons le savoir en regardant le code, cependant, dans certains cas, le testeur n'a pas accès ou connaissance du code. Dans de tels cas, le testeur peut utiliser les exigences ou contraintes définies du projet si elles sont fournies.
Exigences pour la fonctionnalité d'enregistrement :
- Le nom d'utilisateur ne peut pas dépasser 36 caractères.
- Le nom d'utilisateur ne peut pas contenir de caractères spéciaux autres que
! @ # $ % ^ & * ( ) _ - + = { } [ ] : . ? /
. - Le mot de passe ne peut pas contenir de caractères spéciaux autres que
! @ # $ % ^ & * ( ) _ - + = { } [ ] : . ? /
. - Le mot de passe doit comporter au moins 8 caractères.
Exigences pour la fonctionnalité de chat :
- Les messages de chat doivent être envoyés aux autres utilisateurs en temps réel.
- L'application doit enregistrer l'historique des chats.
- L'application doit afficher l'historique des chats enregistré dans la boîte de chat.
- La boîte de chat doit défiler automatiquement vers le bas en cas de débordement de contenu.
Merci pour vos commentaires !