SlideShare une entreprise Scribd logo
APPLICATIONS MOBILES : QUELLES EXIGENCES NON FONCTIONNELLES ET COMMENT LES TESTER ? - Thierry leboucq (greenspector)
APPLICATIONS MOBILES : QUELLES EXIGENCES NON FONCTIONNELLES ET COMMENT LES TESTER ? - Thierry leboucq (greenspector)
APPLICATIONS MOBILES : QUELLES EXIGENCES NON FONCTIONNELLES ET COMMENT LES TESTER ? - Thierry leboucq (greenspector)
Il s’agit d’une exigence non-associée à une fonctionnalité demandée par le
client mais cependant lié à un besoin client sous laquelle un logiciel doit
fonctionner ou être développé.
Performance
Fiabilité
Utilisabilité
Maintenabilité
Particularités des Exigences non-fonctionnelles vs fonctionnelles :
- Souvent dépriorisées par les équipes
- Vérifiées en fin de cycle (en recette) car souvent au niveau système
- Non adaptées aux nouvelles pratiques de développement (Agilité par exemple)
- Exigences incomplètes compte-tenu des systèmes complexes
 Elles sont généralement traitées en production.
Outil de profiling
+ Mesures complètes des ressources mais non axés exigences
- Complexe, peu d’automatisation
Outils de testing (Performance)
+ Offre existante sur les outils de performance
- Axés souvent uniquement backend
Outils de monitoring
+ De nombreuses métriques
- Trop d’information pour vérifier des exigences
7
53% de visiteurs abandonnent le site si ce dernier
ne se charge pas en 3 secondes
Source : Chrome Dev Summit 2017
8
19 secondes de chargement moyen en 3G
pour les sites mobile
Source : Chrome Dev Summit 2017
APPLICATIONS MOBILES : QUELLES EXIGENCES NON FONCTIONNELLES ET COMMENT LES TESTER ? - Thierry leboucq (greenspector)
APPLICATIONS MOBILES : QUELLES EXIGENCES NON FONCTIONNELLES ET COMMENT LES TESTER ? - Thierry leboucq (greenspector)
ISO9126 sur l’efficience :
"A set of attributes that bear on the relationship between the
level of performance of the software and the amount of
resources used, under stated conditions."
La définition d’une NFR d’efficience doit donc lister au moins
un élément de chaque domaine :
Le système doit respecter [cette performance] en
consommant [au maximum ce niveau de ressource] dans [cet
environnement / condition d’exécution]
La notion de consommation de ressources est une contrainte à
prendre en compte pour respecter une performance donnée.
Les conditions d’exécution sont aussi des contraintes (La 2G implique
par exemple une consommation limitée de bande passante)
La contrainte devient un cadre pour les exigences non-fonctionnelles
La notion de contrainte est adaptée dans le contexte de plateforme
hétérogène (Smartphones toute génération et toute puissance par
exemple)
Ces contraintes forment un cadre qui peut être considéré comme un
budget
La performance doit être respectée sans dépassement du budget
ressource ou comme un objectif à challenger
Le système doit respecter [cette performance]
en consommant [au maximum ce niveau de ressource]
dans [cet environnement / condition d’exécution]
NFR
Budget
Modèle RAIL (Google)
Response : 100ms
Animation : 16 ms
Idle : 100 ms
Load : 1s
+ : Répartition sur les éléments de la page
- : Absence de contrainte et de consommation
ressource
Permet d’étendre la définition des NFR et de les répartir sur des éléments
plus granulaires
Par exemple :
- Temps de chargement des éléments : JS, images, …. dans une page web
- Permet de surveiller le respect en agilité
- Se base sur le même principe que le nombre limite de tâche dans le
Kanban (WIP)
- Engagement entre toutes les parties (pas uniquement les
développeurs)
Plusieurs actions possibles suite aux dépassements
- Discussion en fin de sprint
- Optimisation
- Médiation avec adaptation des besoins fonctionnels
- Transfert des budgets sur d’autres fonctions
APPLICATIONS MOBILES : QUELLES EXIGENCES NON FONCTIONNELLES ET COMMENT LES TESTER ? - Thierry leboucq (greenspector)
APPLICATIONS MOBILES : QUELLES EXIGENCES NON FONCTIONNELLES ET COMMENT LES TESTER ? - Thierry leboucq (greenspector)
x3
Budget de 200 uAh/s
Dépassement important
Performance OK sur matériel performant
Optimisation nécessaire
Consommation de l’OS et du matériel
Consommation Dans le budget
Consommation en excès
Le dépassement de budget permet de :
- Détecter un problème de consommation
ressources malgré une performance
correcte
- Lever des problèmes de performance sur
certains devices
- Limiter le temps de debug et de profilling
- Remettre en cause la gestion des
interruptions de Android
2 jours de correction pour une amélioration notable
APPLICATIONS MOBILES : QUELLES EXIGENCES NON FONCTIONNELLES ET COMMENT LES TESTER ? - Thierry leboucq (greenspector)
Un certain besoin utilisateur non fonctionnel doit être respecté avec
une (ou des) contrainte(s) de consommation matérielle.
Affichage en moins de 2
secondes
8 heures d’autonomie
Durée de vie de la batterie
de plus de 3 ans
Connexion 2G
Smartphone 1 coeur
Batterie 2000 mAh
Besoinsouexigences
Contraintes
Sans contraintes, pas d’efficience mais uniquement de la performance !
L’adéquation entre le besoin et la contrainte se formalise avec un
budget « Ressources » réparti sur les fonctionnalités.
Besoin
8 heures d’autonomie
Contrainte
Batterie 3000 mAh
200 scans par jour
Usage
2 heures de veille
Comportement
non-fonctionnel
6 mAh par scan
Un 1er budget nécessite
des données estimées
ou des 1ères mesures
25
•
•
•
-2000
-1000
0
1000
2000
3000
0 1 2 3 4 5 6 7 8
Projection d’autonomie pour le Bluebird
Cible
config_01
config_02
config_03
config_04
config_05
config_06
config_07
config_08
config_09
config_10
config_11
config_12
config_13
config_14
config_15
config_16
config_17
config_18
config_19
config_20
config_21
En 2G
l’autonomie n’est
pas respectée
Autonomie respectée pour
configuration réaliste
(luminosité 50%,WIFI , 4G,
APPLICATIONS MOBILES : QUELLES EXIGENCES NON FONCTIONNELLES ET COMMENT LES TESTER ? - Thierry leboucq (greenspector)
APPLICATIONS MOBILES : QUELLES EXIGENCES NON FONCTIONNELLES ET COMMENT LES TESTER ? - Thierry leboucq (greenspector)
APPLICATIONS MOBILES : QUELLES EXIGENCES NON FONCTIONNELLES ET COMMENT LES TESTER ? - Thierry leboucq (greenspector)
APPLICATIONS MOBILES : QUELLES EXIGENCES NON FONCTIONNELLES ET COMMENT LES TESTER ? - Thierry leboucq (greenspector)
Au-delà du besoin de réduire la consommation d’énergie, la
métrique énergie est un indicateur majeur pour piloter la
consommation de toutes les parties du système (CPU,
mémoire, réseau…​)
APPLICATIONS MOBILES : QUELLES EXIGENCES NON FONCTIONNELLES ET COMMENT LES TESTER ? - Thierry leboucq (greenspector)
L’intégration du concept dans les plateforme
d’intégration continue (PIC) permet de contrôler en
continu les budgets.
Tout outil qui permettra de mesurer les métriques classiques et d’être
automatisable est compatible :
- Web Page Tests
- Outils de chrome (Lighthouse)
- Instrumentation de performance classique (CPU, mémoire…)
Pour ajouter l’énergie :
- Power API (modélisation de l’énergie sur PC)
- API Android
- Greenspector
- Instrumentation dans les data centers
Les outils de mesure doivent être utilisés en parallèle de
tests automatisés.
• Nécessité d’avoir un périmètre maîtrisé (Unité
fonctionnelle, unité de temps, contraintes connues)
• Nécessité d’être répétable
• Les tests fonctionnels sont idéals (un budget associé à une
fonctionnalité)
Attention, les outils de Real User Monitoring (Dynatrace,
Appdynamics…) ou de profiling ne permettent pas
forcément cette approche
Notion de budget et de contrainte complexe (manque unité
de temps entre autre)
Les NFR atteignent leurs limites telles qu’appliquées avec les
méthodes actuelles.
La notion de budget et de contraintes associées permet
d’intégrer tous les acteurs et de mieux formaliser et tester les
NFR
De plus, la notion de budget va permettre l’intégration dans les
process agiles
La performance pure (temps de réponse) est une métrique
importante mais doit être complétée par l’énergie.
Nous contacter :
GREENSPECTOR
contact@greenspector.com
Tél. : 09 51 44 55 79
6 Rue Rose Dieng-Kuntz
CS 90729 – 44307 Nantes
Cedex 3
www.greenspector.com
@Green_spector

Contenu connexe

PDF
Projet Fin D'étude Application Mobile
PPSX
diagramme de séquence UML
PPTX
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
PPTX
Présentation pfe - Etude, conception et réalisation d'une application web de ...
PPTX
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
PDF
Rapport PFE: Gestion de Parc Informatique
PPTX
conception et création une base de donnée de réservation de vol
Projet Fin D'étude Application Mobile
diagramme de séquence UML
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Présentation pfe - Etude, conception et réalisation d'une application web de ...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Rapport PFE: Gestion de Parc Informatique
conception et création une base de donnée de réservation de vol

Tendances (20)

PDF
Rapport pfe-ayoub mkharbach
PDF
CV Ingénieur développeur JAVA/EE
PDF
Mohamed -CV 2016
PPTX
gestion de magasin vente matériels informatique
PPTX
Présentation PFE : Mise en place d’une solution de gestion intégrée (OpenERP...
PPTX
Présentation PFE Module Article GPAO
PDF
exercices business intelligence
PDF
Rapport de stage PFE - Mémoire master: Développement d'une application Android
PPT
Modele-elearning
PDF
rapport de projet de fin d'étude_PFE
PDF
Application mobile bancaire sous la plateforme Android
PDF
ERP médical pour la TRANSTU : module de gestion pharmaceutiques
PPTX
Modèle en cascade
PPT
Méthodologie 2 Track Unified Process
PPTX
E-learning
PDF
Conception et développement d'une application de gestion de production et de ...
PDF
Rapport pfe
PPTX
Architectures 3-tiers (Web)
PDF
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
PDF
TP2-UML-Correction
Rapport pfe-ayoub mkharbach
CV Ingénieur développeur JAVA/EE
Mohamed -CV 2016
gestion de magasin vente matériels informatique
Présentation PFE : Mise en place d’une solution de gestion intégrée (OpenERP...
Présentation PFE Module Article GPAO
exercices business intelligence
Rapport de stage PFE - Mémoire master: Développement d'une application Android
Modele-elearning
rapport de projet de fin d'étude_PFE
Application mobile bancaire sous la plateforme Android
ERP médical pour la TRANSTU : module de gestion pharmaceutiques
Modèle en cascade
Méthodologie 2 Track Unified Process
E-learning
Conception et développement d'une application de gestion de production et de ...
Rapport pfe
Architectures 3-tiers (Web)
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
TP2-UML-Correction
Publicité

Similaire à APPLICATIONS MOBILES : QUELLES EXIGENCES NON FONCTIONNELLES ET COMMENT LES TESTER ? - Thierry leboucq (greenspector) (20)

PDF
Oxalide Morning tech #2 - démarche performance
PDF
Morning tech #2 - Démarche performance slides
PDF
Utc apm human talks compiegne
PPTX
Génie Logiciel.pptx
PPTX
Techniques de gestion de l’alimentation des architectures multiprocesseurs
PDF
[DevTestday] Gouvernance Dev/Test Azure
PDF
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
PDF
La spécification des besoins
PPT
Methodologie projet
PPTX
Session #2 du workshop sur la performance en environnement de production
PDF
Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.
PPTX
L’informatique efficience
PPTX
Propostion un Iaas
PPT
GtugDakar AppEngine, Gwt
PPTX
Disaster Recovery Plan (DRP) & Business Continuity Plan 2012 - Computerland
PDF
La performance de vos applications Drupal
PDF
Automatisation de la production
PDF
Documentation - Database Tuning (Oracle)
PDF
IBM Bluemix Paris Meetup #24 2017-06-26 - Société Générale testimony Decis...
PPTX
Migration vers Active Directory 2012 et 2012 R2 : les meilleures pratiques
Oxalide Morning tech #2 - démarche performance
Morning tech #2 - Démarche performance slides
Utc apm human talks compiegne
Génie Logiciel.pptx
Techniques de gestion de l’alimentation des architectures multiprocesseurs
[DevTestday] Gouvernance Dev/Test Azure
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
La spécification des besoins
Methodologie projet
Session #2 du workshop sur la performance en environnement de production
Cours Jean-Louis BOULANGER: Réalisation d'une application logicielle.
L’informatique efficience
Propostion un Iaas
GtugDakar AppEngine, Gwt
Disaster Recovery Plan (DRP) & Business Continuity Plan 2012 - Computerland
La performance de vos applications Drupal
Automatisation de la production
Documentation - Database Tuning (Oracle)
IBM Bluemix Paris Meetup #24 2017-06-26 - Société Générale testimony Decis...
Migration vers Active Directory 2012 et 2012 R2 : les meilleures pratiques
Publicité

Plus de TelecomValley (20)

PDF
Rapport d'activité SoFAB 2022
PDF
Rapport d'activité 2022
PDF
Rapport d'activité 2021 - Telecom Valley
PDF
Livre blanc "Les métamorphoses de l'entreprise face à l'imprévu - Tome 1 : la...
PDF
Rapport d'activité SoFAB 2020
PDF
Rapport d'activité Telecom Valley 2020
PDF
Rapport d'activité SoFAB 2019
PDF
Rapport d'activité Telecom Valley 2019
PDF
Revue de presse Telecom Valley - Février 2020
PDF
Revue de presse Telecom Valley - Janvier 2020
PDF
Revue de presse Telecom Valley - Décembre 2019
PDF
Revue de presse Telecom Valley - Novembre 2019
PDF
Revue de presse Telecom Valley - Octobre 2019
PDF
Revue de presse Telecom Valley - Septembre 2019
PDF
Présentation Team France Export régionale - 29/11/19
PDF
2019 - NOURI - ALL4TEST- Le BDD pour decouvrir et specifier les besoins metie...
PDF
Tester c'est bien, monitorer c'est mieux - 2019 - KISSI - Soirée du Test Logi...
PPSX
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
PDF
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
PDF
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1
Rapport d'activité SoFAB 2022
Rapport d'activité 2022
Rapport d'activité 2021 - Telecom Valley
Livre blanc "Les métamorphoses de l'entreprise face à l'imprévu - Tome 1 : la...
Rapport d'activité SoFAB 2020
Rapport d'activité Telecom Valley 2020
Rapport d'activité SoFAB 2019
Rapport d'activité Telecom Valley 2019
Revue de presse Telecom Valley - Février 2020
Revue de presse Telecom Valley - Janvier 2020
Revue de presse Telecom Valley - Décembre 2019
Revue de presse Telecom Valley - Novembre 2019
Revue de presse Telecom Valley - Octobre 2019
Revue de presse Telecom Valley - Septembre 2019
Présentation Team France Export régionale - 29/11/19
2019 - NOURI - ALL4TEST- Le BDD pour decouvrir et specifier les besoins metie...
Tester c'est bien, monitorer c'est mieux - 2019 - KISSI - Soirée du Test Logi...
Et si mon test était la spécification de mon application ? - JACOB - iWE - So...
A la poursuite du bug perdu - 2019 - THEAULT - DI GIORGIO - ACPQUALIFE
2019 - HAGE CHAHINE - ALTRAN - Presentation-DecouverteMondeAgile_V1.1

Dernier (7)

PDF
COURS GCDs Chap 9.pdf tous les éléments.
PDF
IPTV Meilleur - Le Meilleur Abonnement IPTV en France pour 2025
PPTX
Cours Electrotechnique L2 - Séance 6.pptx
PDF
Frais et décompte dans SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Analyse technique approfondie pour la gestion des transports dans SAP S/4HANA...
PDF
Architecture logicielle et Modeles de Conception
PPTX
test pour la présentation foire de Chalôns V1
COURS GCDs Chap 9.pdf tous les éléments.
IPTV Meilleur - Le Meilleur Abonnement IPTV en France pour 2025
Cours Electrotechnique L2 - Séance 6.pptx
Frais et décompte dans SAP S/4HANA Transportation Management, S4TM3 Col26
Analyse technique approfondie pour la gestion des transports dans SAP S/4HANA...
Architecture logicielle et Modeles de Conception
test pour la présentation foire de Chalôns V1

APPLICATIONS MOBILES : QUELLES EXIGENCES NON FONCTIONNELLES ET COMMENT LES TESTER ? - Thierry leboucq (greenspector)

  • 4. Il s’agit d’une exigence non-associée à une fonctionnalité demandée par le client mais cependant lié à un besoin client sous laquelle un logiciel doit fonctionner ou être développé. Performance Fiabilité Utilisabilité Maintenabilité
  • 5. Particularités des Exigences non-fonctionnelles vs fonctionnelles : - Souvent dépriorisées par les équipes - Vérifiées en fin de cycle (en recette) car souvent au niveau système - Non adaptées aux nouvelles pratiques de développement (Agilité par exemple) - Exigences incomplètes compte-tenu des systèmes complexes  Elles sont généralement traitées en production.
  • 6. Outil de profiling + Mesures complètes des ressources mais non axés exigences - Complexe, peu d’automatisation Outils de testing (Performance) + Offre existante sur les outils de performance - Axés souvent uniquement backend Outils de monitoring + De nombreuses métriques - Trop d’information pour vérifier des exigences
  • 7. 7 53% de visiteurs abandonnent le site si ce dernier ne se charge pas en 3 secondes Source : Chrome Dev Summit 2017
  • 8. 8 19 secondes de chargement moyen en 3G pour les sites mobile Source : Chrome Dev Summit 2017
  • 11. ISO9126 sur l’efficience : "A set of attributes that bear on the relationship between the level of performance of the software and the amount of resources used, under stated conditions." La définition d’une NFR d’efficience doit donc lister au moins un élément de chaque domaine : Le système doit respecter [cette performance] en consommant [au maximum ce niveau de ressource] dans [cet environnement / condition d’exécution]
  • 12. La notion de consommation de ressources est une contrainte à prendre en compte pour respecter une performance donnée. Les conditions d’exécution sont aussi des contraintes (La 2G implique par exemple une consommation limitée de bande passante) La contrainte devient un cadre pour les exigences non-fonctionnelles La notion de contrainte est adaptée dans le contexte de plateforme hétérogène (Smartphones toute génération et toute puissance par exemple) Ces contraintes forment un cadre qui peut être considéré comme un budget La performance doit être respectée sans dépassement du budget ressource ou comme un objectif à challenger
  • 13. Le système doit respecter [cette performance] en consommant [au maximum ce niveau de ressource] dans [cet environnement / condition d’exécution] NFR Budget
  • 14. Modèle RAIL (Google) Response : 100ms Animation : 16 ms Idle : 100 ms Load : 1s + : Répartition sur les éléments de la page - : Absence de contrainte et de consommation ressource
  • 15. Permet d’étendre la définition des NFR et de les répartir sur des éléments plus granulaires Par exemple : - Temps de chargement des éléments : JS, images, …. dans une page web - Permet de surveiller le respect en agilité - Se base sur le même principe que le nombre limite de tâche dans le Kanban (WIP) - Engagement entre toutes les parties (pas uniquement les développeurs) Plusieurs actions possibles suite aux dépassements - Discussion en fin de sprint - Optimisation - Médiation avec adaptation des besoins fonctionnels - Transfert des budgets sur d’autres fonctions
  • 18. x3
  • 19. Budget de 200 uAh/s Dépassement important Performance OK sur matériel performant Optimisation nécessaire Consommation de l’OS et du matériel Consommation Dans le budget Consommation en excès
  • 20. Le dépassement de budget permet de : - Détecter un problème de consommation ressources malgré une performance correcte - Lever des problèmes de performance sur certains devices - Limiter le temps de debug et de profilling - Remettre en cause la gestion des interruptions de Android
  • 21. 2 jours de correction pour une amélioration notable
  • 23. Un certain besoin utilisateur non fonctionnel doit être respecté avec une (ou des) contrainte(s) de consommation matérielle. Affichage en moins de 2 secondes 8 heures d’autonomie Durée de vie de la batterie de plus de 3 ans Connexion 2G Smartphone 1 coeur Batterie 2000 mAh Besoinsouexigences Contraintes Sans contraintes, pas d’efficience mais uniquement de la performance !
  • 24. L’adéquation entre le besoin et la contrainte se formalise avec un budget « Ressources » réparti sur les fonctionnalités. Besoin 8 heures d’autonomie Contrainte Batterie 3000 mAh 200 scans par jour Usage 2 heures de veille Comportement non-fonctionnel 6 mAh par scan Un 1er budget nécessite des données estimées ou des 1ères mesures
  • 26. -2000 -1000 0 1000 2000 3000 0 1 2 3 4 5 6 7 8 Projection d’autonomie pour le Bluebird Cible config_01 config_02 config_03 config_04 config_05 config_06 config_07 config_08 config_09 config_10 config_11 config_12 config_13 config_14 config_15 config_16 config_17 config_18 config_19 config_20 config_21 En 2G l’autonomie n’est pas respectée Autonomie respectée pour configuration réaliste (luminosité 50%,WIFI , 4G,
  • 31. Au-delà du besoin de réduire la consommation d’énergie, la métrique énergie est un indicateur majeur pour piloter la consommation de toutes les parties du système (CPU, mémoire, réseau…​)
  • 33. L’intégration du concept dans les plateforme d’intégration continue (PIC) permet de contrôler en continu les budgets. Tout outil qui permettra de mesurer les métriques classiques et d’être automatisable est compatible : - Web Page Tests - Outils de chrome (Lighthouse) - Instrumentation de performance classique (CPU, mémoire…) Pour ajouter l’énergie : - Power API (modélisation de l’énergie sur PC) - API Android - Greenspector - Instrumentation dans les data centers
  • 34. Les outils de mesure doivent être utilisés en parallèle de tests automatisés. • Nécessité d’avoir un périmètre maîtrisé (Unité fonctionnelle, unité de temps, contraintes connues) • Nécessité d’être répétable • Les tests fonctionnels sont idéals (un budget associé à une fonctionnalité) Attention, les outils de Real User Monitoring (Dynatrace, Appdynamics…) ou de profiling ne permettent pas forcément cette approche Notion de budget et de contrainte complexe (manque unité de temps entre autre)
  • 35. Les NFR atteignent leurs limites telles qu’appliquées avec les méthodes actuelles. La notion de budget et de contraintes associées permet d’intégrer tous les acteurs et de mieux formaliser et tester les NFR De plus, la notion de budget va permettre l’intégration dans les process agiles La performance pure (temps de réponse) est une métrique importante mais doit être complétée par l’énergie.
  • 36. Nous contacter : GREENSPECTOR [email protected] Tél. : 09 51 44 55 79 6 Rue Rose Dieng-Kuntz CS 90729 – 44307 Nantes Cedex 3 www.greenspector.com @Green_spector