#Quality

Pour Apps with love, la qualité signifie que nos clients sont satisfaits du service fourni pour l’ensemble du processus de développement d'un produit. La gestion de la qualité et l’assurance de qualité sont des facteurs de réussite d’Apps with love.

Gestion de la qualité et assurance de qualité

Pour réussir sur le marché, il ne suffit plus de développer les outils, applications et logiciels adéquats. La qualité est une composante significative du succès d'un produit numérique.

Notre processus interne d’assurance de qualité nous aide à répondre suffisamment tôt aux questions essentielles relatives aux responsabilités, risques, exigences, critères d’acceptation et liens au sein du système et à planifier les mesures d’assurance de qualité de façon à éviter la survenue de dysfonctionnements dans le système dès une phrase précoce du projet.

Eviter les erreurs pendant la production

Imagine que tu aies non seulement une bonne idée, mais aussi un budget adapté, une équipe de développement solide et un projet qui avance selon le calendrier prévu. Pourtant, même si les concepts, le design et les technologies conviennent, des perturbations se produisent régulièrement pendant la phase de développement. Plus ces dysfonctionnements sont identifiés et éliminés tardivement pendant cette phase, plus les coûts encourus sont élevés. Par exemple, éliminer un dysfonctionnement d’un système productif peut coûter jusqu'à 500 fois plus que pour un dysfonctionnement identifié pendant la phase initiale d’un projet. C’est pourquoi nous accordons autant d'importance à l’assurance de qualité, et ce dès l’émergence d’une bonne idée, mais aussi pendant la conception, le design, le développement et l’exploitation opérationnelle.

Les exigences au
cœur des tests 

Nous testons les aspects fonctionnels et non fonctionnels d'un produit numérique, qu’il s’agisse d'une application mobile, d'une application web progressive, d'un site web ou d’un objet connecté.


Exigences fonctionnelles

Les exigences fonctionnelles peuvent être posées dès la phase de développement. Nous nous tenons à ta disposition pour t’aider à définir et appliquer tes exigences, l’étape du «requirement engineering». À partir de ces exigences, nous créons des user stories et définissons des critères d’acceptation. Ces exigences fonctionnelles servent de base à la création de cas d’essai, qui nous permettent de réaliser et documenter les essais.


Exigences non fonctionnelles

Les exigences non fonctionnelles décrivent la façon dont une fonction doit se comporter et les circonstances correspondantes. Généralement, les exigences non fonctionnelles permettent de définir un besoin sous-jacent et une exigence associée. Les exigences non fonctionnelles peuvent être divisées en caractéristiques de performance et de qualité et conditions marginales.

Exemple de caractéristique de performance: un système peut traiter 1000 demandes par minute sans limitation des ressources disponibles. Exemple de caractéristique de qualité: pour l’assurance de qualité, le modèle de qualité est conforme à la norme ISO 25000.

Exemple de condition marginale: le système doit être entièrement réalisé en conformité avec le RGPD.

Pas de panique ! Nous t’aidons à appliquer toutes les exigences non fonctionnelles. 

Les méthodes de tests adéquates pour répondre à vos besoins 

Tu as peur de recevoir de mauvaises notes ou des avis négatifs pour ton produit numérique? Ton produit doit respecter les normes de qualité internes de ton entreprise? Vers la fin de ton développement, tu veux obtenir l’assurance que ton produit satisfait aux exigences d’ergonomie? Been there, done that.

