Que sont les données de test dans les tests logiciels ?

⚡ Résumé intelligent

Les données de test, dans le cadre des tests logiciels, sont les données d'entrée fournies à une application lors de l'exécution des tests. Des données bien conçues permettent de réaliser des contrôles positifs, négatifs, de performance et de sécurité ; elles doivent donc être générées, anonymisées et mises à jour tout au long du cycle de vie du produit.

  • 🗓️ Planifier à l'avance: Créez des données de test en parallèle des cas de test afin que l'exécution ne soit jamais bloquée par des entrées manquantes ou une configuration d'environnement défaillante.
  • (I.e. Couvrir tous les scénarios : Préparez des ensembles de données de partition positive, négative, de frontière et d'équivalence qui soient séparés et clairement étiquetés.
  • 🛡️ Masquer avant de copier : Faire correspondre les ensembles de données de performance au volume et à la forme de la production, mais anonymiser les champs sensibles avant toute copie.
  • ⚙️ Automatisez les tâches les plus pénibles : Utilisez des générateurs ou des outils d'IA pour mettre à l'échelle des ensembles de données réalistes, réduire les efforts manuels et éviter les doublons.
  • (I.e. Actualisez chaque version : RevExaminer les ensembles de données après les modifications de schéma, les nouvelles fonctionnalités et les mises à jour réglementaires afin que les anciennes données ne produisent pas de faux positifs.

Données de test dans les tests de logiciels

En tant que testeur, vous pensez peut-être que concevoir des cas de test est déjà suffisamment complexe ; alors pourquoi s’intéresser à une tâche aussi routinière que la création de données de test ? Ce tutoriel présente les données de test, explique leur importance et propose des conseils pratiques pour les générer rapidement.

Que sont les données de test dans les tests logiciels ?

Données de test dans les tests de logiciels Les données de test sont les entrées fournies à un programme logiciel lors de l'exécution des tests. Elles représentent les données qui affectent le logiciel ou sont affectées par lui pendant les tests. Ces données sont utilisées lors des tests positifs (pour vérifier que les fonctions produisent les résultats attendus pour des entrées données) et lors des tests négatifs (pour vérifier comment le logiciel gère les entrées inhabituelles, exceptionnelles ou invalides).

Des données de test mal conçues ne couvrent pas tous les scénarios possibles, ce qui nuit directement à la qualité du logiciel.

Données de test dans les tests de logiciels

Qu’est-ce que la génération de données de test et pourquoi faut-il créer des données de test avant l’exécution des tests ?

Les tests constituent un processus qui génère et utilise d'importantes quantités de données. Ces données décrivent les conditions initiales d'un test et représentent le moyen d'interaction entre le testeur et le logiciel. Elles sont donc un élément crucial de la plupart des processus de test. tests fonctionnels.

Selon votre environnement de test, vous pourriez avoir besoin de créer des des données de test à partir de zéro, ou au moins identifier un jeu de données existant approprié pour vos tests. cas de testLes données de test sont généralement créées en synchronisation avec le cas de test qu'elles prennent en charge.

Les données de test peuvent être générées de quatre manières courantes :

  • Manuellement, par un testeur ou un analyste métier.
  • Copie massive de données d'un environnement de production vers l'environnement de test.
  • Copie en masse des données de test provenant des anciens systèmes clients.
  • Outils de génération automatisée de données de test.

Des données d'exemple doivent être générées. avant L'exécution des tests commence dès maintenant, car leur création ultérieure est complexe à gérer. De nombreux environnements de test nécessitent plusieurs étapes préliminaires ou une configuration fastidieuse avant le chargement des données. Si la génération des données a lieu pendant la phase d'exécution, vous risquez de ne pas respecter les délais de test.

Les sections ci-dessous décrivent plusieurs types de tests ainsi que des suggestions concernant leurs besoins en données de test.

Données de test pour le blanc Box Tests

In Blanc Box TestsLa gestion des données de test repose sur l'examen direct du code testé. Les critères de sélection comprennent généralement :

  • Couverture de la succursale : Générer des données de sorte que chaque branche du code source soit testée au moins une fois.
  • Tests de cheminement : Concevoir des données permettant de tester chaque chemin au moins une fois.
  • Négatif Test d'API: Utilisez des types de paramètres non valides ou des combinaisons d'arguments non valides pour appeler des méthodes internes.

Données de test pour les tests de performances

Test de performance Elle mesure la rapidité de réponse d'un système sous une charge de travail donnée. L'objectif n'est pas de détecter des bogues fonctionnels, mais d'identifier les goulots d'étranglement. L'ensemble de données d'exemple doit être très proche de réel ou en direct des données de production pour que les résultats soient significatifs.

Comment obtient-on de telles données ? La source la plus fiable est… Clients eux-mêmes. Ils peuvent soit fournir un jeu de données existant, soit décrire à quoi ressemblent les données réelles afin que vous puissiez les modéliser. Dans un tests de maintenance Dans le cadre de ce projet, vous pouvez copier les données de production vers l'environnement de test. C'est une bonne pratique. anonymiser (Brouiller) les champs sensibles — numéros de sécurité sociale, numéros de carte de crédit, coordonnées bancaires — avant toute copie.

Données de test pour les tests de sécurité

Test de sécurité vérifie qu'un système d'information protège les données contre les actes malveillants. Les ensembles de données doivent couvrir quatre piliers :

  • Confidentialité : Les informations des clients sont traitées avec la plus stricte confidentialité et ne sont en aucun cas partagées avec des tiers. Si l'application utilise le protocole SSL, des données de conception attestent de la validité du chiffrement.
  • Integrity: Les informations renvoyées par le système sont correctes. Construisez les données en examinant la conception, le code, les schémas de base de données et les structures de fichiers.
  • Authentification: Le processus d'établissement de l'identité de l'utilisateur. Utiliser différentes combinaisons de noms d'utilisateur et de mots de passe pour vérifier que seules les personnes autorisées peuvent accéder.
  • Autorisation: Les droits accordés à un utilisateur spécifique. Combinez utilisateurs, rôles et opérations pour garantir que seuls les utilisateurs disposant des privilèges suffisants peuvent effectuer une opération particulière.

Données de test pour le noir Box Tests

En noir Box Le test du code n'est pas visible pour le testeur. Les cas de test fonctionnels doivent inclure des données répondant aux critères suivants :

  • Aucune donnée : Vérifier la réponse lorsqu'aucune donnée n'est soumise.
  • Données valides : Vérifiez la réponse avec des données de test correctes.
  • Données invalides : Vérifier la réponse avec des données de test incorrectes.
  • Format de données illégal : Vérifier la réponse lorsque les données sont dans un format non pris en charge.
  • Ensemble de données sur les conditions aux limites : données situées aux limites minimales, maximales et juste en dehors.
  • Ensemble de données de partition d'équivalence : données représentant chaque classe d'équivalence.
  • Ensemble de données de table de décision : des données qui mettent en application chaque règle d'une table de décision.
  • Ensemble de données sur les transitions d'état : données qui pilotent le système à travers chaque transition d'état définie.
  • Données de test de cas d'utilisation : des données alignées sur les cas d'utilisation de bout en bout.

À noter: Selon l'application testée, vous pouvez utiliser tout ou partie des catégories ci-dessus.

Outils de génération de données de test automatisés

Les outils automatisés génèrent des ensembles de données volumineux et variés plus rapidement que n'importe quel processus manuel. Deux exemples bien connus sont :

  • Données de test DTM Generator — un utilitaire personnalisable qui génère des données, des tables, des vues et des procédures pour les scénarios de test de bases de données, notamment en matière de performance, d'assurance qualité, de charge et d'ergonomie.
  • Datatec - un SQL Générateur de données de Banner Software qui crée des données de test réalistes dans des fichiers plats ASCII ou directement dans des systèmes SGBDR tels que Oracle, Sybase, SQL Server et Informix.

Pour une liste restreinte évaluée et à jour, voir 10 meilleures données de test Generator Outils.

Meilleures pratiques pour gérer les données de test

Des données de test fiables dépendent d'un personnel de maison discipliné.pingSuivez ces pratiques pour garantir la qualité des ensembles de données lors des différentes versions :

  • Versionnez vos données : Stocker les ensembles de données dans un référentiel avec les cas de test qui les utilisent, afin que les modifications soient traçables.
  • Masquer les champs sensibles : anonymiser les données personnelles, financières et de santé avant de les copier à partir de la production.
  • Actualisez régulièrement : Reconstruire les ensembles de données à chaque version pour suivre l'évolution des schémas et des règles métier.
  • Documenter les résultats attendus : Associez chaque ensemble de données au résultat attendu afin de faciliter le tri des échecs.
  • Automatiser l'ensemencement : Utilisez des scripts ou des fixtures pour charger les données au début de chaque exécution de test, afin de garantir la reproductibilité.

FAQ

Les données de test désignent toutes les entrées fournies au logiciel lors des tests. Pour un formulaire de connexion, il peut s'agir par exemple d'un nom d'utilisateur et d'un mot de passe valides (données positives), d'un mot de passe vide (données négatives) et d'une adresse électronique de 300 caractères (données limites).

Un cas de test décrit les étapes et le résultat attendu d'un scénario donné. Les données de test correspondent aux valeurs d'entrée spécifiques utilisées pour ces étapes. Chaque cas de test nécessite son propre jeu de données pour mettre en œuvre le scénario.

Les données suffisantes sont celles qui couvrent chaque classe d'équivalence, limite et scénario pondéré par les risques. Le volume seul ne garantit pas une couverture complète. Associez les données aux cas de test et cessez d'ajouter des enregistrements dès que les lacunes de couverture sont comblées.

Ce n'est qu'après avoir masqué les champs sensibles tels que les noms, les numéros de compte et les données de santé que les données de production sensibles peuvent être divulguées. Le non-masquage de ces données constitue une violation des réglementations comme le RGPD et la loi HIPAA et représente un risque réel de violation de données si l'environnement de test est compromis.

Les catégories courantes sont : données valides, invalides, limites, partitions d’équivalence, tables de décision, transitions d’état, cas d’utilisation et absence de données. Chaque catégorie cible un risque différent dans l’application testée.

Actualisez les données de test après chaque modification de schéma, mise à jour majeure, mise à jour réglementaire ou tout changement de comportement en production. Les jeux de données obsolètes ne prennent pas en compte les nouvelles règles de validation et génèrent des faux positifs lors des tests de régression.

Les outils d'IA synthétisent des ensembles de données réalistes et variés qui respectent les règles métier, masquent les informations personnelles et équilibrent les cas positifs et négatifs. Ils repèrent également les scénarios manquants en analysant les exigences et la couverture de test existante.

Non. L'IA accélère la génération et valide les tendances, mais l'évaluation des risques commerciaux, des cas particuliers et des exigences de conformité reste indispensable. Les équipes les plus performantes associent les ensembles de données générés par l'IA à une curation experte.

Résumez cet article avec :