Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le test piloté par les données est une méthodologie de test où les valeurs d’entrée et de sortie d’un test sont séparées du code. Ce formalisme signifie généralement qu’un petit investissement dans la création du code de test un peu plus générique permet à un grand nombre de cas de test d’être écrits en identifiant simplement les données impliquées.
Le test piloté par les données est idéal pour les zones de test qui fonctionnent avec un ensemble de valeurs d’entrée qui définissent leur comportement ( par exemple, lors du test d’une API, les paramètres d’entrée et de sortie peuvent être définis comme une source de données, et le code de test consomme les données, effectue les appels d’API et valide les résultats.
Prise en charge des tests pilotés par les données dans TAEF
TAEF offre une variété d’options pour la création de tests pilotés par les données. Comprenons ces options pour vous permettre de choisir celle qui correspond le mieux à votre scénario de test.
La solution de test basé sur des données basée sur des tables vous permet de contrôler correctement les variations de paramètres de données, ainsi que de définir les types de paramètres. La source de données dans ce cas est une table définie dans un fichier XML. Vous pouvez spécifier les types de paramètres (int, int non signé, size_t, bool, double, DWORD, __int64, etc. et leur variante de tableau homogène), ou laisser le type par défaut à WEX::Common::String (natif) ou string (géré). Chaque ligne de la table est un ensemble de variantes sur les valeurs de paramètre. La méthode de test sera réinvocée pour chaque ligne de la table. Voici un extrait de code d’une source de données XML pour les tests basés sur des données basées sur des tables :
1 <?xml version="1.0"?>
2 <Data>
3 <Table Id ="Table1">
4 <ParameterTypes>
5 <ParameterType Name="Size">Int32</ParameterType>
6 <ParameterType Name="Color">String</ParameterType>
7 </ParameterTypes>
8 <Row>
9 <Parameter Name="Size">12</Parameter>
10 <Parameter Name="Color">Blue</Parameter>
11 </Row>
12 <Row>
13 <Parameter Name="Size">4</Parameter>
14 <Parameter Name="Color">White</Parameter>
15 </Row>
16 <Row>
17 <Parameter Name="Size">9</Parameter>
18 <Parameter Name="Color">Black</Parameter>
19 </Row>
20 </Table>
21 </Data>
Pour en savoir plus : tests basés sur des données tabulaires.
La prise en charge des tests pilotés par les données légers n'offre pas la fidélité complète que la solution de test basée sur des données structurées en tableau propose. Pour clarifier : Le test léger basé sur les données limite les paramètres de données à WEX::Common::String(native) ou String(managed), contrairement aux différents types pris en charge par la solution de test basé sur des données tabulaires. Toutefois, si vous recherchez une variation de données à faible coût et rapide (par exemple, un ou deux paramètres) pour créer une méthode de test pilotée par les données, et ajouter un fichier XML comme DataSource semble ne pas valoir la peine, les tests pilotés par les données légèrement pondérés peuvent être exactement ce que vous recherchez. Un excellent exemple est un développeur qui écrit un test unitaire pour une API, par exemple OpenThemeData(...) et souhaite vérifier l’API par rapport à « Button », « Listbox » et « ScrollBar ». Il peut s’agir d’une surcharge trop importante pour créer un fichier DataSource XML pour cela, mais avec un test piloté par les données léger, cela peut être effectué efficacement dans le code source lui-même. Si plusieurs paramètres sont spécifiés, TAEF génère une expansion combinatoire des paramètres en n dimensions en arrière-plan et la méthode de test est appelée pour chaque combinaison. Pour en savoir plus : tests légers et pilotés par les données.
L'expansion combinatoire n-directionnelle que les tests légers pilotés par les données offrent peut devenir coûteuse et offrir des retours décroissants à mesure que le scénario de test se complexifie. Dans un tel scénario de test complexe, le Pairwise Independent Combinatorial Testing (PICT) proposé par la solution de test piloté par les données PICT pourrait être exactement ce que vous recherchez. PICT fournit beaucoup de valeur en générant un ensemble compact de résultats de paramètres pour obtenir une couverture complète sur les paramètres. Découvrez les liens pour en savoir plus sur PICT et sur l’utilisation de cette solution sur la solution de test piloté par les données PICT .
À l’aide de la prise en charge des tests basés sur les données avec WMI, vous pouvez ajouter également une condition préalable à vos tests et obtenir des informations (données) en fonction des ressources disponibles sur la machine de test. Par exemple, si vous souhaitez exécuter le test uniquement si la machine est jointe à un domaine et que vous avez également besoin des informations de nom de domaine lorsque vous exécutez le test. La source de données dans ce cas est une requête WQL. Découvrez comment tirer parti des tests basés sur les données WMI dans votre scénario de test.
Étant conscient de toutes les options répertoriées ci-dessus, vous pouvez également proposer une conception où une combinaison des options ci-dessus peut sembler adaptée. Par exemple, vous pouvez utiliser une requête WMI pour obtenir des informations sur toutes les imprimantes connectées à la machine de test, mais il peut y avoir un autre ensemble de paramètres qui peuvent être définis à l’avance à l’aide d’une construction de test basée sur des données basée sur une table. Plusieurs spécifications DataSource peuvent également être utiles si vous souhaitez que les données de votre test proviennent de deux tables distinctes, ce qui permet à chaque table d’être réutilisable entre d’autres tests. Lisez les détails sur la façon de spécifier plusieurs Sources de données pour un test et les contraintes qui s’appliquent lors de cette opération : spécification de plusieurs sources de données
Dans cette section
- Tests pilotés par les données dans les langages de script
- Source de données de table
- Types de paramètres dans les sources de données de table
- Exemple de test piloté par les données simples
- Exemple de test piloté par les métadonnées
- Exemple de test de tableau piloté par les données
- Classe pilotée par les données
- Source de données PICT
- Source de données WMI
- Test léger piloté par les données
- Exécution de tests pilotés par les données
- Sources de données multiples