Systèmes d'information de gestion · Terminale STMGBac
Tests et maintenance d'une application : cours de Terminale STMG
Publié le 11 novembre 2026 · Mis à jour le 11 novembre 2026 · Signaler une erreur
L'essentiel
- Un test compare un résultat obtenu avec un résultat attendu fixé avant l'exécution : l'écart révèle une erreur.
- Un bon jeu d'essai contient des cas normaux, des valeurs limites et des cas erronés, chacun avec son résultat attendu.
- Trois familles d'erreurs : de syntaxe (le programme ne démarre pas), d'exécution (il plante) et de logique (il tourne mais calcule faux).
- La maintenance garde l'application utile : elle corrige (corrective), adapte (adaptative) et améliore (évolutive) ; elle peut se faire à distance.
- Après chaque modification, on relance les tests anciens pour vérifier que rien n'a cessé de fonctionner (non-régression).
Pourquoi tester et maintenir une application
Imagine une petite entreprise qui vend des articles en ligne. Son application calcule le montant d'une commande, applique une remise, ajoute les frais de port et enregistre la vente. Un jour, la remise est calculée deux fois et plusieurs clients paient moins cher que prévu. L'entreprise perd de l'argent sans s'en apercevoir pendant des semaines.
Ce scénario montre pourquoi une application de gestion ne s'arrête pas à l'écriture du code. Il faut vérifier qu'elle fait ce qu'on attend, puis la faire vivre quand les besoins changent. Ce sont les deux sujets de ce chapitre : les tests et la maintenance.
Le programme de la série place cette vérification dans la démarche de développement : on part de la résolution d'un problème et on va jusqu'à la mise en place de tests qui contrôlent les résultats obtenus.1 Le test n'est donc pas une option de fin de projet : il fait partie du travail du développeur dès le départ.2
Le principe d'un test : attendu contre obtenu
Le point décisif est le moment où l'on fixe le résultat attendu. Si tu lances le programme, que tu regardes ce qu'il affiche, puis que tu décides que « ça doit être bon », tu ne testes rien : tu constates seulement. Le résultat attendu se calcule à la main, ou avec une règle de gestion connue, avant de lancer le programme.
Construire un jeu d'essai
Pour qu'un jeu d'essai soit utile, il doit couvrir trois sortes de situations. Si tu en oublies une, tu laisses des erreurs passer.
| Type de cas | Idée | Exemple pour une remise |
|---|---|---|
| Cas normal | Une situation courante, ordinaire | Commande de 120 € |
| Valeur limite | Une valeur juste avant, sur et juste après un seuil | 199,99 € ; 200 € ; 200,01 € |
| Cas erroné | Une donnée interdite ou absurde | Montant négatif, texte à la place d'un nombre |
Les niveaux de test et les erreurs à repérer
On ne teste pas tout de la même façon ni au même moment. Dans ce cours, on distingue trois niveaux, du plus petit au plus large.
Pourquoi commencer par les petits tests ? Parce qu'une erreur est bien plus facile à localiser dans dix lignes que dans mille. Si le test d'ensemble échoue alors que toutes les fonctions ont réussi seules, tu sais que le problème vient de la façon dont elles s'enchaînent.
Corriger : la démarche de débogage
Quand un test échoue, on ne modifie pas le code au hasard. On suit une démarche pour trouver la cause, puis on corrige, puis on vérifie. Cette étape s'appelle le débogage.
La maintenance d'une application
Une application de gestion n'est jamais « finie ». Les taux changent, la réglementation évolue, de nouveaux collaborateurs arrivent, des utilisateurs découvrent des cas que personne n'avait prévus. Sans entretien, l'outil devient faux ou inutilisable.
La maintenance peut être réalisée à distance. Pour des équipements connectés, par exemple, des technologies dématérialisées permettent de les configurer et de les maintenir sans se déplacer sur place.1 C'est un gain de temps et d'argent pour l'organisation : un technicien n'a pas besoin de se rendre chez chaque client pour mettre à jour un appareil.2
Tests et maintenance dans la vie d'une application
Les tests et la maintenance forment une boucle. Une anomalie signalée par un utilisateur déclenche une maintenance corrective ; avant de corriger, on écrit un test qui reproduit l'anomalie ; une fois le code réparé, ce test rejoint le jeu d'essai pour que l'erreur ne revienne pas.
Exercices corrigés
Exercice 1 Jeu d'essai sur les frais de port
Règle de gestion d'une boutique : les frais de port sont de 4,90 € si le montant des articles est strictement inférieur à 50 €. Ils sont offerts à partir de 50 € (50 € inclus).
- Propose cinq lignes de jeu d'essai (cas normaux, valeurs limites, cas erroné) avec le résultat attendu pour chaque ligne.
- Calcule le total à payer pour un panier de 2 articles à 17,20 € chacun.
Indice 1
Une valeur limite se teste juste avant, sur et juste après le seuil de 50 €.
Indice 2
Pour la question 2, calcule d'abord le montant des articles, puis compare-le au seuil.
Voir la correction pas à pas
Seuil : 50 €. Cas normaux : un panier de 20 € donne des frais de 4,90 € (total 24,90 €) ; un panier de 80 € donne des frais de 0 € (total 80 €).
Valeurs limites : 49,99 € donne des frais de 4,90 € (total 54,89 €) ; 50 € donne des frais de 0 € (total 50 €) ; 50,01 € donne des frais de 0 €.
Cas erroné : un montant de −10 € doit produire un message d'erreur, sans calcul de frais.
Question 2 : montant des articles = 2 × 17,20 = 34,40 €.
34,40 € est inférieur à 50 €, donc les frais de port valent 4,90 €.
Total à payer = 34,40 + 4,90 = 39,30 €.
Le panier de 2 articles coûte 39,30 € frais de port compris. La ligne à 50 € est la plus utile du jeu d'essai : elle détecte une confusion entre « strictement inférieur » et « inférieur ou égal ».
Exercice 2 Retrouver l'erreur de logique
Un programme applique une remise de 10 % sur une commande de 350 €. Le résultat attendu est 315 €, mais le programme affiche 280 €. Après affichage des valeurs intermédiaires, on constate que la remise de 35 € est retirée deux fois.
- Calcule le résultat attendu.
- Vérifie que 280 € s'explique bien par la double soustraction.
- Donne le type de l'erreur et le type de maintenance concerné si l'application est déjà en service.
- Quel est l'écart, en euros, entre le résultat obtenu et le résultat attendu ?
Indice 1
La remise vaut 10 % de 350 €.
Indice 2
L'écart se calcule entre le résultat attendu et le résultat obtenu.
Voir la correction pas à pas
Remise = 350 × 0,10 = 35 €.
Résultat attendu = 350 − 35 = 315 €.
Double soustraction : 350 − 35 − 35 = 280 €, ce qui correspond bien au résultat affiché.
Le programme s'exécute sans message mais donne un résultat faux : c'est une erreur de logique. L'application étant en service, la maintenance est corrective.
Écart = 315 − 280 = 35 €, soit exactement le montant de la remise soustrait une fois de trop.
L'écart de 35 € correspond à une remise retirée en trop : c'est typiquement une erreur de logique, détectée seulement grâce à un résultat attendu calculé à la main.
Quiz
6 questions · correction immédiate · ton score reste sur ton appareil.
-
Le résultat attendu se détermine avant l'exécution, sinon on ne fait que constater. Recopier l'affichage donne un test qui réussit toujours, même quand le programme est faux ; c'est précisément l'erreur tentante.
-
Une valeur limite se situe sur le seuil ou juste à côté : ici 200 €, avec 199,99 € et 200,01 €. Les valeurs 75 €, 50 € et 1 000 € sont des cas ordinaires loin du seuil ; elles ne détectent pas une confusion entre « > » et « ≥ ».
-
Le programme s'exécute entièrement mais son raisonnement est mauvais : c'est une erreur de logique. Une erreur de syntaxe empêcherait le démarrage, et une erreur d'exécution interromprait le programme en cours de route.
-
Vrai. Les cas normaux vérifient le fonctionnement courant, les valeurs limites repèrent les erreurs de seuil et les cas erronés vérifient que le programme réagit proprement à une saisie interdite. Se limiter aux cas normaux laisse passer beaucoup d'anomalies.
-
Le taux de TVA change à cause d'un élément extérieur à l'application : c'est une maintenance adaptative. Elle n'est pas corrective, car l'application ne contenait pas d'erreur au départ ; elle n'est pas évolutive, car aucune fonction nouvelle n'est ajoutée.
-
Faux. Une correction peut casser une autre partie du programme. On relance donc tout le jeu d'essai pour vérifier la non-régression, et pas seulement le test qui avait échoué.
Les questions qu'on se pose
Combien de tests faut-il écrire ?
Il n'y a pas de nombre magique. Le bon critère est la couverture : chaque condition du programme doit être parcourue au moins une fois, chaque seuil doit avoir ses valeurs limites et il faut au moins un cas erroné. Dix tests bien choisis valent mieux que cinquante tests presque identiques.
Quelle différence entre une erreur de syntaxe et une erreur de logique ?
Une erreur de syntaxe viole les règles du langage : le programme ne démarre pas et un message indique souvent la ligne. Une erreur de logique respecte le langage mais traduit un mauvais raisonnement : le programme tourne et donne un résultat faux, sans aucun message. La seconde est plus difficile à voir et se détecte avec un résultat attendu calculé à la main.
Pourquoi tester les valeurs limites ?
Parce que les erreurs se cachent près des seuils, là où l'on hésite entre « supérieur » et « supérieur ou égal ». Avec un seuil à 200 €, tester 199,99 €, 200 € et 200,01 € permet de voir si le programme se trompe d'un côté ou de l'autre.
Quelle est la différence entre maintenance corrective et évolutive ?
La maintenance corrective répare une anomalie : l'application ne fait pas ce qui était prévu. La maintenance évolutive ajoute ou améliore une fonction qui n'existait pas. Pour classer une demande, demande-toi : « Est-ce que c'était promis et que ça ne marche pas ? » Si oui, c'est une correction ; sinon, c'est une évolution.
Sources
- Annexe du programme spécialité SIG (documents pédagogiques et guides), Éduscol. Consulté le 11 novembre 2026.
- Programme de management, sciences de gestion et numérique de terminale STMG, Ministère de l'Éducation nationale. Consulté le 11 novembre 2026.
Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.