Successfully reported this slideshow.

Final

191 vues

Publié le

  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

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 ??

×