Les spécifications pour l’interface graphique

LES SYSTÈMES D’EXPLOITATION MOBILES

Nous commençons par un bref tour de piste des principaux écosystèmes d’applications mobiles. On en dénombre cinq : Android, iOS, Windows Phone et BlackBerry OS.

ANDROID Android est un système d’exploitation conçu par Google. Il est open source et basé sur Linux. Android est le système d’exploitation le plus utilisé dans le monde, avec plus de 85% de parts de marché dans les téléphones intelligents (Zednet, 2017). La plupart des fabricants et des opérateurs cellulaires utilisent et modifient le système d’exploitation Android en fonction de leur matériel. Le nombre d’appareils Android est en croissance : il y avait 18 796 appareils Android distincts en 2014, comparativement à 11 868 en 2013 (GÖTH, 2015). Cette diversité augmente la complexité du système, les coûts et la complexité des tests. Cependant de nombreux outils et frameworks de test visent principalement Android en raison de sa popularité et du nombre d’applications disponibles dans les boutiques de téléchargement. La boutique principale de téléchargement d’Android est Google Play, mais il existe également d’autres boutiques comme Samsung Apps ou Amazon Store.

Google fournit une liste des informations 1 sur les spécifications de conception, les recommandations relatives aux tests et d’autres informations aux développeurs. Cette liste d’informations doit être vérifiée avant de soumettre une nouvelle application à Google Play. La figure 2.1 montre un exemple d’un cas à respecter. Pendant la soumission, Google utilise un processus d’approbation qui analyse chaque application ou mise à jour. Si l’application ne respecte pas les règles, elle peut être supprimée ou suspendue de la part de Google ; de plus, le temps d’approbation peut prendre jusqu’à sept jours pour publier l’application. C’est pour cette raison qu’il est nécessaire de bien tester et vérifier l’application avant de la soumettre à Google Play. Android fournit un sous-ensemble des bibliothèques Java adaptées aux composantes d’interface utilisateur graphique et aux événements qui se produisent via l’interface tactile. Les éléments de l’interface peuvent être définis dans un fichier XML et dans le code source. La connexion entre les fenêtres est définie par la programmation dans le code source, et non dans le fichier XML. Les objets du GUI sont structurés hiérarchiquement comme le montre la figure 2.2. Les ViewGroups (Google, 2016) sont des conteneurs pouvant inclure d’autres éléments ViewGroup, lesquels peuvent contenir des éléments View tel que les widgets.

IOS iOS est un système d’exploitation mobile développé par Apple pour ses propres appareils. Il a été développé à l’origine pour les iPhone, mais maintenant iOS fonctionne sur iPad, iPod Touch et Apple TV. Contrairement à Android, les autres fabricants ne sont pas autorisés à utiliser iOS. Par conséquent, seuls les périphériques fabriqués par Apple peuvent l’utiliser (Zednet, 2017). En septembre 2014, la part de marché d’iOS était de 11%, et environ 90% des utilisateurs possédaient la dernière version (iOS 10) ou bien l’avant-dernière version (iOS 9). Les fonctionnalités de ces versions de iOS dépendent des périphériques (GÖTH, 2015). En conséquence, les tests sur tous les périphériques disponibles ne sont pas aussi difficiles en comparaison avec Android. La boutique de téléchargement de iOS est le Apple Store. Les applications soumises à l’Apple Store doivent passer par un processus d’approbation difficile. L’application doit répondre aux spécifications de l’Apple Store et aux exigences d’interface utilisateur. Elle doit également être quelque chose d’utile ou d’unique, et répondre à des exigences de qualité élevées. Le processus complet d’approbation des demandes prend entre quatre et onze jours.

Au cours de ce processus, l’application passe par des tests automatiques et manuels. Elles peuvent être publiées ou rejetées ; si une application est rejetée, les développeurs reçoivent par la suite des commentaires sur les points non respectés. Dans iOS, l’environnement de développement pour les applications natives est Xcode qui peut être installé uniquement sur le système d’exploitation OS X d’Apple. Xcode dispose d’un générateur d’interface graphique intégrée pour générer un GUI. La hiérarchie du GUI est sous forme d’un arbre, et est un peu similaire à Android, comme montre la figure 2.4. La vue (View) (Apple, 2016) est générée et stockée dans le fichier XIB, qui est un fichier XML et hiérarchiquement organisé. Pendant la construction, les fichiers XIB sont compilés ; ils ne peuvent pas être édités à la main. Les autres parties de l’application représentent le modèle et le contrôleur. La connexion entre les fenêtres est similaire à l’architecture Android et est définie par programmation dans le code source.

