En tant que testeur, vous pensez peut-être que «la conception de cas de test est déjà assez difficile, alors pourquoi s'inquiéter de quelque chose d'aussi trivial que les données de test». Le but de ce didacticiel est de vous présenter les données de test, leur importance et de vous donner des conseils et astuces pratiques pour générer rapidement des données de test. Alors, commençons!
Qu'est-ce que les données de test dans les tests logiciels?
Les données de test dans le test logiciel sont les données d'entrée données à un programme logiciel lors de l'exécution du test. Il représente les données qui affectent ou affectent l'exécution du logiciel pendant les tests. Les données de test sont utilisées à la fois pour les tests positifs pour vérifier que les fonctions produisent les résultats attendus pour des entrées données et pour les tests négatifs pour tester la capacité du logiciel à gérer des entrées inhabituelles, exceptionnelles ou inattendues.
Des données de test mal conçues peuvent ne pas tester tous les scénarios de test possibles, ce qui nuira à la qualité du logiciel.
Qu'est-ce que la génération de données de test? Pourquoi les données de test doivent-elles être créées avant l'exécution du test?
Tout le monde sait que les tests sont un processus qui produit et consomme de grandes quantités de données. Les données utilisées dans les tests décrivent les conditions initiales d'un test et représentent le support par lequel le testeur influence le logiciel. C'est une partie cruciale de la plupart des tests fonctionnels.
En fonction de votre environnement de test, vous devrez peut-être CRÉER des données de test (la plupart du temps) ou au moins identifier des données de test appropriées pour vos cas de test (les données de test sont-elles déjà créées).
En général, les données de test sont créées en synchronisation avec le scénario de test pour lequel elles sont destinées à être utilisées.
Les données de test peuvent être générées -
- Manuellement
- Copie en masse des données de la production à l'environnement de test
- Copie en masse des données de test des systèmes clients hérités
- Outils automatisés de génération de données de test
En règle générale, des exemples de données doivent être générés avant de commencer l'exécution du test car il est difficile de gérer la gestion des données de test dans le cas contraire. Étant donné que dans de nombreux environnements de test, la création de données de test nécessite plusieurs étapes préalables ou des configurations d'environnement de test très chronophages. . De plus, si la génération des données de test est effectuée pendant que vous êtes en phase d'exécution de test, vous pouvez dépasser votre délai de test.
Vous trouverez ci-dessous une description de plusieurs types de tests ainsi que quelques suggestions concernant leurs besoins en données de test.
Données de test pour les tests en boîte blanche
Dans White Box Testing, la gestion des données de test est dérivée de l'examen direct du code à tester. Les données de test peuvent être sélectionnées en tenant compte des éléments suivants:
- Il est souhaitable de couvrir autant de branches que possible; les données de test peuvent être générées de telle sorte que toutes les branches du code source du programme soient testées au moins une fois
- Test de chemin: tous les chemins du code source du programme sont testés au moins une fois - la préparation des données de test peut être effectuée pour couvrir autant de cas que possible
- Test d'API négatif:
- Les données de test peuvent contenir des types de paramètres non valides utilisés pour appeler différentes méthodes
- Les données de test peuvent consister en des combinaisons non valides d'arguments utilisés pour appeler les méthodes du programme
Données de test pour les tests de performance
Le test de performance est le type de test qui est effectué afin de déterminer la vitesse à laquelle le système répond sous une charge de travail particulière. Le but de ce type de test n'est pas de trouver des bogues, mais d'éliminer les goulots d'étranglement. Un aspect important des tests de performance est que l'ensemble de données d'échantillonnage utilisé doit être très proche des données «réelles» ou «en direct» utilisées en production. La question suivante se pose: «Ok, c'est bien de tester avec des données réelles, mais comment puis-je obtenir ces données? La réponse est assez simple: des personnes qui connaissent le mieux - les clients . Ils peuvent être en mesure de fournir certaines données dont ils disposent déjà ou, s'ils ne disposent pas d'un ensemble de données existant, ils peuvent vous aider en donnant des commentaires sur l'apparence des données du monde réel. Dans le cas où vous êtes dans unprojet de test de maintenance , vous pouvez copier les données de l'environnement de production dans le banc de test. Il est recommandé de rendre anonyme (brouiller) les données client sensibles telles que le numéro de sécurité sociale, les numéros de carte de crédit, les coordonnées bancaires, etc. pendant la copie.
Données de test pour les tests de sécurité
Le test de sécurité est le processus qui détermine si un système d'information protège les données contre les intentions malveillantes. L'ensemble de données à concevoir pour tester complètement une sécurité logicielle doit couvrir les sujets suivants:
- Confidentialité: Toutes les informations fournies par les clients sont conservées dans la plus stricte confidentialité et ne sont pas partagées avec des tiers. À titre d'exemple, si une application utilise SSL, vous pouvez concevoir un ensemble de données de test qui vérifie que le cryptage est effectué correctement.
- Intégrité: vérifiez que les informations fournies par le système sont correctes. Pour concevoir des données de test appropriées, vous pouvez commencer par examiner en profondeur la conception, le code, les bases de données et les structures de fichiers.
- Authentification: représente le processus d'établissement de l'identité d'un utilisateur. Les données de test peuvent être conçues comme une combinaison différente de noms d'utilisateur et de mots de passe et leur objectif est de vérifier que seules les personnes autorisées peuvent accéder au système logiciel.
- Autorisation: indique quels sont les droits d'un utilisateur spécifique. Les données de test peuvent contenir une combinaison différente d'utilisateurs, de rôles et d' opérations afin de vérifier que seuls les utilisateurs disposant de privilèges suffisants sont capables d'effectuer une opération particulière.
Données de test pour les tests de la boîte noire
Dans Black Box Testing, le code n'est pas visible par le testeur. Vos cas de test fonctionnels peuvent avoir des données de test répondant aux critères suivants -
- Pas de données : vérifiez la réponse du système lorsqu'aucune donnée n'est soumise
- Données valides : vérifiez la réponse du système lorsque des données de test valides sont soumises
- Données non valides : vérifiez la réponse du système lorsque des données de test InValid sont soumises
- Format de données illégal : vérifiez la réponse du système lorsque les données de test sont dans un format non valide
- Ensemble de données de condition aux limites : données de test répondant aux conditions de valeur aux limites
- Jeu de données de partition d'équivalence : testez les données qualifiant vos partitions d'équivalence.
- Ensemble de données de table de décision : données de test qualifiant votre stratégie de test de table de décision
- Ensemble de données de test de transition d'état : les données de test répondent à votre stratégie de test de transition d'état
- Données de test de cas d'utilisation : les données de test sont synchronisées avec vos cas d'utilisation.
Remarque : en fonction de l'application logicielle à tester, vous pouvez utiliser tout ou partie de la création de données de test ci-dessus
Outils automatisés de génération de données de test
Afin de générer divers ensembles de données, vous pouvez utiliser une gamme d'outils de génération automatisée de données de test. Voici quelques exemples de tels outils:
Le générateur de données de test DTM est un utilitaire entièrement personnalisable qui génère des données, des tables (vues, procédures, etc.) à des fins de test de base de données (test de performance, test d'assurance qualité, test de charge ou test d'utilisation).
Datatect est un générateur de données SQL de Banner Software, génère une variété de données de test réalistes dans des fichiers plats ASCII ou génère directement des données de test pour le SGBDR, notamment Oracle, Sybase, SQL Server et Informix.
Conclusion
En conclusion, des données de test bien conçues vous permettent d'identifier et de corriger de graves failles de fonctionnalité. Le choix des données de test sélectionnées doit être réévalué à chaque phase d'un cycle de développement de produit en plusieurs phases. Alors, gardez toujours un œil dessus.