Audit d’application mobile : en quoi cela consiste et pour quels bénéfices ?

8.Mar.21

De plus en plus d’entreprises ont compris l’intérêt de disposer d’une application mobile, qu’elle soit à destination de leurs employés ou de leurs clients. Cependant, dans la course au digital, il est important d’accorder une attention particulière à la qualité de l’application. Car les projets de développement mobile requièrent des compétences bien spécifiques (en programmation, test, design, architecture, gestion de projet…). Lorsque vous sous-traitez le projet, il est donc important de bien choisir votre prestataire.

Car, si votre appli n’est pas à la hauteur des attentes de ses utilisateurs (notamment en termes de performance, de sécurité, de fiabilité…), c’est votre image de marque qui en pâtit. Obtenir un avis objectif sur la qualité d’une application mobile, sur le plan technique et fonctionnel, motive donc très souvent la réalisation d’un audit. Celui-ci donne lieu à des recommandations et fournit, in fine, une liste priorisée d’améliorations ou de corrections à apporter.

Voyons cela plus en détails.

Pour quelles raisons réaliser l’audit de votre application mobile ?

Selon notre expérience, différentes raisons poussent les entreprises à réaliser un audit de leur application mobile :

  • Malgré les efforts qu’elle développe pour promouvoir son appli, l’entreprise ne parvient pas à engager les utilisateurs (peu de téléchargements ; les téléchargements sont rapidement suivis de désinstallation ; ou encore l’application une fois installée est peu utilisée).
  • L’application souffre de dysfonctionnements, de bugs, d’un défaut de performance lors de montée en charge, ce qui motive des avis négatifs sur les stores et/ou entraine des coûts de maintenance importants ; la question de sa maintenabilité commence à se poser.
  • L’entreprise a sous-traité le développement de son appli et elle souhaite maintenant avoir une meilleure maitrise de son code. Elle aimerait le faire évaluer afin de savoir s’il respecte les bonnes pratiques en matière de développement.
  • L’entreprise envisage des évolutions, mais elle ne sait pas dans quelles mesures l’appli peut évoluer.
  • L’entreprise souhaite mettre à l’épreuve la sécurité de l’appli afin d’identifier d’éventuelles vulnérabilités.

Quelles sont les étapes d’un audit ?

Tout d’abord, il est important de confier l’audit de votre application mobile à une équipe compétente disposant des compétences nécessaires, comme nous l’avons évoqué plus haut. Cette équipe composée d’ingénieurs sénior, experts Android ou iOS, doit être en mesure de vous apporter un avis global sur votre application mobile. L’analyse effectuée va comporter, notamment :

Une analyse statique du code source, c’est-à-dire une étude de l’architecture logicielle et du code de l’application. Il s’agit de :

  • déterminer la manière dont l’appli est construite ;
  • vérifier le respect des préconisations de développement diffusées par Apple/Google ;
  • vérifier la qualité d’organisation des classes / objets / données ;
  • vérifier que le code “externe” (Librairies, frameworks, etc.) est bien à jour ;
  • mesurer la qualité de maintenabilité du code et des commentaires.

Une analyse du code source de l’appli est également réalisé en utilisant les outils fournis par l’environnement de développement : cela permet notamment de détecter des variables non utilisées, des parties de code « mort » (non utilisé), etc.

Une analyse dynamique du code source : Ici, il s’agit d’exécuter l’appli dans l’environnement de développement et avec ses utilitaires d’analyse, pour évaluer la consommation mémoire (et détecter d’éventuelles fuites de mémoire), la consommation CPU (et détecter d’éventuelles surconsommations). Les fuites de mémoire, selon leur importance, peuvent ralentir l’application et être à l’origine de crashes potentiels à l’usage sur le long terme. Il convient donc de les corriger. Dans cette étape, on teste aussi l’application comme un utilisateur “lambda”, et on regarde comment se comporte l’application : y’a-t-il des crashes, est-ce que l’UX/UI correspond à ce que l’on attend sur mobile, etc.

Un audit de l’écriture du code sur les appels aux Webservices et la vérification des bonnes pratiques de sécurité (pour identifier notamment d’éventuels trous de sécurité).

L’analyse du code de l’application permet de mettre en lumière des axes d’amélioration. Ceux-ci sont qualifiés par rapport au niveau de difficulté de mise en œuvre, et à l’impact de l’amélioration.

Une analyse de l’architecture de la solution logicielle et de sa maintenabilité : Notamment, il est important ici de vérifier la taille des contrôleurs, la modularité des classes, la hiérarchie des classes, le nommage des classes / variables / constantes, l’existence de commentaires du code source. Car, l’absence de commentaires (en têtes, corps des classes et fonctions) diminue significativement la compréhension et la maintenabilité du code. On vérifie aussi l’usage de bonnes pratiques pour le codage des méthodes et fonctions, la présence de constantes en dur dans le code (ce qui comporte un risque d’erreur au copier-coller ou à la réécriture des constantes de source en source et diminue la lisibilité et la maintenabilité du code).

Une analyse de sécurité globale avec contrôle des points suivants : sécurisation des données stockées, contenu des logs, traitement des données sensibles (mot de passe…), sécurisation des échanges avec le serveur, sécurisation des opérations…

Audit de votre application mobile : Quels livrables ?

À l’issue de cet audit, un rapport de synthèse est élaboré suggérant des axes d’amélioration pondérés d’une estimation de leur impact et de l’effort requis pour les mettre en œuvre.

2 critères de notation sont utilisés s’appuyant sur :

  • La sévérité : on évalue la gravité du problème identifié selon trois niveaux = mineure, majeure, critique ;
  • et le coût requis pour corriger le problème, qualifié selon trois niveaux = coût faible, moyen, élevé.

Le rapport de synthèse ainsi élaboré vous aide à formuler un plan d’action en cohérence avec votre objectif, en priorisant les actions à mener (réponse aux vulnérabilités, amélioration de la qualité du code, maintenabilité, évolutivité de l’appli…).

 

Pour aller plus loin

[ Témoignage ] Audit et Tierce Maintenance Applicative d’une application mobile native de gestion de comptes adossés à des métaux précieux, fonctionnant sur Android et iOS

Vous souhaitez réagir ou en savoir plus ? Prenons rendez-vous pour échanger autour d’un café…
et en attendant, découvrez notre configurateur en libre accès pour cadrer votre projet !