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.
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

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.

