Spelling suggestions: "subject:"test logiciel"" "subject:"est logiciel""
1 |
Test de logiciels synchrones avec la PLCSeljimi, Besnik 02 July 2009 (has links) (PDF)
Ce travail porte sur le test fonctionnel, basé sur les spécifications et complètement automatisé des logiciels synchrones. Nous proposons une extension des techniques de test proposées par l'outil Lutess afin de prendre en compte des logiciels qui comportent des entrées/sorties numériques. La génération de données de test est abordée en s'appuyant sur les techniques de programmation par contraintes.<br /><br />Nous avons redéfini les méthodes de guidage de la génération afin de les adapter à ce nouveau contexte numérique. Ainsi, nous proposons, en plus de la génération aléatoire respectant les propriétés invariantes de l'environnement, le guidage du test basé sur des probabilités conditionnelles ou sur des propriétés de sûreté. Des connaissances partielles sur le logiciel, que nous appelons hypothèses de test, peuvent être intégrées dans le processus de génération et contribuer à l'amélioration du pouvoir de détection de fautes du guidage par propriétés de sûreté. Enfin, nous permettons l'utilisation conjointe de plusieurs techniques de guidage dans une même spécification.<br /><br />Une implémentation de ces méthodes de test a été réalisée dans une nouvelle version de l'outil, que nous appelons Lutess V2. L'applicabilité de ces méthodes dans un contexte plus réaliste a été évaluée sur une étude de cas significative d'un contrôleur de niveau d'eau dans une chaudière.
|
2 |
Critères de couverture structurelle pour les programmes LustreLakehal, Abdesselam 08 September 2006 (has links) (PDF)
Ce travail porte sur le test structurel des programmes réactifs synchrones érits en Lustre et sur la définition de critères de couverture pour assurer ce test structurel. Lustre est un langage réactif synchrone flot de données, largement utilisé pour la spécification et la programmation des applications critiques dans des domaines comme l'aéronautique, l'énergie ou les transports. L'application à Lustre des critères de couverture usuels basés sur le flot de contrôle (couverture des instructions, couverture des branches,...) n'est pas significative. <br /><br />Nous avons, en conséquence, défini une hiérarchie de critères adaptés au paradigme flot de données synchrone. Les critères permettent de mesurer la couverture des chemins dans un réseau d'opérateurs. Un réseau d'opérateurs est une modélisation graphique des flots de données dans un programme Lustre. Les critères sont basés sur le calcul symbolique des conditions d'activation de ces chemins. <br /><br />Un outil nommé Lustructu, a été réalisé pour mesurer la couverture atteinte par un jeu de tests selon ces critères. Lustructu analyse le programme sous test et calcule les chemins et leurs conditions d'activation. L'évaluation de la couverture par Lustructu est non-intrusive (pas d'instrumentation du code). L'applicabilité et la pertinence des critères ont été évaluées sur une étude de cas significative issue du secteur de l'aéronautique.
|
3 |
Modélisation et test de mécanismes de sécurité dans des applications internetMouelhi, Tejeddine 22 September 2010 (has links) (PDF)
Les travaux effectués dans de cadre de cette thèse s'intéressent à la problématique du test de sécurité des applications, en considérant la validation des mécanismes de sécurité interne à un système d'une part, puis la sécurité des interfaces web d'autre part. Pour la partie interne, nous avons comparé, dans un premier temps, l'utilisation du test fonctionnel et des tests de sécurité pour valider les mécanismes implémentant une politique de contrôle d'accès. Dans ce cadre, l'analyse de mutation a été adaptée pour qualifier et évaluer les tests. Nous avons ensuite proposé trois méthodologies pour tester les mécanismes de contrôle d'accès: - utilisation du pair-wise pour générer les tests de sécurité, - sélection et transformation des tests fonctionnels en tests de sécurité - détection de mécanismes de sécurité cachés qui nuisent à la flexibilité et l'évolutivivité du système. Concernant le test des interfaces web, visant non seulement à tester le code validant les entrées de l'utilisateur mais aussi protéger les applications web, nous avons proposé une nouvelle approche qui tire profit du test par contournement (bypass-testing) et qui permet de protéger les applications web contre ce type d'attaques. Cette approche a été concrétisée dans un outil permettant à la fois l'audit et la sécurisation des applications web. L'ensemble de ces travaux a conduit à réfléchir à de nouvelles méthodologies de développement garantissant une meilleure qualité et une meilleure testabilité des mécanismes de contrôle d'accès. L'ingénierie des modèles (IDM) a été exploitée pour automatiser la spécification et le déploiement semi-automatisé des politiques de contrôle d'accès, et offrir par analyse de mutation un moyen de certification générique des tests de sécurité. Enfin, la composition de modèles permet d'automatiser l'intégration des mécanismes de sécurité, et surtout la reconfiguration automatique du système en cas d'évolution de la politique de sécurité.
|
4 |
Évolutivité du logiciel.Chak Sok, Sakhonn, January 1900 (has links)
Th. 3e cycle--Inform.--Nancy 1, 1980. N°: 111.
|
5 |
Méthodes et outils pour le test logicielParissis, Ioannis 13 December 2007 (has links) (PDF)
Ce document retrace de manière synthétique mes travaux de recherche depuis septembre 1999, date à laquelle j'ai été recruté sur un poste de Maître de Conférences à l'université Joseph Fourier (Grenoble 1).<br />Ces travaux, menés au sein de l'équipe VASCO du laboratoire LIG, portent sur le test des logiciels et sont étroitement liés aux recherches effectuées de 1993 à 1997, période pendant laquelle j'ai été thésard, puis chercheur contractuel dans cette même équipe.<br />Le test logiciel est une discipline qui embrasse l'ensemble du cycle de développement.<br />En effet, dès l'analyse des besoins d'une application, apparaissent des exigences et des propriétés à tester dont la caractérisation et l'identification font partie des compétences des testeurs. Il en est de même pour la spécification du produit, la conception de son architecture technique ou la programmation. <br />Le test logiciel est également une discipline qui se veut étroitement liée et utile à la pratique professionnelle. La prise en compte des problématiques issues de cette dernière s'est faite, entre autres, au moyen de nombreuses collaborations industrielles qui ont ponctué mes travaux, en particulier dans le cadre de projets nationaux (RNRT, RNTL).
|
6 |
Qualité de la conception de tests logiciels : plate-forme de conception et processus de testAwedikian, Roy 06 February 2009 (has links) (PDF)
L'électronique dans les voitures devient de plus en plus complexe et représente plus de 30% du coût global d'une voiture. Par exemple, dans une BMW série 5 modèle 2008, on peut trouver jusqu'à 80 calculateurs électroniques communiquant ensemble et représentant aux alentours de 10 millions de lignes de code logiciel. Face à cette montée en complexité, les constructeurs et équipementiers électroniques de l'automobile s'intéressent de plus en plus à des méthodes efficaces de développement, vérification et validation de modules électroniques. Plus précisément, ils focalisent leurs efforts sur la partie logicielle de ces modules puisqu'elle est à l'origine de plus de 80% des problèmes détectés sur ces produits. Dans ce contexte, nous avons mené un travail de recherche dont l'objectif est de proposer une approche globale d'amélioration de la qualité des logiciels embarqués dans les véhicules. Notre recherche part d'un audit des processus et outils actuellement utilisés dans l'industrie électronique automobile. Cet audit a permis d'identifier des leviers potentiels d'amélioration de la qualité logicielle. En se basant sur les résultats de l'audit et en tenant compte de la littérature dans le domaine de la qualité logicielle, nous avons proposé une approche globale de conception de cas de test pour les produits logiciels. En effet, nous avons développé une plateforme de génération automatique de tests pour un produit logiciel. Cette plateforme consiste à modéliser les spécifications du produit logiciel pour le simuler lors de tests, à se focaliser sur les tests critiques (ayant une forte probabilité de détecter des défauts) et à piloter la génération automatique des tests par des critères de qualité ; telles que la couverture du code et de la spécification mais aussi le coût des tests. La génération de tests critiques est rendue possible par la définition de profils d'utilisation réelle par produit logiciel, ainsi que par la réutilisation des défauts et des tests capitalisés sur des anciens projets. En plus des aspects algorithmiques du test logiciel, notre approche prend en compte des aspects organisationnels tels que la gestion des connaissances et des compétences et la gestion de projet logiciel. Notre approche a été mise en œuvre sur deux cas d'étude réels d'un équipementier électronique automobile, disposant de données de tests historiques. Les résultats de nos expérimentations révèlent des gains de qualité significatifs : plus de défauts sont trouvés plus tôt et en moins de temps.
|
7 |
Génération automatique de test pour les contrôleurs logiques programmables synchrones / Automated test generation for logical programmable synchronous controllersTka, Mouna 02 June 2016 (has links)
Ce travail de thèse, effectué dans la cadre du projet FUI Minalogic Bluesky, porte sur le test fonctionnel automatisé d'une classe particulière de contrôleurs logiques programmables (em4) produite par InnoVista Sensors. Ce sont des systèmes synchrones qui sont programmés au moyen d'un environnement de développement intégré (IDE). Les personnes qui utilisent et programment ces contrôleurs ne sont pas nécessairement des programmeurs experts. Le développement des applications logicielles doit être par conséquent simple et intuitif. Cela devrait également être le cas pour les tests. Même si les applications définies par ces utilisateurs ne sont pas nécessairement très critiques, il est important de les tester d'une manière adéquate et efficace. Un simulateur inclu dans l'IDE permet aux programmeurs de tester leurs programmes d'une façon qui reste à ce jour informelle et interactive en entrant manuellement des données de test. En se basant sur des recherches précédentes dans le domaine du test des programmes synchrones, nous proposons un nouveau langage de spécification de test, appelé SPTL (Synchronous Programs Testing Language) qui rend possible d'exprimer simplement des scénarios de test qui peuvent être exécutées à la volée pour générer automatiquement des séquences d'entrée de test. Il permet aussi de décrire l'environnement où évolue le système pour mettre des conditions sur les entrées afin d'arriver à des données de test réalistes et de limiter celles qui sont inutiles. SPTL facilite cette tâche de test en introduisant des notions comme les profils d'utilisation, les groupes et les catégories. Nous avons conçu et développé un prototype, nommé "Testium", qui traduit un programme SPTL en un ensemble de contraintes exploitées par un solveur Prolog qui choisit aléatoirement les entrées de test. La génération de données de test s'appuie ainsi sur des techniques de programmation logique par contraintes. Pour l'évaluer, nous avons expérimenté cette méthode sur des exemples d'applications EM4 typiques et réels. Bien que SPTL ait été évalué sur em4, son utilisation peut être envisagée pour la validation d'autres types de contrôleurs ou systèmes synchrones. / This thesis work done in the context of the FUI project Minalogic Bluesky, concerns the automated functional testing of a particular class of programmable logic controllers (em4) produced by InnoVista Sensors. These are synchronous systems that are programmed by means of an integrated development environment (IDE). People who use and program these controllers are not necessarily expert programmers. The development of software applications should be as result simple and intuitive. This should also be the case for testing. Although applications defined by these users need not be very critical, it is important to test them adequately and effectively. A simulator included in the IDE allows programmers to test their programs in a way that remains informal and interactive by manually entering test data.Based on previous research in the area of synchronous test programs, we propose a new test specification language, called SPTL (Synchronous Testing Programs Language) which makes possible to simply express test scenarios that can be executed on the fly to automatically generate test input sequences. It also allows describing the environment in which the system evolves to put conditions on inputs to arrive to realistic test data and limit unnecessary ones. SPTL facilitates this testing task by introducing concepts such as user profiles, groups and categories. We have designed and developed a prototype named "Testium", which translates a SPTL program to a set of constraints used by a Prolog solver that randomly selects the test inputs. So, generating test data is based on constraint logic programming techniques.To assess this, we experimented this method on realistic and typical examples of em4 applications. Although SPTL was evaluated on EM4, its use can be envisaged for the validation of other types of synchronous controllers or systems.
|
8 |
Qualité de la conception de tests logiciels : plate-forme de conception et processus de test / Quality of the design of test cases for automotive software : design platform and testing processAwedikian, Roy 06 February 2009 (has links)
L’électronique dans les voitures devient de plus en plus complexe et représente plus de 30% du coût global d’une voiture. Par exemple, dans une BMW série 5 modèle 2008, on peut trouver jusqu’à 80 calculateurs électroniques communiquant ensemble et représentant aux alentours de 10 millions de lignes de code logiciel. Face à cette montée en complexité, les constructeurs et équipementiers électroniques de l’automobile s’intéressent de plus en plus à des méthodes efficaces de développement, vérification et validation de modules électroniques. Plus précisément, ils focalisent leurs efforts sur la partie logicielle de ces modules puisqu’elle est à l’origine de plus de 80% des problèmes détectés sur ces produits. Dans ce contexte, nous avons mené un travail de recherche dont l’objectif est de proposer une approche globale d’amélioration de la qualité des logiciels embarqués dans les véhicules. Notre recherche part d’un audit des processus et outils actuellement utilisés dans l’industrie électronique automobile. Cet audit a permis d’identifier des leviers potentiels d’amélioration de la qualité logicielle. En se basant sur les résultats de l’audit et en tenant compte de la littérature dans le domaine de la qualité logicielle, nous avons proposé une approche globale de conception de cas de test pour les produits logiciels. En effet, nous avons développé une plateforme de génération automatique de tests pour un produit logiciel. Cette plateforme consiste à modéliser les spécifications du produit logiciel pour le simuler lors de tests, à se focaliser sur les tests critiques (ayant une forte probabilité de détecter des défauts) et à piloter la génération automatique des tests par des critères de qualité ; telles que la couverture du code et de la spécification mais aussi le coût des tests. La génération de tests critiques est rendue possible par la définition de profils d’utilisation réelle par produit logiciel, ainsi que par la réutilisation des défauts et des tests capitalisés sur des anciens projets. En plus des aspects algorithmiques du test logiciel, notre approche prend en compte des aspects organisationnels tels que la gestion des connaissances et des compétences et la gestion de projet logiciel. Notre approche a été mise en œuvre sur deux cas d’étude réels d’un équipementier électronique automobile, disposant de données de tests historiques. Les résultats de nos expérimentations révèlent des gains de qualité significatifs : plus de défauts sont trouvés plus tôt et en moins de temps. / Nowadays, car electronics become more and more complex and represents more than 30% of the total cost of a car. For instance, in a 2008 BMW 5 series model, one can find up to 80 electronic modules communicating together and representing 10 million lines of software code. Facing this growing complexity, carmakers and automotive electronic suppliers are looking for efficient methods to develop, verify and validate electronic modules. In fact, they focus on the software part of these modules since it accounts for more than 80% of the total number of problems detected on these modules. In this context, we achieved our research project with the aim of proposing a global approach able to improve the quality of automotive embedded software. We started with an audit of the software practices currently used in automotive industry and we pinpointed potential levers to improve the global software quality. Based on the results of the audit and the literature review related to software quality, we developed a global approach to improve the design of test cases for software products. In fact, we developed a test generation platform to automatically generate test cases for a software product. It is mainly based on modeling the software functional requirements in order to be simulated when testing the software, focusing on critical tests to be done (because of their higher probability to detect a bug) and monitoring the automatic generation of tests by quality indicators such as the structural and functional coverage but also the tests cost. The generation of critical tests is based on the definition of real use profiles by software product and on the reuse of bugs and test cases capitalized on previous projects. Besides the computational aspects of software testing, our approach takes into account organizational matters such as knowledge management, competency management and project management. Our approach have been implemented in a computer platform and experimented on two typical case studies of an automotive electronic supplier, with historical test data. The results of our experiments reveal significant improvement in software quality: more bugs are detected earlier and in less time.
|
9 |
Test de systèmes ubiquitaires avec prise en compte explicite de la mobilité / Test of ubiquitous systems with explicit consideration of the mobilityAndré, Pierre 17 November 2015 (has links)
L'objectif de cette thèse est de contribuer à l'élaboration d'une méthode de test de systèmes mobiles. L'approche développée est fondée sur la description de tests à l'aide de scénarios et leurs vérifications sur une trace d'exécution. Un scénario modélise le comportement et les interactions que l'on souhaite observer entre un ensemble de nœuds. Les caractéristiques des systèmes mobiles nous ont conduit à représenter un scénario sous deux points de vue différents et complémentaires. Un premier représente des événements de communications entre les nœuds et un second représente la topologie des liens entre ces nœuds. Notre approche est décomposée en deux étapes : une étape de spécification des cas de tests à l'aide de scénarios et une étape de vérification de ces scénarios sur des traces d'exécutions. La première consiste à spécifier à l'aide du langage dédié TERMOS les cas de test de l'application mobile à vérifier. Ce langage TERMOS a été mis en œuvre au sein de l'atelier UML Papyrus. À partir des scénarios décrits de manière graphique, nous générons pour chacun d'eux un automate ainsi qu'une séquence de topologie que nous utilisons dans l'étape suivante. La deuxième étape consiste à vérifier chaque scénario sur des traces d'exécutions provenant de l'application à tester. Pour cela un premier outil recherche les occurrences de la séquence de topologie du scénario dans la trace d'exécution. Pour chacune d'entre elles, l'automate est exécuté et conclut à un verdict. L'analyse de l'ensemble des verdicts d'un scénario permet de détecter les fautes présentes dans le système. / The main objective of this thesis is to contribute to elaborating a mobile system test method. The proposed approach is based on test definition using scenarios and their verification on an execution trace. A scenario modelizes the behavior and the interactions we want to achieve on a set of nodes. Considering the characteristics of mobile systems we represented scenarios from two different but complementary points of view. The first represents communication events between nodes and the second represents the link topology between the nodes. Our approach is composed of two steps : a first step to specify the test cases by using scenarios and a second step to verify these scenarios on execution flows. The first step consists in using the dedicated TERMOS language in order to specify the test cases of the mobile application. The TERMOS language has been developed in the UML Papyrus workshop. Based on the graphically defined scenarios, we generate an automaton for each one of them, as well as a sequence of topologies which we will be using in the next step. The second step consists in verifying each scenario by using execution traces from the application to be tested. Therefore a first tool detects scenario topology sequences in the execution flow. For each one of them the automaton is executed and comes out with a verdict. The analysis of all the verdicts of a scenario allows the detection of faults in the system.
|
10 |
Contributions à la génération de tests à base de contraintesGotlieb, Arnaud 12 December 2011 (has links) (PDF)
Ces dernières années, les recherches en matière de Test Logiciel ont conduit au développement de techniques de résolution de contraintes dédiées, dans ce qui est appelé ''le test à base de contraintes''. Notre approche dans ce domaine vise à explorer l'apport de la Programmation par Contraintes à la génération automatique de test pour les programmes impératifs. Nous nous sommes intéressés à la résolution de problèmes combinatoires difficiles issus de la génération de données de test, en développant des techniques de propagation de contraintes et de filtrage, adaptées au traitement des constructions des langages de programmation. Notre habilitation tente de faire une première synthèse de ce sujet au travers de cinq contributions: l'hybridation de techniques de résolution de contraintes pour la génération automatique de cas de test, la génération probabiliste de cas de test à l'aide d'opérateurs à contrainte probabiliste, les contraintes sur un modèle mémoire pour les programmes manipulant les pointeurs, la résolution de contraintes sur les expressions portant sur les nombres à virgule flottante, et le test de programmes à contraintes. Nous illustrons également ces contributions par leur application à la vérification de logiciels critiques, et dressons quelques perspectives à ces travaux.
|
Page generated in 0.0544 seconds