SlideShare une entreprise Scribd logo
1  sur  29
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
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
Introduction générale
STMicroelectronics 4
Introduction générale
Microcontroller
Division
(MCD)
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
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
7STM32CubeMX
Ecosystème
STM32CubeMX présente 4 modules principaux
Introduction générale
Problématique et solution
proposée
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
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
Spécification des besoins
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
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
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
Conception
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
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
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
Réalisation
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
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
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
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
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
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
Conclusion et perspectives
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
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
Merci Pour votre attentionDes questions ??

Contenu connexe

Tendances

Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2Mohammed Lamghari
 
Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Karim Touati
 
Microcontroleur Pic16 F84
Microcontroleur Pic16 F84Microcontroleur Pic16 F84
Microcontroleur Pic16 F84guest1e7b02
 
Composants reconfigurables
Composants reconfigurablesComposants reconfigurables
Composants reconfigurablesPeronnin Eric
 
Projet boat loader avec le pic16F887_rapport
Projet boat loader avec le pic16F887_rapportProjet boat loader avec le pic16F887_rapport
Projet boat loader avec le pic16F887_rapportMouhcine Nid Belkacem
 
Conception avec pic
Conception avec pic Conception avec pic
Conception avec pic nawzat
 
Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le MicroprocesseurTheCrazyMan
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseurISIG
 
Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Sana Aroussi
 
Architecture du microprocesseur
Architecture du microprocesseurArchitecture du microprocesseur
Architecture du microprocesseurOndernemersschool
 
Afficheur 7 segments
Afficheur 7 segmentsAfficheur 7 segments
Afficheur 7 segmentsMaha Achouri
 
Programmation En Langage Pl7 2
Programmation En Langage Pl7 2Programmation En Langage Pl7 2
Programmation En Langage Pl7 2youri59490
 
Chapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursChapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursSana Aroussi
 
Chapitre iii interruptions
Chapitre iii interruptionsChapitre iii interruptions
Chapitre iii interruptionsSana Aroussi
 
Carte multifonction 2017
Carte multifonction 2017Carte multifonction 2017
Carte multifonction 2017Peronnin Eric
 

Tendances (20)

Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2
 
Microcontrôleur
MicrocontrôleurMicrocontrôleur
Microcontrôleur
 
Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)
 
Microcontroleur Pic16 F84
Microcontroleur Pic16 F84Microcontroleur Pic16 F84
Microcontroleur Pic16 F84
 
Composants reconfigurables
Composants reconfigurablesComposants reconfigurables
Composants reconfigurables
 
Cours pics16 f877
Cours pics16 f877Cours pics16 f877
Cours pics16 f877
 
Microcontroleurs
MicrocontroleursMicrocontroleurs
Microcontroleurs
 
Projet boat loader avec le pic16F887_rapport
Projet boat loader avec le pic16F887_rapportProjet boat loader avec le pic16F887_rapport
Projet boat loader avec le pic16F887_rapport
 
Conception avec pic
Conception avec pic Conception avec pic
Conception avec pic
 
Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le Microprocesseur
 
Processeur
ProcesseurProcesseur
Processeur
 
Microcontroleur
MicrocontroleurMicrocontroleur
Microcontroleur
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
 
Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86Chapitre iii processeur intel 80x86
Chapitre iii processeur intel 80x86
 
Architecture du microprocesseur
Architecture du microprocesseurArchitecture du microprocesseur
Architecture du microprocesseur
 
Afficheur 7 segments
Afficheur 7 segmentsAfficheur 7 segments
Afficheur 7 segments
 
Programmation En Langage Pl7 2
Programmation En Langage Pl7 2Programmation En Langage Pl7 2
Programmation En Langage Pl7 2
 
Chapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeursChapitre ii architecture interne des processeurs
Chapitre ii architecture interne des processeurs
 
Chapitre iii interruptions
Chapitre iii interruptionsChapitre iii interruptions
Chapitre iii interruptions
 
Carte multifonction 2017
Carte multifonction 2017Carte multifonction 2017
Carte multifonction 2017
 

En vedette

Implémentation d’une solution de géolocalisation des véhicules basée sur open...
Implémentation d’une solution de géolocalisation des véhicules basée sur open...Implémentation d’une solution de géolocalisation des véhicules basée sur open...
Implémentation d’une solution de géolocalisation des véhicules basée sur open...HORIYASOFT
 
Présentation microprocesseur finale
Présentation microprocesseur finalePrésentation microprocesseur finale
Présentation microprocesseur finaleMahmoud Masmoudi
 
