WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Stratégie de test au sein du processus d'évolution d'architecture de Sodifrance

( Télécharger le fichier original )
par Laurent GARNIER
CNAM Nantes - Ingénieur informatique 2011
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

3.2.2 Objectif 1 : cartographie des tests

L'instrumentation du code source, détaillé au § 4.2, doit fournir, à la suite du passage des tests de références, deux types de flux XML. Dans le premier, on va chercher à ajouter du code pour chaque méthode, juste après l'entrée et juste avant chaque instruction de sortie. On obtient ainsi une arborescence des appels de méthodes. Le second flux permet de connaître pour les méthodes de type « événement utilisateur » l'état de l'ensemble des éléments graphiques d'un écran à un instant donné. Il est alimenté, comme le précédent, lors de entrée et de la (ou des) sortie(s) de la méthode.

Un service Java permet de lire ces flux et de les intégrer à la base « Migration Platform ». Cela revient à insérer les tests de référence en base. Ils sont vus comme des cas de test, composés d'éléments, qui sont soit des appels de méthode simple : « testExecutionNode » (cf. Figure 20), soit des appels de méthodes événementielles : « testUserEvent ».

Ces derniers ont alors un état d'entrée et de sortie de l'écran : « UIState » (cf. Figure 21). Il est luimême composé d'un ensemble de paires clé / valeur permettant de représenter les propriétés de chaque composant de l'écran.

En Visual Basic 6, langage de programmation sur lequel a été réalisé une grande partie des maquettes, l'introspection n'est pas totalement implémentée. C'est-à-dire qu'on ne peut pas connaitre dynamiquement l'ensemble des propriétés d'un composant graphique par exemple. En revanche, si on connaît le nom des propriétés pour lesquelles on veut la valeur, la commande « CallByName » permet d'interroger dynamiquement la propriété du composant et d'obtenir sa valeur. Il a donc fallu définir par le biais d'un fichier de configuration les composants graphiques et les propriétés faisant l'objet d'une « surveillance » de la part de l'instrumentation.

CNAM de Nantes - 2010 / 2011 - Mémoire d'ingénieur

 
 

Figure 22 : Exploitation de la cartographie pour produire un diagramme de classe

CNAM de Nantes - 2010 / 2011 - Mémoire d'ingénieur

 
 

3.2.2.1 Vision statique et dynamique de la cartographie

Avant l'insertion des tests, la base de donnée ne contient que ce que l'analyseur syntaxique a pu lui fournir. Pour garder le langage Visual Basic en exemple, l'instruction :

Public Function getCustomer() as clsCustomer

sera interprétée comme une fonction renvoyant une instance de la classe « clsCustomer ». Dans le modèle, il en résulte la création d'un lien entre cette fonction et la classe « clsCustomer ». En revanche, l'instruction suivante ne donnera pas les mêmes résultats :

Public Function getCustomer() as Object

En effet, même si dans le corps de la méthode, les instructions font que le type renvoyé sera effectivement une instance de la classe « clsCustomer », l'analyseur syntaxique ne réussira pas à résoudre cette relation. On arrive alors aux limites de l'analyse statique du code. Grâce à l'instrumentation de toutes les méthodes du code source, la trace XML permettra de mettre en évidence, à l'intérieur de la fonction « getCustomer » l'accès au constructeur de la classe « clsCustomer » ou à des méthodes liées à cette classe. On obtient donc une vision dynamique de l'application. On pourra donc ajouter la liaison non résolu par l'analyseur syntaxique entre la fonction et la classe

Au niveau de la base « Migration Platform », on ajoute à la vision statique de l'analyseur la vision dynamique fournie par les tests de références. Au passage, on peut noter qu'on répond à une des exigences initiales : le point d'entrée étant un cas de test, on connait l'exhaustivité des composants utilisés par ce cas de test.

Concernant le langage Visual Basic, il peut être utilisé de manière assez libre et devenir très peu typé. Cette vision dynamique est indispensable afin d'obtenir une idée claire de l'ensemble des relations entre les composants de l'application.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"I don't believe we shall ever have a good money again before we take the thing out of the hand of governments. We can't take it violently, out of the hands of governments, all we can do is by some sly roundabout way introduce something that they can't stop ..."   Friedrich Hayek (1899-1992) en 1984