Final

3 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
3
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
1
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Bonjours MSR les jurys j ai l’honneur de vous présentés mon projet de fin d’études intitulé Automatisation
  • STMicroelectronics, qui représente l’organisation d’acceuil , est le 5éme leader mondiale de semi-conducteurs qui fournie a ses clients (Samsung sony siemens ,,) un large éventail d’application électroniques dans les domaines industriels analogiques automobile numérique capteurs sans fils et particulièrement le domaine des microcontrôleurs.
    Ce stage a été réalisé dans l’équipe Tools validation l’unique responsable de la validation fonctionnel des microcontrolleurs, cette équipe appartienne a la division des Microcontrôleurs
    Cette division est l’une des premiers fournisseurs des microcontrôleur dans le monde grâce a sa famille des microcontrôleur puissant STM32.
  • La structure interne d'un microcontrôleur comporte typiquement :
    􀁺 Une unité de calcul et de commande
    􀁺 Mémoire ROM
    􀁺 Mémoire RAM
    􀁺 Un contrôleur d’interruption
    􀁺 Un compteur/temporisateur (timer)
    􀁺 Des entrées/sorties parallèles (ports)
    􀁺 Un UART (port série)
    􀁺 Il peut aussi posséder :
    􀁺 Un Watchdog : (surveillance du programme)
    􀁺 Une sortie PWM (modulation d’impulsion)
    􀁺 Un CAN/CNA (Convertisseur analogique numérique)
    􀁺 Un interface I²C, CAN…
  • Dhabitude Pour pouvoir configurer un microcontrôleur STM32 ; il faut étudier profondement le datasheetet et le manuel de référence associés au microcontrôleur et comprendre le comportement des registres des périphériques à configurer, puis passer à la configuration des périphériques en écrivant manuellement un code c qui contient l’initialisation et la configuration de microcontrôleur.
    Et cela n’est pas évident du tout.
    D’où, un outil écosystème qui aide au configuration des microcontrôleurs demeure indispensable.

    STM32CubMX est l’outil écosystème fournit par STMicroelectronics , pour aider le développeur au choix du microcontroleur STM32 , simplifier et automatiser la configuration et la génération de code C pour l'initialisation du microcontrôleur.







  • Dhabitude Pour pouvoir configurer un microcontrôleur STM32 ; il faut étudier profondement le datasheetet et le manuel de référence associés au microcontrôleur et comprendre le comportement des registres des périphériques à configurer, puis passer à la configuration des périphériques en écrivant manuellement un code c qui contient l’initialisation et la configuration de microcontrôleur.
    Et cela n’est pas évident du tout.
    D’où, un outil écosystème qui aide au configuration des microcontrôleurs demeure indispensable.

    STM32CubMX est l’outil écosystème fournit par STMicroelectronics , pour aider le développeur au choix du microcontroleur STM32 , simplifier et automatiser la configuration et la génération de code C pour l'initialisation du microcontrôleur.







  • Dhabitude Pour pouvoir configurer un microcontrôleur STM32 ; il faut étudier profondement le datasheetet et le manuel de référence associés au microcontrôleur et comprendre le comportement des registres des périphériques à configurer, puis passer à la configuration des périphériques en écrivant manuellement un code c qui contient l’initialisation et la configuration de microcontrôleur.
    Et cela n’est pas évident du tout.
    D’où, un outil écosystème qui aide au configuration des microcontrôleurs demeure indispensable.

    STM32CubMX est l’outil écosystème fournit par STMicroelectronics , pour aider le développeur au choix du microcontroleur STM32 , simplifier et automatiser la configuration et la génération de code C pour l'initialisation du microcontrôleur.







  • Dhabitude Pour pouvoir configurer un microcontrôleur STM32 ; il faut étudier profondement le datasheetet et le manuel de référence associés au microcontrôleur et comprendre le comportement des registres des périphériques à configurer, puis passer à la configuration des périphériques en écrivant manuellement un code c qui contient l’initialisation et la configuration de microcontrôleur.
    Et cela n’est pas évident du tout.
    D’où, un outil écosystème qui aide au configuration des microcontrôleurs demeure indispensable.

    STM32CubMX est l’outil écosystème fournit par STMicroelectronics , pour aider le développeur au choix du microcontroleur STM32 , simplifier et automatiser la configuration et la génération de code C pour l'initialisation du microcontrôleur.







  • pour assurer la réutilisation des ces derniers à tout moment par n'importe quel autre scénario de tes
  • On a identifier les acteurs:
    Ingénieur de validation : C’est l’acteur principal intervenant dans le jeu du test logiciel. Ce dernier est chargé d’imaginer le scénario du test automatique, d’écrire son script, d’assurer son exécution correcte et enfin d’interpréter le rapport de test généré en fin de chaque exécution.
    HP UFT : C’est un acteur non humain secondaire. Il intervient comme étant un outil indispensable pour la réalisation d’un test dès son implémentation, passant par son exécution et arrivant à la génération de son rapport final.

    On presente le diagramme de cas d’utilsation generale
    L’utilisateur va collecter les données à partir d’une fiche technique d’un microcontrôleur et du manuel de référence, les organiser sous forme d’une table de données (forme Excel) et préparer le fichier de configuration de l’environnement du test (chemins d’accès, variables…) sous forme XML.
    Puis
    L’ingénieur de validation doit concevoir un test qui couvre tous les cas de tests possibles et qui vérifie les critères de modularité et de réutilisabilité
    L’ingénieur de validation n’a qu’à définir l’emplacement de la table de données pour que le test puisse le reconnaître et lancer ce dernier. Le test doit s’exécuter sans erreurs.
    Après avoir exécuté le test, l’ingénieur de validation doit examiner les résultats donnés à travers le rapport généré, déterminer les cas d’échéance et lancer un bug pour le corriger par le responsable du développement de l’outil.
  • Parmi les critères non fonctionnels que doit vérifier un test, on peut citer :
    Efficacité : Un test doit être en adéquation avec les besoins de l’utilisateur, couvrir tous les scénarios possibles et surtout détecter les anomalies en cas d’existence.
    Modularité : Un test doit être décomposé par des tests élémentaires appelés actions de sorte qu’une réforme au niveau d’une action n’engendre pas la perturbation du fonctionnement des autres actions.
    Stabilité : Un test ne doit pas présenter des erreurs d’exécution ou des problèmes de communication avec les tables de données qu’il utilise.
    Simplicité : Un test doit être assez simplifié pour faciliter son utilisation et sa maintenance par n’importe quel acteur.
  • on presente l’architecture generale de lappli.
    elle est divisée en 3 parties:
    la 1ere partie constitue notre base de donnée sous forme de fiches excel exploré a partir des datasheet et le manuel de reference
    La 2ieme partie represente notre outil de dev de test automatiques basé sur la correspondance entre le repo qui est notre bibliothèque
    d’objet et la data table généré à partir de l’excel.
    La 3ème partie représente l’outil STM32CubeMX qui configure les microcontroleurs. Il intègre 4 modules: ....
    En fait Les tests developpes vont concerner le module clock config.
  • Ce diagramme d’activité est relative au main scénario de tout les tests afin de valider le module clock configuration.
    Il englobe 3 tests:
    le 1 er test est responsable de la vérification de la config par défaut de la clock tree tout en générant un rapport détaillant
    le 2 ème test concerne la vérification des données ....
    Le 3ème test est responsable de vérifier la conformité des contraintes mentionées au niveau des datasheet

    présente une vision de l’ensemble des actions qui forment la main scénario dont le but est de valider le module clock configuration de l’outil STM32CubeMX. En effet, lors du démarrage, trois tests se déclenche séquentiellement chacun permet de valider une fonctionnalité bien déterminée du module. La première action qui dérive du main scénario conduit à une vérification de la configuration par défaut de la Clock tree tout en générant un rapport détaillant l’état (actif ou inactif) de tout item présent dans la Clock Tree. De plus le rapport signale un cas d’échec ou de succès au cas de respect des contraintes. La deuxième action concerne que les diviseurs présents dans la clock tree. Dans le cas où une valeur d’un tel paramètre n’est pas existante, la configuration en cours s’arrête et le test va signaler un cas d’échec à travers le rapport généré. Ce rapport précise la valeur manquante du paramètre en question et les valeurs des paramètres configurées avec succès dans ce cas de test. La troisième action permet de vérifier si la configuration respecte les contraintes spécifiques à chaque périphérique. Enfin, le rapport de test va lister en détail pour chaque action, les scénarios de test pour lesquels la configuration est erronée et les scénarios qui ont passé avec succès.

  • Ce diagramme montre les détails de la validation du critère de la conformité aux contraintes. Contrairement au test qui valide la configuration par défaut, ce test valide la clock tree par bloc. Donc l’utilisateur saisie le bloc qu’on désire tester, l’UFT sélectionne un composant du bloc sur lequel il exécute deux tests. Dans les deux cas si le composant déborde de la valeur limite extraite sans que le composant se colore en rouge un rapport est généré signalant la non-conformité avec les contraintes mentionnées au niveau de la fiche technique du microcontrôleur contenant le périphérique en question. Si le composant se colore en rouge lors de débordement des limites un rapport de succès de test est aussi généré.
  • HP Unified Functional Testing(UFT) est l’outil qu’on va utiliser dans la création et l’automatisation des tests. Cet outil est destiné aux tests fonctionnels ou de régression des applications logicielles et particulièrement au niveau de leurs interfaces graphiques. Il facilite la détection des anomalies au niveau de ces applications.
  • Final

    1. 1. Automatisation des tests de validation pour le module «Clock Configuration »de l’outil STM32CubeMX Présenté par Karama TORKHANI Projet de fin d’études Encadré par M.Chiheb ABID (FST) M.Nawres GHARBI (STMicroelectronics) Le 21/07/2016
    2. 2. 2 Plan 2 Introduction générale Problématique et solution proposée Spécification des besoins Conception Réalisation 1 2 3 4 5 Conclusion et perspectives6
    3. 3. Introduction générale
    4. 4. STMicroelectronics 4 Introduction générale Microcontroller Division (MCD)
    5. 5. Microcontrôleur 5 ROM RAM CPU A/D Converter Timer EEPROM I/O port Serial Interface (I2C,SPI..) Un microcontrôleur est composé de : Introduction générale
    6. 6. 6STM32CubeMX Ecosystème STM32CubeMX est un outil graphique dédié pour les microcontrôleurs STM32. STM32CubeMX permet de : • Sélectionner un microcontrôleur à partir du portefeuille de tout les STM32. • Configurer facilement un microcontrôleur (pinout, clock tree, configuration…) et générer lecode d'initialisation correspondant. • Générer des rapports de configuration. • Etc. Introduction générale
    7. 7. 7STM32CubeMX Ecosystème STM32CubeMX présente 4 modules principaux Introduction générale
    8. 8. Problématique et solution proposée
    9. 9. 9 Ecosystème La validation actuelle de la clock tree est manuelle • Consommation de ressources • Humaines • matérielles • Monotonie • Fastidiosité • Base de donnée très complexe. • Plusieurs documents: datasheets, référence manuals. • Quantité importante de données. • Quantité importante de combinaisons possibles dans les configurations. • Plusieurs familles et sous familles de microcontrolleurs Validation manuelle Problématique Introduction généraleProblématique et solution
    10. 10. 10 Ecosystème La solution est de passer à l’automatisation Validation automatique • Le but du projet sera donc de: • Mettre en place une suite de tests automatiques pour valider le module ‘Clock Configuration’. • Lancer les tests et générer des rapports automatiques de validation. • Et donc d’assurer : • Rapidité • Couverture • Précision • Fiabilité • Réutilisabilité • Non Régression Solution proposée Introduction généraleProblématique et solution
    11. 11. Spécification des besoins
    12. 12. Besoins fonctionnels • Créer des scénarios de tests pour la validation de la configuration par défaut. • Créer des scénarios de tests pour la validation des contraintes pour chaque objet dans une configuration donnée. • Construire une bibliothèque d'objets contenant tout les éléments graphiques. • Décomposition d'un test sous forme de tests élémentaires • Définir une structure des tables de données servant à stocker les inputs pour un test bien déterminé. • Génération d'un rapport à la fin de chaque test permettant d'afficher les résultats de ce dernier : Cas de succès et cas d'échéance(Bugs). 12 Ingénieur de validation Introduction généraleProblématique et solutionSpécification des besoins
    13. 13. 13Besoins fonctionnels Définir les inputs du test Executer le test Interpreter le rapport de test Conçevoir le test UFT ingénieur de validation Diagramme de cas d’utilisation général :Procédure de test Introduction généraleProblématique et solutionIntroduction généraleProblématique et solutionSpécification des besoins
    14. 14. Efficacité Adéquation avec les besoins de l’utilisateur Couverture de tous les scénarios possibles Détection des anomalies en cas d’existence Stabilité et Simplicité Pas d’erreurs durant l’exécution Simple à utiliser 14Besoins non fonctionnels Modularité Tests élémentaires pour ne pas impacter /perturber l’exécution des autres tests Facile à maintenir Introduction généraleProblématique et solutionIntroduction généraleProblématique et solutionSpécification des besoins
    15. 15. Conception
    16. 16. 16 Base de donnée Excel Datasheet Ref Manual DataTable UFT STM32CubeMX Clock Configuration Configuration PCCPinout Repository Outil de developpement des tests Outil de configuration des STM32 Tests Architecture générale de l’application Diagramme Chart Flow Introduction généraleProblématique et solutionIntroduction généraleProblématique et solutionSpécificaatique et solutionConception
    17. 17. 17 Démarrer test check_default Démarrer test check_constraint Get_activation_sta te get_backgroun d_ color Génerer rapport(Pass) Démarrer le main scénario inactif actif Génerer rapport (Fail) Bleu Rouge Démarrer test check_data Extraire les valeurs réferences Vérificatio n invalide Vérification valide Check_limit_su p() Check_limit_inf () Génerer rapport(Pass) Génerer rapport(Fail) Génerer rapport(Fail) Scénario de test Vérification invalide Vérificati on valide Vérificati on valide Vérificati on invalide Diagramme d’activité du scénario globale des tests Diagramme d’activité Introduction généraleProblématique et solutionIntroduction généraleProblématique et solutionProblématique et solutionIntroduction généraleProblématique et solutionSpécificatatique et solutionConception
    18. 18. 18 Clock TreeHP UFT Ingénieur validation Saisir le bloc à tester Bloc saisi Démarrer le test Test démarré Sélectionner composant du bloc Composant du bloc selectionné Loop [List des composant du bloc n'est pas terminée] Diagramme Check_constraint Excel Check_limit_sup() Extraire les valeurs réferencesValeurs extraites vérification Vérification terminée Génerer rapport () check_limit_inf() Extraire les valeurs réferences Valeurs extraites Vérification terminée vérificationGénerer le rapport() alt Diagramme de séquence du test: conformité aux contraintes Diagramme de séquence Introduction généraleProblématique et solutionIntroduction généraleProblématique et solutionProblématique et solutionIntroduction généraleProblématique et solutionSpécificattique et solutionConception
    19. 19. Réalisation
    20. 20. Environnement de travail 20 Outil d’automatisation des tests Outil de création de la base de donnée des tests Langage de programmation Outil de configuration des STM32 Introduction généraleProblématique et solutionIntroduction généraleProblématique et solutionProblématique et solutionIntroduction généraleProblématique et solutionSpcificatiatique et solutionConception Réalisation
    21. 21. Spécification du test 21 Les tests suivront les conventions du PTS. • Le PTS est un document interne, il permet de: • Décrire les plans de test de validation pour chaque produit. • Détailler les cas de test et les résultats attendus. • Il détaille les points suivants: • Identifiant du test. • Spécification des entrées. • Spécification des sorties (résultat attendu). • Environnement de test. • Procédures spéciales: • Actions (Liste des actions à faire pour valider la fonctionnalité en question) Introduction généraleProblématique et solutionIntroduction généraleProblématique et solutionProblématique et solutionIntroduction généraleProblématique et solutionProblématique et solutionConceptionIntroduction généraleProblématique et solutionSpcificatiatique et solutionConception Réalisation
    22. 22. Préparation des données 22 Peripheral freq_max freq_min conditon source_mux background object_type borne_inf borne sup step PLL_Q 216 na Enabled/disabled PLL_N yes JavaList 2 15 1 PLL_N 432 100 Enabled/disabled PLLM yes JavaList 50 432 1 PLL_P 180 24 Enabled/disabled PLL_N yes JavaList 2 8 2 PLL_I2S_N 432 100 Enabled/disabled PLLM yes JavaList 50 432 1 PLL_I2S_R 216 na Enabled/disabled PLL_I2S_N yes JavaList 2 7 1 PLL_I2S_Q 216 na Enabled/disabled PLL_I2S_N yes JavaList 2 15 1 PLL_SAI_N 432 100 Enabled/disabled PLLM yes JavaList 50 432 1 PLL_SAI_Q 216 na Enabled/disabled PLL_SAI_N yes JavaList 2 15 1 Sous forme Excel les données représenteront les différentes caractéristiques des objets de l’arbre d’horloge Introduction généraleProblématique et solutionIntroduction généraleProblématique et solutionProblématique et solutionIntroduction généraleProblématique et solutionProblématique et solutionConceptionIntroduction généraleProblématique et solutionSpcificatiatique et solutionConception Réalisation
    23. 23. Création de la bibliothèque d’objets 23 La bibliothèque est une collection d'objets et de propriétés avec lesquelles UFT sera en mesure de reconnaître les objets graphiques et agir dessus • L’identification des éléments de l’interface à tester peut être non évidente vu que plusieurs éléments présentent des propriétés similaires. • les relations visuelles permettront de cerner l’objet à tester en le référant à d’autres le distinguer de manière unique. Introduction généraleIntroduction généraleProblématique et solutionProblématique et solutionIntroduction généraleProblématique et solutionProblématique et solutionConceptionIntroduction généraleProblématique et solutionSpcificatiatique et solutionConception Réalisation
    24. 24. Les tests réalisés 24 Parmi les tests réalisés on cite: • Scénario de test principal • Cette action fera appel au actions réutilisables. • Check-default • Ce test s’assurera des valeurs par défaut. • Check-data. • Ce test s’assurera que toutes les valeurs possibles sont présentes. • Check-constraint • Calculer tous les chemins possibles. • Peut tester par bloque. • Contrôle les sources et les diviseurs. • Teste les contraintes de fréquence. Introduction généraleIntroduction généraleProblématique et solutionProblématique et solutionIntroduction généraleProblématique et solutionProblématique et solutionConceptionIntroduction généraleProblématique et solutionSpcificatiatique et solutionConception Réalisation
    25. 25. 25Rapport de test • Nom du test • Date/temps de lancement et fin • Temps total • Résultat: succès ou échec • Pourcentage de réussite • Pourcentage d’échec • Nombre d’échec/succès/avertissements • Nombre d’itérations Introduction généraleIntroduction généraleProblématique et solutionProblématique et solutionIntroduction généraleProblématique et solutionProblématique et solutionConceptionIntroduction généraleProblématique et solutionSpcificatiatique et solutionConception Réalisation
    26. 26. Conclusion et perspectives
    27. 27. 27 • Des tests plus rapides en temps d’exécution. • Détection des bugs plus tôt. • Des tests plus fiable. • Des tests plus précis. • Une meilleure couverture des fonctionnalités. • Intégration des tests sur la plateforme de validation automatique. Conclusion Introduction généraleIntroduction généraleProblématique et solutionProblématique et solutionIntroduction généraleProblématique et solutionProblématique et solutionConceptionIntroduction généraleProblématique et solutionSpcificatiatique et solutionConceptionRéalisationConclusion et perspecttive
    28. 28. 28Perspectives • Augmenter la couverture du test en: • Automatisant la validation du code généré pour la Clock • Automatisant la validation de la fenêtre de configuration des paramètres électriques de la Clock Introduction généraleIntroduction généraleProblématique et solutionProblématique et solutionIntroduction généraleProblématique et solutionProblématique et solutionConceptionIntroduction généraleProblématique et solutionSpcificatiatique et solutionConceptionRéalisationConclusion et perspecttive
    29. 29. 29 Merci Pour votre attentionDes questions ??

    ×