Brevet FR3002053A1 — publié le 20140815

Tests sensibles de validation Ray Sennewald Lila Tretikov Ran Zhou ARRIÈRE-PLAN DE L'INVENTION Domaine de l'invention La présente invention est du domaine des tests fonctionnels et opérationnels d'un programme informatique et plus particulièrement du domaine des tests d'unité incrémentielle. Description de l'état de la technique Le test fonctionnel de logiciel concerne le test fonctionnel d'une interface utilisateur graphique (GUI) liée à une application logicielle sous-jacente. Les outils conventionnels de test fonctionnel permettent à l'utilisateur final de créer, modifier et exécuter des tests fonctionnels, fonctionnels distribués, de régression et de détection de fumée pour des applications conçues en utilisant n'importe quel environnement parmi la grande variété d'environnements de développement intégré. De ce point de vue, les outils conventionnels de test fonctionnel peuvent générer un script de test pour une GUI dans laquelle des éléments de la GUI peuvent être vérifiés séquentiellement et conditionnellement. Grâce à un test approfondi de la GUI d'une application, l'outil de test fonctionnel peut identifier automatiquement des défauts, et ce de manière précoce, fréquente et pouvant être répétée. Comparé au test fonctionnel, le test opérationnel concerne la vérification de la performance logique d'une application en cours de test. Dans le cadre du test opérationnel, l'appel d'un objet peut être utilisé pour comparer une sortie attendue à une sortie actuelle à partir de l'appel. Le test opérationnel et le test fonctionnel peuvent être automatisés grâce à l'utilisation de scripts de test ou tests. Des tests peuvent être produits manuellement et fournis en entrée à une machine de test ou les tests peuvent être générés de manière automatisée. Dans ce dernier cas, un outil de test conventionnel peut contrôler et enregistrer l'interaction entre l'utilisateur final et la GUI pendant une phase d'enregistrement de test. Pendant la phase d'enregistrement, un test peut être produit sur la base de l'identité d'éléments de GUI adressés par l'utilisateur final, des opérations logiques correspondantes appelées lors de l'adressage des éléments de GUI, des résultats de l'appel et de la séquence dans laquelle les éléments de GUI sont adressés. Lors du test d'une application complexe avec de nombreux composants fonctionnels différents placés dans des fichiers différents, appliquer tout un ensemble de tests concernant l'application peut être un processus long, fastidieux et coûteux en ressources. Toutefois, pendant le processus de développement et de maintenance en tant que partie du cycle de vie d'un logiciel, appliquer tout un ensemble de test n'est pas nécessaire lorsqu'un petit nombre seulement de fichiers sont affectés par toute modification particulière. Cependant, connaître a priori l'identité des fichiers touchés par une modification apportée à l'application demande une connaissance approfondie et une mémorisation de la structure de l'application et suppose que, même avec cette connaissance, on soit conscient de toutes les conséquences possibles d'une modification. Il est évident que ce n'est généralement pas le cas. Par conséquent, même face à une modification mineure dans un simple fichier supportant une application, tous les tests pour l'application doivent être appliqués. BREF RÉSUMÉ DE L'INVENTION Des formes de réalisation de la présente invention répondent à des insuffisances dans les tests d'applications et fournissent de nouveaux procédé, système et programme informatique, non évidents, pour un test sensible de validation. L'invention s'applique notamment dans le cas où l'application est une application Web et/ou dans le cas où les fichiers de l'application sont des fichiers en langage de balisage. Une forme de réalisation de l'invention fournit un procédé pour un test sensible de validation. Le procédé inclut l'application de tout un ensemble de différents tests à une application et le contrôle de l'application de tout l'ensemble de différents tests pour déterminer des fichiers de l'application affectés par l'ensemble des différents tests. Le procédé inclut aussi la génération d'une mise en correspondance de chacun des fichiers et de tests correspondants parmi l'ensemble des différents tests affectant chacun des fichiers. Le procédé inclut enfin la réponse à une modification dans l'un des fichiers en identifiant dans la mise en correspondance seulement un sous-ensemble de l'ensemble des différents tests affectant le fichier modifié parmi les fichiers et en appliquant seulement le sous-ensemble de l'ensemble des différents tests au fichier modifié parmi les fichiers. En option, le procédé inclut en outre la comparaison d'un résultat de l'application du sous-ensemble de l'ensemble des différents tests et d'un résultat de l'application de l'ensemble des différents tests et la notification de différences issues de la comparaison comme étant de nouvelles erreurs produites par le fichier modifié parmi les fichiers. Dans une autre forme de réalisation de l'invention, un système de test d'application peut être configuré pour un test sensible de validation. Le système peut inclure un système informatique hôte qui inclut un ou plusieurs ordinateurs, chacun avec une mémoire et au moins un processeur. Le système inclut aussi un outil de test exécuté dans la mémoire du système informatique hôte et configuré pour appliquer différents tests à différents fichiers d'une application. Le système inclut enfin un module de test sensible de validation lié à l'outil de test. Le module inclut un code de programme capable, après exécution dans la mémoire, d'appliquer tout un ensemble de différents tests à une application, de contrôler l'application de l'ensemble des différents tests pour déterminer des fichiers de l'application affectés par l'ensemble des différents tests, de générer une mise en correspondance de chacun des fichiers et de tests correspondants parmi l'ensemble des différents tests affectant chacun des fichiers et de répondre à une modification dans l'un des fichiers en identifiant dans la mise en correspondance seulement un sous-ensemble de l'ensemble des différents tests affectant le fichier modifié parmi les fichiers et en appliquant seulement le sous-ensemble de l'ensemble des différents tests au fichier modifié parmi les fichiers. Certains autres aspects de l'invention seront présentés dans la description qui suit et certains autres apparaîtront comme évidents dans la description ou ils pourront être appris par la pratique de l'invention. Les aspects de l'invention sont réalisés et mis en oeuvre au moyen d'éléments et combinaisons spécialement notés dans les revendications jointes. On notera que la description générale précédente et la description détaillée ci-après sont à considérer comme des exemples et des explications mais non comme des restrictions de l'invention telle qu'elle est revendiquée. BRÈVE DESCRIPTION DES FIGURES Les figures annexées, qui sont incorporées dans cette spécification et en sont partie constituante, illustrent des formes de réalisation de l'invention et, conjointement avec la description, servent à expliquer les principes de l'invention. Les formes de réalisation illustrées ici sont préférées mais il est bien entendu que l'invention n'est pas limitée aux dispositifs et moyens présentés, lesdites figures annexées montrant : La figure 1 est un schéma d'un processus pour un test sensible de validation ; la figure 2 est un schéma d'un système de test configuré pour un test sensible de validation ; et, la figure 3 est un ordinogramme illustrant un processus pour un test sensible de validation. DESCRIPTION DÉTAILLÉE DE L'INVENTION Les formes de réalisation de l'invention fournissent un test sensible de validation. Selon une forme de réalisation de l'invention, différents tests peuvent être chargés à partir d'une base de données de tests et peuvent être appliqués à une application composée de multiples fichiers différents. Pour chaque test appliqué, une liste de ceux des fichiers qui sont touchés par les tests peut être enregistrée. Une mise en correspondance inverse résultante peut être produite sur la base d'une liste de fichiers et de tests correspondants associés à chacun des fichiers. Par la suite, lorsqu'un ou plusieurs fichiers sont modifiés, les tests correspondant au fichier modifié peuvent être identifiés à partir de la mise en correspondance inverse et être appliqués aux fichiers modifiés. La figure 1 montre schématiquement un processus de test sensible de validation. Comme le montre la figure 1, une unité logique de test sensible de validation 130 peut contrôler l'application de tout un ensemble de tests 140 à une application 100 par un serveur de test 170. Pendant le contrôle, l'unité logique de test sensible de validation 130 peut identifier différents fichiers 120 de l'application 100 touchés par chaque test de l'ensemble de tests 140. Par conséquent, une mise en correspondance inverse 110 peut être produite en mettant en correspondance chacun des fichiers 100 avec un ensemble de tests affectant le fichier parmi l'ensemble de tests 140. Par la suite, lorsqu'une modification est apportée à l'un ou plusieurs des fichiers 120 de l'application 100, l'unité logique de test sensible de validation 130 peut consulter la mise en correspondance inverse 110 pour identifier ceux de l'ensemble de tests 140 connus pour toucher les fichiers modifiés parmi les fichiers 120 afin d'assembler un sous-ensemble de tests 150. En fin de compte, seul le sous-ensemble de 150 a besoin d'être appliqué par le serveur de test 170 à l'application 100. En option, une notification de comparaison 160 peut être générée en comparant un ensemble de résultats de test provenant de l'ensemble de tests 140 aux résultats provenant du sous-ensemble de test 150 afin d'identifier seulement ceux des résultats qui ont été produits par la modification apportée aux fichiers 120 de l'application 100. Le processus décrit en relation avec la figure 1 peut être mis en oeuvre au sein d'un système de test. La figure 2 montre schématiquement un système de test configuré pour un test sensible de validation. Le système peut inclure un système informatique hôte 210 qui inclut un ou plusieurs ordinateurs, chacun avec une mémoire et au moins un processeur (pour simplifier le schéma, un seul ordinateur a été représenté). Le système informatique hôte 210 peut inclure un système d'exploitation 240 dans lequel un outil de test 250 peut s'exécuter. L'outil de test 250 peut être configuré pour appliquer un ou plusieurs tests 270 dans une base de données 230 aux fichiers 260 d'une application. On notera qu'un module de test sensible de validation 300 peut être lié à l'outil de test 250. Le module de test sensible de validation 300 peut inclure un code de programme qui, lorsqu'il est exécuté dans la mémoire du système informatique hôte 210, est capable de contrôler lesquels des fichiers 260 sont touchés par des tests individuels parmi les tests 270 lorsque les tests 270 sont appliqués aux fichiers 260 par l'outil de test 250. À titre d'exemple, lorsque l'un des fichiers 260 est ouvert pendant l'application de l'un des tests 270, ce fichier parmi les fichiers 260 peut être considéré comme touché. Selon une variante, lorsque l'un des fichiers 260 est à la fois ouvert et lu pendant l'application de l'un des tests 270, ce fichier parmi les fichiers 260 peut être considéré comme touché. Le code de programme du module de test sensible de validation 300 peut en outre être capable, lorsqu'il est exécuté dans la mémoire du système informatique hôte 210, de générer une mise en correspondance inverse 220 pour l'application des tests 270 aux fichiers 260. La mise en correspondance inverse 220 peut indiquer une mise en correspondance de chacun des fichiers 260 et d'un ensemble correspondant de zéro ou plusieurs des tests 270 affectée par les tests 270. Finalement, en réponse à une modification de l'un ou plusieurs des fichiers 260, le code de programme du module de test sensible de validation 300 peut être capable, lorsqu'il est exécuté dans la mémoire du système informatique hôte 210, de commander l'outil de test 250 pour qu'il applique seulement ceux des tests 270 impliqués par la mise en correspondance inverse 220 en ce qui concerne le ou les fichiers modifiés parmi les fichiers 260. Pour illustrer encore le travail du module de test sensible de validation 300, la figure 3 représente un ordinogramme d'un processus pour un test sensible de validation. En commençant par le bloc 310, tout un ensemble de tests peut être chargé en vue d'une application aux fichiers formant une application logicielle. Dans le bloc 320, l'ensemble de tests peut être appliqué aux fichiers et, dans le bloc 330, une mise en correspondance inverse peut être générée pour les fichiers de l'application logicielle et pour les tests touchant chacun des fichiers. Dans le bloc 340, un ensemble de résultats peut être produit à partir de l'application des tests incluant toute indication d'erreurs produites à cause de l'application des tests. Dans le bloc 350, une modification peut être détectée dans l'un des fichiers de l'application logicielle. En réponse à la modification détectée, dans le bloc 360, un sous-ensemble de tests peut être identifié à partir de la mise en correspondance inverse comme ayant été associés à celui des fichiers qui a été modifié. Par la suite, dans le bloc 370, le sous-ensemble des tests peut être appliqué aux fichiers de l'application logicielle et, dans le bloc 380, un résultat de l'application du sous-ensemble de tests peut être enregistré. Dans le bloc 390, les résultats de l'application du sous-ensemble de tests peuvent être comparés à ceux de l'ensemble de tests et, dans le bloc 400, une notification de comparaison peut être générée. De cette manière, ce ne sont pas tous les tests de l'ensemble de tests qui ont besoin d'être appliqués à l'application logicielle en réponse à une modification effectuée seulement dans une sélection des fichiers de l'application logicielle. Comme le comprendra tout spécialiste de la question, des aspects de la présente invention peuvent être mis en oeuvre comme un système, un procédé ou un programme informatique. Par conséquent, des aspects de la présente invention peuvent prendre la forme d'une mise en oeuvre entièrement matérielle, d'une mise en oeuvre entièrement logicielle (y compris microprogramme, programme résident, microcode, etc.) ou d'une mise en oeuvre combinant des aspects logiciels et des aspects matériels qui peuvent généralement toutes être appelées ici « circuit », « module » ou « système ». De plus, des aspects de la présente invention peuvent prendre la forme d'un programme informatique mis en oeuvre dans un ou plusieurs supports pouvant être lus par ordinateur et contenant un code de programme pouvant être lu par ordinateur. N'importe quelle combinaison d'un ou plusieurs supports pouvant être lus par ordinateur peut être utilisée. Le support lisible par ordinateur peut être un support de signal lisible par ordinateur ou un support de stockage lisible par ordinateur. Un support de stockage lisible par ordinateur peut être par exemple, sans pour autant être limité à cela, un système, appareil ou dispositif électronique, magnétique, optique, électromagnétique, infrarouge ou semi-conducteur ou n'importe quelle combinaison adaptée de ceux-ci. Des exemples plus spécifiques de support de stockage lisible par ordinateur sont les suivants (liste non exhaustive) : une connexion électrique avec un ou plusieurs fils, une disquette d'ordinateur portable, un disque dur, une mémoire vive (RAM), une mémoire morte (ROM), une mémoire morte reprogrammable (EPROM ou mémoire flash), une fibre optique, un disque en lecture seule (CD-ROM), un appareil de stockage optique, un appareil de stockage magnétique, ou n'importe quelle combinaison adaptée de ceux-ci. Dans le contexte du présent document, un support de stockage lisible par ordinateur peut être n'importe quel support qui peut contenir ou stocker un programme destiné à être utilisé par ou dans une connexion avec un système, appareil ou dispositif d'exécution d'instructions. Un support de signal pouvant être lu par ordinateur peut comprendre un signal de données propagé avec un code de programme lisible par ordinateur intégré dans celui-ci, par exemple en bande de base ou comme partie d'une onde porteuse. Un signal propagé de ce type peut prendre de nombreuses formes différentes y compris, mais pas seulement, électromagnétique, optique, ou n'importe quelle combinaison adaptée de celles-ci. Un support de signal lisible par ordinateur peut être n'importe quel support lisible par ordinateur qui n'est pas un support de stockage lisible par ordinateur et qui peut communiquer, propager ou transporter un programme destiné à être utilisé par ou dans une connexion avec un système, appareil ou dispositif d'exécution d'instructions. Un code de programme mis en oeuvre sur un support lisible par ordinateur peut être transmis en utilisant n'importe quel support approprié, y compris mais pas seulement sans fil, sur ligne, sur câble de fibres optiques, en radiofréquence, etc., ou n'importe quelle combinaison adaptée de ceux-ci. Un code de programme informatique pour la réalisation d'opérations correspondant à des aspects de la présente invention peut être écrit dans n'importe quelle combinaison d'un ou plusieurs langages de programmation, y compris un langage de programmation orienté objets et des langages de programmation procéduraux conventionnels. Le code de programme peut être exécuté entièrement sur l'ordinateur de l'utilisateur, partiellement sur l'ordinateur de l'utilisateur, comme un progiciel indépendant, partiellement sur l'ordinateur de l'utilisateur et partiellement sur un ordinateur distant ou entièrement sur l'ordinateur distant ou serveur. Dans ce dernier cas, l'ordinateur distant peut être connecté à l'ordinateur de l'utilisateur via n'importe quel type de réseau, y compris un réseau local (LAN) ou un réseau étendu (WAN), ou la connexion peut s'effectuer vers un ordinateur externe (par exemple, via l'internet en utilisant un fournisseur de services internet). Des aspects de la présente invention ont été décrits ci-dessus en faisant référence à des ordinogrammes et/ou à des schémas fonctionnels de procédés, dispositifs (systèmes) et programmes informatiques selon des formes de réalisation de l'invention. De ce point de vue, l'ordinogramme et les schémas fonctionnels des figures annexées illustrent l'architecture, la fonctionnalité et l'exploitation de possibles mises en oeuvre de systèmes, procédés et programmes informatiques selon différentes formes de réalisation de la présente invention. À titre d'exemple, chaque bloc dans l'ordinogramme ou schéma fonctionnel peut représenter un module, un segment, une partie de code, qui comprend une ou plusieurs instructions exécutables pour la mise en oeuvre des fonctions logiques spécifiées. Il faut aussi noter que, dans certaines variantes de réalisation, les fonctions notées dans le bloc peuvent être exécutées en dehors de l'ordre indiqué dans les figures annexées. Par exemple, deux blocs présentés comme consécutifs peuvent en fait être exécutés sensiblement en parallèle ou les blocs peuvent parfois être exécutés dans l'ordre inverse, en fonction de la fonctionnalité respective. Il faut aussi noter que chaque bloc du schéma fonctionnel et/ou ordinogramme et chaque combinaison de blocs du schéma fonctionnel et/ou ordinogramme peut être mis en oeuvre par des systèmes matériels spécialisés qui réalisent les fonctions ou actions spécifiées ou par des combinaisons de matériels spécialisés et d'instructions informatiques. Il est aussi évident que chaque bloc de l'ordinogramme et/ou du schéma fonctionnel et chaque combinaison de blocs de l'ordinogramme et/ou du schéma fonctionnel peuvent être mis en oeuvre par des instructions de programme informatique. Ces instructions de programme informatique peuvent être fournies à un processeur d'un ordinateur universel, ordinateur spécialisé ou tout autre dispositif de traitement de données programmable pour produire une machine telle que les instructions qui sont exécutées par le processeur de l'ordinateur ou de tout autre dispositif de traitement de données programmable créent des moyens pour mettre en oeuvre les fonctions/actions spécifiées dans l'ordinogramme et/ou le ou les schémas fonctionnels. Ces instructions de programme informatique peuvent donc être stockées sur un support lisible par ordinateur qui peut diriger un ordinateur, tout autre dispositif de traitement de données programmable ou tout autre appareil fonctionnant d'une manière telle que les instructions stockées dans le support lisible par ordinateur produisent un article manufacturé, y compris des instructions qui mettent en oeuvre les fonctions/actions spécifiées dans l'ordinogramme et/ou le schéma fonctionnel. Les instructions de programme informatique peuvent aussi être chargées sur un ordinateur, sur tout autre dispositif de traitement de données programmable ou sur tout autre appareil pour engendrer une série d'étapes opérationnelles destinées à être mises en oeuvre sur l'ordinateur, sur l'autre dispositif de traitement de données programmable ou sur l'autre appareil pour produire un processus exécuté sur ordinateur tel que les instructions qui sont exécutées sur l'ordinateur ou sur l'autre dispositif programmable fournissent des processus pour la mise en oeuvre des fonctions/actions spécifiées dans l'ordinogramme et/ou dans le ou les schémas fonctionnels. Enfin, la terminologie utilisée ici ne l'a été que pour décrire des formes de réalisation particulières et ne doit pas être comprise comme une restriction de l'invention. Telles qu'utilisés ici, les formes au singulier « un », « une », « le », « la » incluent aussi les formes au pluriel à moins que le contraire ne soit précisé. De plus, il faut noter que les termes « comprendre » et/ou « comprenant », lorsqu'ils sont utilisés dans la présente explication, spécifient la présence de caractéristiques, nombres entiers, étapes, opérations, éléments et/ou composants mais n'excluent pas la présence ou l'ajout d'une ou plusieurs autres caractéristiques, nombres entiers, étapes, opérations, éléments, composants et/ou groupes de ceux-ci. Les structures, matériels, actions et équivalents de tous les moyens ou éléments d'étape et de fonction dans les revendications ci-après doivent être considérés comme incluant toutes les structures, matériels ou actions destinés à la réalisation de la fonction en combinaison avec d'autres éléments revendiqués comme étant spécifiquement revendiqués. La description de la présente invention a été présentée dans un but d'illustration et de description mais elle n'est pas censée être exhaustive ou limiter l'invention dans la forme révélée. De nombreuses modifications et variantes sont évidentes pour tout spécialiste de la question sans pour autant sortir du cadre et de l'esprit de l'invention. La forme de réalisation a été choisie et décrite afin de mieux expliquer les principes de l'invention et leur application pratique et afin de permettre à tout spécialiste de la question de comprendre l'invention et ses diverses formes de réalisation avec diverses modifications telles celles adaptées à l'usage particulier considéré. Ayant ainsi décrit l'invention de la présente application en détail et en faisant référence à des formes de réalisation de celle-ci, il est évident que des modifications et variantes sont possibles sans pour autant sortir du cadre de l'invention défini dans les revendications annexées qui suivent. REVENDICATIONS1. Procédé pour un test sensible de validation, comprenant : l'application de tout un ensemble (140) de différents tests à une application (100) ; le contrôle de l'application de l'ensemble des différents tests pour déterminer des fichiers (120) de l'application (100) affectés par l'ensemble des différents tests ; la génération d'une mise en correspondance (110) de chacun des fichiers (120) et de tests correspondants parmi l'ensemble (140) des différents tests affectant chacun des fichiers ; et, en réponse à la détection d'une modification dans l'un des fichiers, l'identification dans la mise en correspondance (110) seulement du sous- ensemble (150) de l'ensemble (140) des différents tests affectant le fichier modifié parmi les fichiers (120) et l'application seulement du sous-ensemble (150) de l'ensemble des différents tests au fichier modifié parmi les fichiers. 2. Procédé selon la revendication 1, dans lequel l'application est une application Web. 3. Procédé selon la revendication 2, dans lequel les fichiers sont des fichiers en langage de balisage. 4. Procédé selon la revendication 1, dans lequel la mise en correspondance (110) est un tableau de différents fichiers (120) et de tests correspondants affectant chacun des différents fichiers. 5. Procédé selon la revendication 1, comprenant en outre : la comparaison d'un résultat de l'application du sous-ensemble (150) de l'ensemble des différents tests et d'un résultat de l'application de l'ensemble des différents tests ; et, la notification des différences issues de la comparaison (160) comme étant de nouvelles erreurs produites par le fichier modifié parmi les 30 fichiers. 6. Système de test d'application configuré pour un test sensible de validation, lequel système comprend : un système informatique hôte (210) comprenant au moins un ordinateur avec une mémoire et au moins un processeur ;un outil de test (250) exécuté dans la mémoire du système informatique hôte (210) et configuré pour appliquer une pluralité de tests (270) à différents fichiers (260) d'une application ; et, un module de test sensible de validation (300) lié à l'outil de test (250), le module comprenant un code de programme capable, après son exécution dans la mémoire, d'appliquer tout un ensemble de différents tests (270) à une application, de contrôler l'application de l'ensemble des différents tests pour déterminer des fichiers (260) de l'application affectés par l'ensemble des différents tests (270), de générer une mise en correspondance (220) de chacun des fichiers (260) et de tests correspondants de l'ensemble des différents tests (270) affectant chacun des fichiers (260) et de répondre à une modification dans l'un des fichiers (260) en identifiant dans la mise en correspondance (220) seulement un sous-ensemble de l'ensemble des différents tests (270) affectant le fichier modifié parmi les fichiers (260) et en appliquant seulement le sous- ensemble de l'ensemble des différents tests (270) au fichier modifié parmi les fichiers (260). 7. Système selon la revendication 6, dans lequel l'application est une application Web. 8. Système selon la revendication 7, dans lequel les fichiers sont des fichiers en langage de balisage. 9. Système selon la revendication 6, dans lequel la mise en correspondance (220) est un tableau de différents fichiers (260) et de tests correspondants (270) affectant chacun des différents fichiers. 10. Système selon la revendication 6, dans lequel le code de programme du module (300) est capable en outre de comparer un résultat de l'application du sous-ensemble de l'ensemble des différents tests (270) et un résultat de l'application de l'ensemble des différents tests (270) et de notifier des différences issues de la comparaison comme étant de nouvelles erreurs produites par le fichier modifié parmi les fichiers (260). 11. Programme informatique pour un test sensible de validation, lequel programme informatique comprend : un support de stockage lisible par ordinateur comportant un code de programme lisible par ordinateur enregistré dessus, le code de programme lisible par ordinateur comprenant :un code de programme lisible par ordinateur (320) pour appliquer tout un ensemble de différents tests à une application ; un code de programme lisible par ordinateur (350) pour contrôler l'application de l'ensemble des différents tests pour déterminer des fichiers de l'application affectés par l'ensemble des différents tests ; un code de programme lisible par ordinateur (330) pour générer une mise en correspondance de chacun des fichiers et de tests correspondants parmi l'ensemble des différents tests affectant chacun des fichiers ; et, un code de programme lisible par ordinateur (360) pour, en réponse à la détection d'une modification dans l'un des fichiers, identifier dans la mise en correspondance seulement un sous-ensemble de l'ensemble des différents tests affectant le fichier modifié parmi les fichiers et appliquer seulement le sous-ensemble de l'ensemble des différents tests au fichier modifié parmi les fichiers. 12. Programme informatique selon la revendication 11, dans lequel l'application est une application Web. 13. Programme informatique selon la revendication 12, dans lequel les fichiers sont des fichiers en langage de balisage. 14. Programme informatique selon la revendication 11, dans lequel la mise en correspondance (220) est un tableau de différents fichiers (260) et de tests correspondants (270) affectant chacun des différents fichiers (260). 15. Programme informatique selon la revendication 11, comprenant en outre : un code de programme lisible par ordinateur (390) pour comparer un résultat de l'application du sous-ensemble de l'ensemble des différents tests et un résultat de l'application de l'ensemble des différents tests ; et, un code de programme lisible par ordinateur (400) pour notifier des différences issues de la comparaison comme étant de nouvelles erreurs produites par le fichier modifié parmi les fichiers.