LES SPÉCIFICATIONS POUR L’INTERFACE GRAPHIQUE

Une interface graphique peut avoir une présentation visuelle qui n’est pas conviviale, ou une disposition des éléments qui n’est pas correcte. Ceci peut être considéré comme un bug dans l’application ; ce bug a des effets visibles sur le contenu des fenêtres servies à l’utilisateur. Pour remédier à ces problèmes, les éditeurs des systèmes Apple IO (Apple, 2017), Android (Android, 2017), GNOME (The GNOME Project, 2017) et Windows (Microsoft Corporation, 1992) ont établi dans diverses mesures des règles ou des spécifications à suivre basées sur une étude scientifique de la relation entre l’homme et la machine. Ces règles exploitent toutes les ressources qui puissent être utilisés pour laisser l’utilisateur vivre une meilleure expérience. Les développeurs échouent souvent à prendre en compte la perspective de l’utilisateur final ; ils sont principalement concentrés à faire fonctionner l’application à proprement parler.

Ceci est particulièrement vrai s’ils développent une application de vente au détail, ou un produit qui sera utilisé par des utilisateurs non techniques. Une quantité massive de logiciels à usage interne sont créés pour les entreprises, et un minimum de temps, d’efforts ou d’argent est souvent investi dans la création d’une meilleure interface utilisateur. Avant d’aller plus loin, il est important de différencier l’interface utilisateur et l’expérience utilisateur. L’interface utilisateur fait référence aux visuels et aux contrôles de l’application, tandis que l’expérience utilisateur englobe à la fois l’interface utilisateur et le comportement de l’application associée à l’interface utilisateur. Dans ce dernier cas, il ne s’agit pas seulement de concevoir une interface utilisateur attrayante, mais aussi de s’assurer que tout fonctionne bien. Autrement dit, pendant le développement d’une application mobile, la principale source de recommandations pour les concepteurs et les développeurs sont les spécifications de l’interface utilisateur graphique. La vérification des spécifications pour l’interface graphique est un processus qui permet de contrôler la disposition des éléments de l’interface graphique tel que le positionnement, la taille des widgets dans des écrans différents, la police, les zones de texte, les boutons ainsi que les listes. Cette opération vérifie également l’aspect visuel des composants de l’interface utilisateur, s’ils sont affichés correctement en prenant en considération l’usage des couleurs, la clarté et la visibilité des logos, des icônes ainsi que des images. Dans ce qui suit, nous allons présenter quelques exemples des spécifications concernant en particulier l’interface graphique Android, telles que décrites dans la documentation officielle des normes d’interface de ce système 4.

Table des matières

1 Introduction
2 Les tests dans les applications mobiles
2.1 Les systèmes d’exploitation mobiles
2.1.1 Android
2.1.2 iOS
2.1.3 Windows Phone et BlackBerry OS
2.2 Types de tests pour les applications mobiles
2.3 Les spécifications pour l’interface graphique
3 État de l’art
3.1 Tests par capture d’écrans
3.1.1 BackstopJS
3.1.2 Wraith
3.1.3 Sikuli
3.1.4 Ranorex
3.1.5 MonkeyTalk
3.1.6 Autovalx
3.2 Analyse de code source
3.2.1 WATIJ
3.2.2 Capybara
3.2.3 UIAutomator
3.2.4 Espresso
3.2.5 Selendroid
3.2.6 Appium
3.3 Conclusion
4 Vérification des spécifications GUI en temps réel avec Cornidroid
4.1 Spécification du langage
4.2 Sonde côté client
4.2.1 La mise en place
4.2.2 Gestion des propriétés
4.2.3 Analyser les éléments GUI
4.2.4 Gestion de la réponse
4.2.5 Communication avec le serveur
4.3 La codification des guidelines d’Android
4.4 Expérimentation
Conclusion
Bibliographie

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *