Qu'est-ce qu'un script de test ? Comment en écrire un avec un exemple ?

⚡ Résumé intelligent

Un script de test, dans le cadre des tests logiciels, est un ensemble d'instructions exécutables ligne par ligne qui pilote une application et vérifie chaque étape. Ce guide présente les trois méthodes de compilation, un modèle réutilisable et un exemple concret. Selenium Exemple.

  • 📝 Définition principale : Un script indique chaque transaction à effectuer, les données d'entrée exactes à saisir et le résultat attendu de chaque étape.
  • Trois méthodes de construction : Enregistrement et lecture, scripts pilotés par mots-clés ou par données, et écriture de code directement dans un langage de programmation.
  • 🧱 Liberté linguistique : Le langage de script n'a pas besoin de correspondre au langage de l'application, donc un Java le produit peut être testé avec JavaScénario ou Python.
  • 📋 Discipline du modèle : Un modèle standard fixe les champs ID, préconditions, données de test, étapes, résultat attendu et statut.
  • Scénario vs Requête : Un cas de test est une procédure manuelle étape par étape, tandis qu'un script de test est exécuté automatiquement par un outil.
  • Règles de qualité : Veillez à ce que chaque script soit clair, limitez chaque étape à une seule action et concevez les parcours du point de vue de l'utilisateur réel.

Qu'est-ce qu'un script de test

Qu'est-ce qu'un script de test dans les tests logiciels ?

A script de test Il s'agit d'une description détaillée des transactions système à effectuer pour valider l'application testée. Elle répertorie chaque étape à suivre ainsi que le résultat attendu de chacune.

Comme il est exécutable, le même script peut être réutilisé systématiquement sur plusieurs appareils et configurations. Un script fonctionnel enregistre toujours à la fois les données d'entrée et le résultat attendu.

Comment écrire un script de test

Script de test
Script de test

Il existe trois manières différentes de créer un script de test :

Enregistrement et lecture

Avec cette méthode, le testeur n'a pas besoin d'écrire de code ; il se contente d'enregistrer les actions de l'utilisateur. Le codage reste nécessaire ultérieurement pour corriger les erreurs ou affiner le comportement de l'automatisation.

Cette méthode est plus simple que d’écrire un script de test complet à partir de zéro car vous disposez déjà du code complet. Il est principalement utilisé dans un langage de programmation simplifié tel que VBScript.

Scripting par mots-clés ou piloté par données

Dans cette méthode, il existe une séparation claire entre les testeurs et les développeurs. Dans les scripts basés sur les données, le testeur définit le test à l'aide de mots-clés sans connaître le code sous-jacent.

Ici, le travail des développeurs consiste à implémenter le code du script de test pour les mots-clés et à mettre à jour ce code si nécessaire. Ainsi, avec cette méthode, le testeur n’a pas à se soucier du système. Cependant, ils s'appuieront fortement sur les ressources de développement pour toute nouvelle fonctionnalité que vous souhaitez tester automatiquement.

Écrire du code dans un langage de programmation

Si vous choisissez cette méthode, vous disposez généralement toujours des fonctions d'enregistrement et de lecture pour générer une première ébauche du script.

Tôt ou tard, un testeur doit cependant aller au-delà de l'enregistrement et de la lecture et apprendre à écrire manuellement des scripts simples. Il est important de comprendre que vous pouvez choisir votre Langage de programmation même si votre candidature est rédigée en Java.

Cependant, cela ne signifie pas que vous devez écrire vos scripts de test dans Java, ce qui peut être difficile à apprendre. Au lieu de cela, vous pouvez écrire vos scripts de test dans un langage plus simple comme Javascénario ou Ruby (ou tout autre langage plus simple que vous souhaitez utiliser).

Exemple de script de test

Par exemple, pour vérifier la fonction de connexion sur un site Web, votre script de test peut effectuer les opérations suivantes :

  • Spécifiez comment l'outil d'automatisation peut localiser les champs « Nom d'utilisateur » et « Mot de passe » dans l'écran de connexion. Disons, par leurs identifiants d'éléments CSS.
  • Chargez la page d’accueil du site, puis cliquez sur le lien « connexion ». Vérifiez que l'écran de connexion qui apparaît et les champs « Nom d'utilisateur » et « Mot de passe » sont visibles.
  • Saisissez le nom d’utilisateur « Charles » et le mot de passe « 123456 », puis repérez le bouton « Confirmer » et cliquez dessus.
  • Ils doivent spécifier comment un utilisateur peut localiser le titre de l'écran de bienvenue qui apparaît après la connexion, par exemple par son ID d'élément CSS.
  • Vérifiez que le titre de l'écran de bienvenue est visible.
  • Lisez le titre de l'écran de bienvenue.
  • Affirmer que le texte du titre est égal à « Bienvenue Charles ».
  • Si le titre correspond aux attentes, considérez le test comme réussi. Sinon, considérez-le comme échoué.

