Concept: Automatisation des tests et outils
Ces instructions décrivent les types d'outils à utiliser pour améliorer l'efficacité du test.
Relations
Description principale

De plus en plus d'outils d'automatisation des tests sont proposés sur le marché pour automatiser les tâches de test. Il existe un certain nombre d'outils d'automatisation, mais il est improbable qu'un seul outil soit capable d'automatiser toutes les tâches de test. La plupart des outils se concentrent sur une tâche spécifique ou sur un groupe de tâches, et certains ne concernent même qu'un aspect d'une tâche.

Lors de l'évaluation de différents outils pour l'automatisation des tests, il est important d'être conscient du type d'outil que vous évaluez, des limites de l'outil et des tâches que l'outil prend en charge et automatise. Les outils de test sont souvent évalués et achetés sur les critères suivants :

Fonction

Les outils de test peuvent être classés par catégories selon les fonctions qu'ils exécutent. Les désignations de fonction typiques des outils sont :

  • Outils d'acquisition de données qui vont chercher les données à utiliser dans les tâches de test. Les données peuvent être acquises à travers la conversion, l'extraction, la transformation, ou la capture des données existantes, ou à travers la génération de cas d'utilisation ou de spécifications supplémentaires.
  • Outils de mesure statiques qui analysent les informations contenues dans les modèles de conception, le code source et d'autres sources fixes. L'analyse produit des informations sur le flux logique, le flux de données ou les mesures de qualité comme la complexité, la facilité de maintenance, ou les lignes de code.
  • Outils de mesure dynamiques qui effectuent une analyse pendant l'exécution du code. Les mesures comprennent des opérations d'exécution du code comme la mémoire, la détection des erreurs et la performance.
  • Simulateurs ou pilotes qui effectuent des tâches qui pour des raisons de temps, d'argent ou de sécurité ne sont pas disponibles pour les besoins des tests.
  • Outils de gestion des tests qui aident à planifier, concevoir, implémenter, exécuter, évaluer et gérer les tâches ou produits de test.

Test structurel/fonctionnel

Les outils de test sont souvent soit structurels soit fonctionnels, en fonction de la façon dont ils sont utilisés, ou de la technologie ou des connaissances nécessaires pour utiliser les outils.

  • Les outils structurels reposent sur une connaissance du code, des modèles de conception, ou d'autres matériels sources pour implémenter et exécuter les tests.
  • Les outils fonctionnels reposent uniquement sur les cas d'utilisation ou une description fonctionnelle de la cible de test.

Alors que les outils structurels possèdent des connaissances sur comment la cible du test traite la requête, les outils fonctionnels se basent sur des conditions d'entrée et de sortie pour évaluer le test.

Spécialisation

En plus des grandes classifications d'outils précédemment présentées, les outils peuvent également être classés par spécialisation.

  • Les outils d'enregistrement et de lecture combinent l'acquisition des données avec des mesures dynamiques. Les données du test sont acquises pendant l'enregistrement des événements (appelé implémentation du test). Ensuite, pendant l'exécution du test, les données sont utilisées pour lire le script du test, qui est utilisé pour évaluer l'exécution de la cible du test.
  • Les outils de mesure de la qualité sont des outils de mesure statiques qui exécutent une analyse statique des modèles de conception ou du code source pour établir un ensemble de paramètres qui décrivent la qualité de la cible du test. Les paramètres peuvent indiquer la fiabilité, la complexité, la facilité de maintenance ou d'autres mesures de qualité.
  • Les outils de contrôle de la couverture indiquent l'état d'achèvement du test en identifiant la couverture de la cible du test pendant le test. Les classes de couverture types comprennent les cas d'utilisation (basés sur les exigences), le noeud ou la branche logique (basé sur le code), l'état des données et les points de fonction.
  • Les générateurs de cas de test automatisent la génération de données de test. Les générateurs de cas de test utilisent soit une spécification formelle des entrées de données de la cible du test, soit les modèles de conception et le code source pour produire des données de test qui testent les entrées nominales, les entrées erronées et les cas limites et frontière.
  • Les outils de comparaison comparent les résultats du test par rapport à des résultats de référence et identifient les différences. Les outils de comparaison diffèrent par leur spécificité à des formats de données particuliers. Par exemple, les outils de comparaison peuvent se baser sur les pixels pour comparer des images bitmap ou se baser sur des objets pour comparer les données ou propriétés d'un objet.
  • Les extracteurs de données fournissent des entrées aux cas de test à partir de sources existantes, y compris de bases de données, flux de données dans un système de communication, rapports, ou modèles de conception et code source.