Grâce à une sélection ciblée de tests, nous t’aidons à accroître la satisfaction de tes utilisateurs finaux et veillons à examiner chacune de tes fonctions sous toutes les coutures. 

  • Tests fonctionnels

    Les tests fonctionnels permettent de vérifier si la fonction d'un produit fait ce qui a été défini dans les exigences et les critères d’acceptation correspondants. Des saisies sont réalisées et des processus exécutés de façon à comparer le résultat réel au résultat attendu.

  • Tests de bout en bout

    Les tests de bout en bout (End-to-End testing) sont une technique permettant de vérifier si les processus au sein d’un produit numérique se comportent de la manière prévue du début à la fin et du point de vue d'un utilisateur. Plusieurs user stories sont testées simultanément afin d’identifier des interdépendances au sein du système et d’assurer l’intégrité des données entre plusieurs systèmes. Les interfaces, la communication avec les autres systèmes et les bases de données sont également soumises aux essais.

  • Tests de compatibilité

    La compatibilité d’une application ou d'un site web constitue une étape importante de la phase de test. Les fonctions et le design doivent pouvoir être pris en charge par différents périphériques, navigateurs, systèmes d’exploitation et versions de plateforme. Lors des essais de compatibilité, nous regardons si les fonctions se comportent de manière identique, si des écarts se produisent ou si la fonction ne peut pas du tout être exécutée. Étant donné qu’il existe un grand nombre de tailles et de résolutions d’écran, il convient d’examiner la façon dont le design et la mise en page se comportent sur les périphériques mobiles et les navigateurs. Outre la taille de l’écran, l’unité centrale et la mémoire vive varient aussi souvent d’un périphérique à l’autre. En particulier, des dysfonctionnements peuvent rapidement se manifester sur des périphériques anciens. Avant le début du développement, le groupe cible doit être identifié ; il est alors possible de définir les appareils, systèmes d’exploitation, versions de plateforme et navigateurs sur lesquels l’application ou le site web doit fonctionner.

  • Tests de performance

    Tu souhaites savoir si ton logiciel peut fonctionner de manière irréprochable même en cas d'utilisation intensive?

    Les essais de performance peuvent être divisés en deux catégories : les essais de charge et les essais de résistance.

    Par définition, lors des essais de charge, nous mesurons la performance du système lorsqu’il est soumis à une charge donnée (demandes des utilisateurs). Pour ce faire, nous simulons un certain nombre d'utilisateurs (1000, par exemple) accédant à des éléments précis du logiciel et exécutant des actions en parallèle. À partir de là, nous pouvons analyser la fonction dont les applications et les serveurs réagissent à un nombre accru de demandes (par exemple aux heures de pointe) et vérifier si le système fonctionne de manière irréprochable avec une charge plus élevée. Contrairement aux essais de charge, les essais de résistance consistent à tester le système avec une charge maximale pour obtenir des informations sur de possibles optimisations du système. L'objectif d’un essai de résistance est de confronter le système à un très grand nombre d’utilisateurs et de l’amener progressivement à une défaillance complète.

    Nous observons alors la façon dont le système se comporte après la panne et vérifions s’il peut se rétablir de manière autonome. En outre, cette méthode permet de connaître le nombre d’interactions simultanées à partir duquel un système tombe en panne.

  • Tests de sécurité

    Les tests de sécurité nous permettent de vérifier si des applications et des systèmes présentent des points faibles et des lacunes de sécurité, dont peuvent tirer profit des pirates informatiques ou des personnes non autorisées. Nous mettons en lumière les menaces et risques potentiels afin d’éviter toute perte d'informations confidentielles. Parmi les essais de sécurité possibles, citons l’analyse des vulnérabilités, les essais de pénétration, l’évaluation des risques, l’audit de sécurité ou encore le piratage éthique.

  • Tests d'utilisabilité

    Nous aspirons à simplifier la vie de nos utilisateurs. L'usabilité est la convivialité avec laquelle les utilisateurs peuvent utiliser des systèmes d’interactions. Les tests d'utilisabilité s’attachent à mesurer l’efficacité et la satisfaction des utilisateurs et à analyser les éventuels points gênants. À l’occasion d’un test d'utilisabilité, de « véritables » utilisateurs sont invités pour contrôler l’ergonomie des produits et des systèmes. Au cours d'une phase de développement plus précoce, il est également possible de recourir à des évaluations heuristiques d’experts en utilisabilité. Les tests d'utilisabilité permettent d’identifier suffisamment tôt la grande majorité des problèmes et de rendre l’utilisation (plus) économique ou conviviale.

  • Tests automatisés

    Les tests automatisés sont surtout intéressants pour les projets de grande envergure. Les tests automatisés permettent de réduire la charge de travail associée aux essais de régression et aux tests récurrents fréquents. Avant de pouvoir entreprendre une démarche d’automatisation, l’important est d’élaborer une stratégie d’automatisation portant sur la qualité cible du logiciel. Lors des tests automatisés, il est fréquent qu’une priorité trop élevée soit accordée à l’interface utilisateur graphique (GUI) ; aussi, nous recommandons généralement de tenir compte des niveaux d’automatisation de la pyramide des tests. Dans celle-ci, une grande partie des tests à automatiser se trouvent au niveau le plus bas (tests unitaires) et au deuxième niveau le plus bas (tests d’API et d’intégration). Dans la mesure du possible, il est conseillé de peu automatiser le niveau le plus haut (niveau de la GUI) car les frais de maintenance des scripts d’essai sont extrêmement élevés et l’exécution des tests est très complexe. Par ailleurs, il convient de définir le cadre/l’outil adéquat et de disposer d'un environnement d’automatisation. Les automatisations peuvent donc contribuer à une nette amélioration de la qualité d'un logiciel. Cependant, elles sont coûteuses et leur complexité est souvent sous-estimée. N’hésite pas à nous poser toutes tes questions, nous nous ferons un plaisir de te conseiller.

  • Tests « in the wild »

    L’objectif des tests « in the wild » est d’utiliser une application dans des conditions réelles. Lors des essais de votre application ou site web, nous nous mettons dans la peau de l’utilisateur final. Imagine que tu développes une application sportive et que celle-ci soit testée uniquement au bureau et dans des conditions de laboratoire, par exemple. Nous allons dans la nature pour faire du sport avec ton application et les montres sportives associées, puis nous essayons les fonctions ou les testons à partir de scénarios et cas de test définis afin d’étudier leur comportement dans des conditions réelles. Grâce aux tests « in the wild », nous testons l’ensemble de l’expérience numérique.