eCall européen, appel d'urgence, Point de situation septembre 2013
eCall européen, appel d'urgence,  Point de situation septembre 2013 eCall européen, appel d'urgence,  Point de situation septembre 2013
eCall européen, appel d'urgence, Point de situation septembre 2013 Antoine Trarieux
 
Véhicules et services Connectés Impacts et Opportunités
Véhicules et services Connectés  Impacts et OpportunitésVéhicules et services Connectés  Impacts et Opportunités
Véhicules et services Connectés Impacts et OpportunitésAntoine Trarieux
 
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREHajer Dahech
 
eCall 2017 IMA solution d'interopérabilité Congrès ATEC ITS France
eCall 2017 IMA solution d'interopérabilité Congrès ATEC ITS FranceeCall 2017 IMA solution d'interopérabilité Congrès ATEC ITS France
eCall 2017 IMA solution d'interopérabilité Congrès ATEC ITS FranceAntoine Trarieux
 
Projet gps
Projet gpsProjet gps
Projet gpsherv4619
 
Gateway d’un système de monitoring
Gateway d’un système de monitoringGateway d’un système de monitoring
Gateway d’un système de monitoringGhassen Chaieb
 
Projet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitaleProjet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitaleAbdo07
 

En vedette (11)

Implémentation d’une solution de géolocalisation des véhicules basée sur open...
Implémentation d’une solution de géolocalisation des véhicules basée sur open...Implémentation d’une solution de géolocalisation des véhicules basée sur open...
Implémentation d’une solution de géolocalisation des véhicules basée sur open...
 
Présentation microprocesseur finale
Présentation microprocesseur finalePrésentation microprocesseur finale
Présentation microprocesseur finale
 
eCall européen, appel d'urgence, Point de situation septembre 2013
eCall européen, appel d'urgence,  Point de situation septembre 2013 eCall européen, appel d'urgence,  Point de situation septembre 2013
eCall européen, appel d'urgence, Point de situation septembre 2013
 
PARC-TECH TRANS
PARC-TECH TRANSPARC-TECH TRANS
PARC-TECH TRANS
 
Véhicules et services Connectés Impacts et Opportunités
Véhicules et services Connectés  Impacts et OpportunitésVéhicules et services Connectés  Impacts et Opportunités
Véhicules et services Connectés Impacts et Opportunités
 
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
 
eCall 2017 IMA solution d'interopérabilité Congrès ATEC ITS France
eCall 2017 IMA solution d'interopérabilité Congrès ATEC ITS FranceeCall 2017 IMA solution d'interopérabilité Congrès ATEC ITS France
eCall 2017 IMA solution d'interopérabilité Congrès ATEC ITS France
 
Projet gps
Projet gpsProjet gps
Projet gps
 
Accelerometer
Accelerometer Accelerometer
Accelerometer
 
Gateway d’un système de monitoring
Gateway d’un système de monitoringGateway d’un système de monitoring
Gateway d’un système de monitoring
 
Projet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitaleProjet de fin d'etude :Control d’acces par empreintes digitale
Projet de fin d'etude :Control d’acces par empreintes digitale
 

Similaire à Final

Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2Christophe Rochefolle
 
Développement d'un grand projet piloté par les tests (BDD)
Développement d'un grand projet piloté par les tests (BDD)Développement d'un grand projet piloté par les tests (BDD)
Développement d'un grand projet piloté par les tests (BDD)Laurent PY
 
Strategie de test à agile tour bordeaux
Strategie de test à agile tour bordeauxStrategie de test à agile tour bordeaux
Strategie de test à agile tour bordeauxNicolas Fédou
 
Session #2 du workshop sur la performance en environnement de production
Session #2 du workshop sur la performance en environnement de productionSession #2 du workshop sur la performance en environnement de production
Session #2 du workshop sur la performance en environnement de productionDEFO KUATE Landry
 
formation istqb.pdf
formation istqb.pdfformation istqb.pdf
formation istqb.pdfmido04
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1Christophe Rochefolle
 
Test de logiciels
Test de logiciels Test de logiciels
Test de logiciels Bilel Abed
 
Tests de performances d'une application Java EE
Tests de performances d'une application Java EETests de performances d'une application Java EE
Tests de performances d'une application Java EEAntonio Gomes Rodrigues
 
Guide tests fonctionnels
Guide tests fonctionnelsGuide tests fonctionnels
Guide tests fonctionnelscvcby
 