Exemple de script de test dans Selenium au Java

La liste à puces ci-dessus décrit un test de connexion en langage clair. Voici le même test écrit sous forme de script exécutable, utilisant Selenium WebDriver et JUnitChaque puce correspond à une ou deux lignes de code.

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.junit.Assert;
import org.junit.Test;

public class LoginTestScript {

    @Test
    public void validLoginShowsWelcomeMessage() {
        // Step 1: start the browser and open the site
        WebDriver driver = new ChromeDriver();
        driver.get("https://demo.guru99.com/test/login.html");

        // Step 2: locate the fields by their element ids
        driver.findElement(By.id("email")).sendKeys("Charles");
        driver.findElement(By.id("passwd")).sendKeys("123456");

        // Step 3: submit the form
        driver.findElement(By.id("SubmitLogin")).click();

        // Step 4: read the welcome title and assert the expected result
        String actual = driver.findElement(By.id("welcome")).getText();
        Assert.assertEquals("Welcome Charles", actual);

        driver.quit();
    }
}

Trois détails distinguent un véritable scénario d'un scénario enregistré :

  • Les localisateurs sont explicites. Les éléments sont trouvés par leur identifiant plutôt que par leur position à l'écran, ce qui permet au script de survivre à un changement de mise en page.
  • L'affirmation est le test. Sans assertEquals, le script se contente de cliquer ; c'est l'assertion qui décide du succès ou de l'échec.
  • Le nettoyage s'exécute en permanence. La méthode driver.quit() libère le navigateur ; sinon, une exécution ayant échoué laisse des processus en attente.

La même structure s'applique dans toutes les langues. Python au Selenium les appels deviennent driver.find_element(By.ID, “email”) et assert actual == “Welcome Charles”.

Conseils pour créer un script de test

Voici quelques conseils importants pour créer un script de test :

Gardez-le dégagé

Votre script de test doit être suffisamment clair pour être exécuté sans assistance. Si un testeur doit constamment demander des précisions au responsable du projet concernant l'application, cela représente un gaspillage de temps et de ressources.

Pour éviter cela, assurez-vous que chaque étape du script de test soit claire, concise et cohérente. Cela contribue à un déroulement fluide des tests.

Restez simple

Vous devez créer un script de test qui ne doit contenir qu'une seule action spécifique que les testeurs doivent entreprendre. Cela garantit que chaque fonction est testée correctement et que les testeurs ne manquent aucune étape du processus de test du logiciel.

Réfléchissez-y

Pour écrire le script de test, vous devez vous mettre à la place de l'utilisateur pour décider quels chemins tester. Vous devez être suffisamment créatif pour prédire tous les différents chemins que les utilisateurs emprunteraient lors de l'exécution d'un système ou d'une application.

Quand utiliser l’approche Test Script ?

Voici les raisons d’utiliser le script de test.

  • Un scénario de test est le moyen le plus fiable de confirmer qu'aucune étape n'est omise et que les résultats correspondent au plan de test convenu.
  • Un script préparé réduit considérablement les risques d'erreur lors de son exécution.
  • Lorsque les testeurs explorent librement un produit, ils peuvent facilement passer à côté de certaines fonctionnalités.
  • Un testeur peut également supposer qu'une fonction a produit le résultat attendu alors que ce n'était pas le cas.
  • C’est particulièrement utile lorsque les performances de l’utilisateur sont importantes et spécifiques.

Qu'est-ce qu'un modèle de script de test ?

Un modèle de script de test est un document réutilisable et préformaté contenant les champs que chaque script de votre projet doit renseigner. Sa standardisation détermine le niveau de détail de vos tests et garantit qu'aucun relecteur n'aura à deviner la signification d'une étape.

Un modèle fonctionnel comporte les champs suivants :

Champ Interet
ID du script Identifiant unique utilisé pour traccapacité et liaison des défauts
Objet Une ligne indiquant ce que le script valide
Module ou fonctionnalité Le domaine de l'application testé
Conditions préalables L'état que doit avoir le système avant l'exécution de la première étape
Données de test Données d'entrée exactes, y compris les informations d'identification et les valeurs limites
Étapes Actions numérotées, une action par étape
Résultat attendu Le résultat observable de chaque étape
Résultat actuel Rempli au moment de l'exécution
Statut Réussi, échoué, bloqué ou non exécuté
Auteur et date Historique de propriété et de version