Mobile Device Lab

Notre laboratoire des appareils mobiles dispose de plus de 100 appareils Android et iOS, ainsi que de plusieurs montres intelligentes. Nous testons les logiciels que nous avons développés sur de véritables appareils, entre autres. Les essais réalisés dans des conditions réelles et avec de véritables appareils et différentes versions de système d’exploitation servent notamment à examiner l’interaction avec les capteurs du appareils, le GPS, le Bluetooth ou les interfaces avec des interfaces et machines externes. Il est également important d’obtenir une impression visuelle du produit numérique et de pouvoir contrôler des fonctions, telles que le défilement, les transitions, les gestes et les mouvements.

Nous examinons régulièrement les chiffres de vente et d’utilisation des appareils mobile et versions de système d’exploitation les plus importants et les plus utilisés du marché. Il convient de définir une combinaison adéquate de appareils mobile authentiques, de simulateurs et d’émulateurs pour chaque stratégie de qualité afin de couvrir un grand nombre de périphériques.

Quality Management Team

En théorie, il sait démonter des turbines d’avion et les remonter – pendant un vol. Mais il s’ennuierait trop, et c’est pourquoi il se charge désormais des questions d’assurance qualité technique chez nous. Nous sommes entre de bonnes mains !

Martin Mattli

Head of Operations & Quality Management
Elle serait bien devenue biologiste marine si son vertige ne l’avait pas aussi affectée sous l’eau ! Depuis la fin de ses études de psychologie et de biologie, elle mène des recherches sur les bogues et elle teste l’ergonomie dans la jungle d’applications d’Apps with love.

Maud Cottier

Quality Management
User Research
Vers l'aperçu
Martin Mattli
Head of Operations & Quality Management
En théorie, il sait démonter des turbines d’avion et les remonter – pendant un vol. Mais il s’ennuierait trop, et c’est pourquoi il se charge désormais des questions d’assurance qualité technique chez nous. Nous sommes entre de bonnes mains !
Maud Cottier
Quality Management
User Research
Elle serait bien devenue biologiste marine si son vertige ne l’avait pas aussi affectée sous l’eau ! Depuis la fin de ses études de psychologie et de biologie, elle mène des recherches sur les bogues et elle teste l’ergonomie dans la jungle d’applications d’Apps with love.
Nous venons de remarquer que vous surfez avec Internet Explorer. Malheureusement, notre site web n'est pas aussi agréable avec ce navigateur.

Vous voulez savoir pourquoi ?
Nous avons écrit à ce sujet.

Vers le blog

Vous avez besoin d'aide pour le passage à l'euro ?
Contactez-nous. Nous serons heureux de vous aider.

Contact

Installer un nouveau navigateur ?
Il y a un choix à faire.

Browser