Performance ug#1
Performance ug#1Performance ug#1
Performance ug#1Marc Bojoly
 
test_logiciel_rappel_Master1_Université_JKZ.pptx
test_logiciel_rappel_Master1_Université_JKZ.pptxtest_logiciel_rappel_Master1_Université_JKZ.pptx
test_logiciel_rappel_Master1_Université_JKZ.pptxEnochBidima3
 
Les cinq bonnes pratiques des Tests Unitaires dans un projet Agile
Les cinq bonnes pratiques des Tests Unitaires dans un projet AgileLes cinq bonnes pratiques des Tests Unitaires dans un projet Agile
Les cinq bonnes pratiques des Tests Unitaires dans un projet AgileDenis Voituron
 
CocoaHeads Toulouse - Xcode et les tests - Epitez
CocoaHeads Toulouse - Xcode et les tests - EpitezCocoaHeads Toulouse - Xcode et les tests - Epitez
CocoaHeads Toulouse - Xcode et les tests - EpitezCocoaHeads France
 
Université de la performance
Université de la performanceUniversité de la performance
Université de la performancepkernevez
 

Similaire à Final (20)

Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2
 
Test logiciel
Test logicielTest logiciel
Test logiciel
 
chap6_GL.pptx
chap6_GL.pptxchap6_GL.pptx
chap6_GL.pptx
 
Développement d'un grand projet piloté par les tests (BDD)
Développement d'un grand projet piloté par les tests (BDD)Développement d'un grand projet piloté par les tests (BDD)
Développement d'un grand projet piloté par les tests (BDD)
 
Strategie de test à agile tour bordeaux
Strategie de test à agile tour bordeauxStrategie de test à agile tour bordeaux
Strategie de test à agile tour bordeaux
 
Présentation banc_ test
Présentation banc_ testPrésentation banc_ test
Présentation banc_ test
 
Test unitaires
Test unitairesTest unitaires
Test unitaires
 
Bbl sur les tests
Bbl sur les testsBbl sur les tests
Bbl sur les tests
 
Session #2 du workshop sur la performance en environnement de production
Session #2 du workshop sur la performance en environnement de productionSession #2 du workshop sur la performance en environnement de production
Session #2 du workshop sur la performance en environnement de production
 
formation istqb.pdf
formation istqb.pdfformation istqb.pdf
formation istqb.pdf
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1
 
Test de logiciels
Test de logiciels Test de logiciels
Test de logiciels
 
Tests de performances d'une application Java EE
Tests de performances d'une application Java EETests de performances d'une application Java EE
Tests de performances d'une application Java EE
 
J Unit
J UnitJ Unit
J Unit
 
Guide tests fonctionnels
Guide tests fonctionnelsGuide tests fonctionnels
Guide tests fonctionnels
 
Performance ug#1
Performance ug#1Performance ug#1
Performance ug#1
 
test_logiciel_rappel_Master1_Université_JKZ.pptx
test_logiciel_rappel_Master1_Université_JKZ.pptxtest_logiciel_rappel_Master1_Université_JKZ.pptx
test_logiciel_rappel_Master1_Université_JKZ.pptx
 
Les cinq bonnes pratiques des Tests Unitaires dans un projet Agile
Les cinq bonnes pratiques des Tests Unitaires dans un projet AgileLes cinq bonnes pratiques des Tests Unitaires dans un projet Agile
Les cinq bonnes pratiques des Tests Unitaires dans un projet Agile
 
CocoaHeads Toulouse - Xcode et les tests - Epitez
CocoaHeads Toulouse - Xcode et les tests - EpitezCocoaHeads Toulouse - Xcode et les tests - Epitez
CocoaHeads Toulouse - Xcode et les tests - Epitez
 
Université de la performance
Université de la performanceUniversité de la performance
Université de la performance
 

Final

  • 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 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
  • 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. 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. 7STM32CubeMX Ecosystème STM32CubeMX présente 4 modules principaux Introduction générale
  • 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 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
  • 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. 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. 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
  • 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 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 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
  • 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. 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. 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. 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. 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. 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
  • 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. 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 Merci Pour votre attentionDes questions ??

Notes de l'éditeur

  1. Bonjours MSR les jurys j ai l’honneur de vous présentés mon projet de fin d’études intitulé Automatisation
  2. 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.
  3. 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…
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. pour assurer la réutilisation des ces derniers à tout moment par n'importe quel autre scénario de tes
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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é.
  14. 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.