Différence entre le scénario de test et le script de test

Voici les principales différences entre un cas de test et un script de test :

Cas de test Script de test
Cas de test est une procédure étape par étape utilisée pour tester une application. Le script de test est un ensemble d'instructions permettant de tester automatiquement une application.
Les cas de test sont utilisés pour un environnement de test manuel. Le script de test est utilisé dans l'environnement de test d'automatisation.
Cela se fait manuellement. Cela se fait selon le format de script.
Le modèle de scénario de test comprend l'ID de test, les données de test, la procédure de test, les résultats réels et attendus, etc. Dans le script de test, nous pouvons utiliser différentes commandes pour développer un script.

Avantages et inconvénients des scénarios de test

L'automatisation est un investissement. Savoir où elle est rentable vous indique quels tests automatiser en priorité.

Avantages

  • Répétable : Les mêmes étapes se déroulent de manière identique sur chaque version, ce qui rend les tests de régression pratiques.
  • Rapide à grande échelle : Une suite de tests qui prendrait une journée à un testeur peut s'exécuter en quelques minutes, voire pendant la nuit.
  • Cohérent: Le script ne s'ennuie jamais, ne saute jamais d'étape et ne fait jamais d'erreur d'interprétation.
  • Multiplate-forme: Un même script peut être exécuté à nouveau sur différents navigateurs, appareils et systèmes d'exploitation.
  • CI prêt : Les scripts s'intègrent à un pipeline de construction afin que chaque commit soit vérifié automatiquement.

Désavantages

  • Coût d'installation élevé : Écrire et déboguer un script prend beaucoup plus de temps que d'exécuter le test une seule fois manuellement.
  • Charge d'entretien : Un identifiant d'élément modifié ou une page repensée interrompent les scripts, qui doivent ensuite être réparés.
  • Compétence requise : Au-delà de l'enregistrement et de la lecture, l'équipe a besoin de compétences en programmation.
  • Aveugles à l'inattendu : Un script ne vérifie que ce qu'il est censé vérifier, ce qui peut laisser passer des défauts visuels et d'utilisabilité.
  • Fausse confiance : Une suite verte de scripts superficiels peut masquer de véritables lacunes dans la couverture.

La règle pratique : planifier les parcours stables, répétitifs et à haut risque, et conserver un manuel pour les travaux exploratoires et d’ergonomie.

Script de test : Points clés à retenir

  • Les scripts de test désignent une description ligne par ligne contenant les informations sur les transactions système qui doivent être effectuées pour valider l'application ou le système testé.
  • Le scénario de test est une procédure étape par étape utilisée pour tester une application, tandis que le script de test est un ensemble d'instructions permettant de tester automatiquement une application.
  • Il existe trois façons de créer un script de test : 1) Enregistrement/lecture, 2) Script piloté par mots-clés/données, 3) Écriture Code Utilisation du langage de programmation.
  • Votre script de test doit être clair et vous devez créer un script de test qui ne doit contenir qu'une seule action spécifique que les testeurs doivent entreprendre.
  • Un scénario de test est le moyen le plus fiable de confirmer qu'aucune étape n'est omise et que les résultats correspondent au plan de test convenu.
  • Le modèle de script de test est un document formaté réutilisable qui contient des informations présélectionnées importantes pour créer un script de test utilisable.

FAQ

Un cas de test est une procédure manuelle détaillée, rédigée à l'intention d'un testeur humain. Un script de test est un code exécutable qu'un outil exécute automatiquement. Un cas de test devient souvent un script de test une fois automatisé.

Commencez par enregistrer et relire le code pour en visualiser la structure, puis modifiez-le. Passez à la rédaction manuelle des scripts lorsque les scripts enregistrés ne fonctionnent plus, car les localisateurs enregistrés résistent rarement aux modifications de l'interface utilisateur.

Tout ce qui est exécuté une seule fois, tout ce qui change à chaque sprint et tout ce qui est évalué visuellement. Les tests exploratoires, les revues d'utilisabilité et les vérifications ponctuelles coûtent plus cher à automatiser qu'à réaliser manuellement.

Oui. Les outils d'IA peuvent convertir des cas de test écrits en scripts exécutables et proposer des localisateurs auto-réparateurs lorsqu'un élément change. RevExaminez chaque assertion générée, car un script qui ne présente jamais d'erreur ne teste rien.

Les outils assistés par l'IA détectent les éléments modifiés et mettent à jour les localisateurs automatiquement, éliminant ainsi la cause la plus fréquente de dysfonctionnement des scripts. Les équipes examinent toutefois les modifications avant de faire à nouveau confiance à la suite logicielle.

Résumez cet article avec :