ChitChat
ChitChat est une application qui combine messagerie sécurisée et paiements. Elle permet aux utilisateurs à travers l’Afrique de discuter entre eux via une plateforme cryptée. Avec ChitChat, il est possible d’envoyer des paiements instantanés à ses amis et à sa famille dans le cadre de conversations en ligne.
Tous les clientsTest d’applications mobiles
Nous avons aidé ChitChat à préparer son application mobile pour sa sortie publique. Nos ingénieurs QA ont veillé à ce que l’application fonctionne parfaitement sur un large éventail d’appareils iOS et Android spécifiques au marché cible. Nous avons concentré nos efforts sur la garantie d’une sécurité, de performances et d’une convivialité optimales.
En savoir plusTests automatisés
Nos ingénieurs en automatisation de l’assurance qualité ont aidé ChitChat à mettre en place des workflows de tests automatisés efficaces afin de couvrir un large éventail de fonctionnalités dans un délai court. Nous visions un ratio de 70 % de tests automatisés pour 30 % de tests manuels, ce qui a permis un lancement rapide et sans obstacle.
Défi
ChitChat s’est tourné vers QAwerk alors qu’il en était encore aux premières étapes de développement, à l’élaboration de l’architecture centrale et des scénarios utilisateurs. L’entreprise nous a engagés pour mettre en place et diriger un processus d’assurance qualité complet, depuis les fondations jusqu’à la fin. Cela comprenait à la fois des tests manuels et automatisés afin de garantir une expérience utilisateur fluide et sécurisée.
La nature innovante de l’application ChitChat présentait des défis de test uniques :
- Tests approfondis des paiements: la fonctionnalité de paiement dans le chat nécessitait des tests rigoureux. Cela exigeait l’accès à un ensemble diversifié de cartes bancaires de test et à plusieurs numéros de téléphone de test afin de simuler différents scénarios de paiement.
- Spécificités du marché et fragmentation des appareils : contrairement aux utilisateurs typiques d’applications mobiles en Europe ou en Amérique, le public cible en Zambie utilise principalement différents modèles de téléphones. Nous avons remédié à cela en étudiant les données d’utilisation et en constituant un ensemble complet de téléphones de test reflétant les appareils les plus populaires en Zambie. La liste des appareils avec différentes configurations était longue.
- Normes de sécurité renforcées : l’application traitant des transactions financières, nous devions dépasser les attentes standard en matière de qualité. Nous devions mettre en œuvre des stratégies de test exceptionnellement approfondies et complètes afin de garantir la sécurité et la fiabilité de l’application lors du traitement de l’argent des utilisateurs.
Voyons plus en détail comment nous avons relevé ces défis.
Solution
Nous avons participé activement au processus de développement, en analysant chaque scénario utilisateur dès qu’il était disponible et en identifiant les lacunes potentielles nécessitant des éclaircissements. Sur la base des scénarios utilisateurs, nous avons créé des scénarios de test robustes couvrant toutes les interactions possibles avec l’utilisateur.
Nous avons effectué des tests manuels approfondis et mis en place des cadres de test automatisés pour les aspects backend et frontend de l’application. Notre plan de test comprenait les types de tests suivants :
- Tests fonctionnels. Nous avons exécuté une suite complète de tests conçus pour vérifier les performances de l’application par rapport aux exigences fonctionnelles décrites dans les récits d’utilisateurs. Cela a permis de s’assurer que toutes les fonctionnalités étaient correctement implémentées et fonctionnaient comme prévu, répondant ainsi aux besoins définis des utilisateurs.
- Tests d’intégration. Étant donné que l’application interagit avec divers services tiers tels que Primer et Onfido, une intégration transparente était essentielle. Nous avons effectué des tests d’intégration afin de garantir un flux de données et un fonctionnement fluides entre l’application et ces services externes.
- Tests de compatibilité. Nous avons testé l’application sur un large éventail de modèles d’appareils, de systèmes d’exploitation et de résolutions d’écran. Au total, ChitChat a été testé sur 24 appareils iOS et Android.
- Tests automatisés. Nous nous sommes concentrés sur l’automatisation des tests front-end et back-end, en tirant parti de la puissance de TypeScript pour améliorer la clarté du code et la vérification des types.
De plus, nous surveillons en permanence les commentaires des utilisateurs, que nous traduisons en rapports de bogues clairs, accompagnés d’étapes détaillées pour reproduire les bogues, et que nous partageons avec les développeurs.
Automatisation des tests
Notre succès en matière d’automatisation des tests reposait sur le choix d’outils efficaces.
Mocha, un framework de test JavaScript, nous a fourni la structure nécessaire à la rédaction de nos tests. Pour les tests front-end, nous avons adopté Appium, un framework populaire permettant d’automatiser les interactions avec les applications mobiles. Nous avons utilisé WebdriverIO, un outil puissant qui agit comme un client Appium, pour rationaliser le processus. Cela nous a permis d’écrire des tests automatisés couvrant divers aspects de l’application, depuis la connexion des utilisateurs et les fonctionnalités de chat jusqu’aux fonctionnalités bancaires de base.
BrowserStack, une plateforme basée sur le cloud, offrait un avantage décisif : la possibilité d’exécuter nos tests automatisés sur une vaste gamme d’appareils réels avec différentes configurations.
Les tests automatisés pour le backend, à savoir les API de l’application, ont été écrits dans Jest, un framework de test qui utilise TypeScript. La force de TypeScript réside dans sa capacité à vérifier les types de variables et de fonctions, ce qui améliore la clarté du code et prévient les erreurs pendant le développement.
Cependant, les outils seuls, aussi rapides et fiables soient-ils, ne peuvent garantir que tout se passera sans encombre. L’un des principaux obstacles auxquels nous avons été confrontés était d’assurer la stabilité des tests sur une grande variété d’appareils mobiles. Nous avons surmonté cet obstacle en tirant parti de la vaste collection d’appareils réels de BrowserStack, qui nous a permis de tester sur du matériel réel avec différentes configurations.
Un autre défi est apparu en raison des nombreuses intégrations de l’application avec des applications tierces. Ces intégrations ont ajouté de la complexité, en particulier pour les tests automatisés. Les tests de ces fonctionnalités étaient souvent écrits à l’aide de webhooks (une méthode de communication entre applications), mais leur instabilité nécessitait des ajustements fréquents du code.
Enfin, l’exécution parallèle des tests, tout en offrant des gains d’efficacité, a parfois entraîné des problèmes d’instabilité. Dans certains cas, les tests pouvaient réussir deux fois, mais échouer lors de la troisième exécution. Pour remédier à cela, nous avons stratégiquement divisé les tests en trois groupes en fonction de leurs fonctionnalités. Les tests de deux groupes ont été exécutés simultanément pour une vitesse maximale, tandis que le groupe contenant les tests instables a été exécuté séquentiellement. Cette approche a permis de résoudre efficacement le problème d’instabilité et de garantir des résultats de test cohérents.
La stratégie de test mise en œuvre a permis d’atteindre un ratio d’environ 70 % de tests automatisés pour 30 % de tests manuels. L’accent mis sur l’automatisation a apporté des avantages significatifs. Les tests automatisés ont accéléré l’exécution des tests, nous permettant de couvrir plus efficacement un plus large éventail de fonctionnalités. Cela a permis d’identifier et de résoudre plus rapidement les bogues, contribuant ainsi à une application plus sûre et plus stable.
Bugs détectés
La plupart des bugs que nous avons rencontrés concernaient le traitement des transactions et la saisie des données.
Résultat réel: rien ne se passe après avoir appuyé sur le bouton Retour de la page « Sélectionner le pays ».
Résultat attendu: l’utilisateur peut utiliser le bouton Retour pour revenir à la page précédente.

Résultat réel: le message de validation s’affiche pour les utilisateurs dont l’adresse e-mail a déjà été vérifiée.
Résultat attendu: aucun message de validation ne s’affiche pour les utilisateurs qui ont terminé la vérification.

Résultat réel: le texte du message de validation dépasse les limites du conteneur dédié.
Résultat attendu: le texte du message de validation s’affiche dans les limites du conteneur.
Résultat
Avec l’aide de QAwerk, ChitChat a réussi à lancer son produit minimum viable (MVP) dans des délais remarquablement courts. L’application Chit-Chat a été lancée en mars après seulement 3,5 mois de développement, dépassant les attentes en termes de rapidité et d’efficacité. La nouvelle du lancement de l’application a été accueillie favorablement, comme en témoignent les articles publiés dans les principaux médias africains et internationaux.
Alors que Chit-Chat étend ses fonctionnalités et sa base d’utilisateurs en Zambie, en Angola, en Tanzanie et au Ghana, l’équipe de QAwerk veille à ce que les futures itérations maintiennent les normes élevées de sécurité, d’expérience utilisateur et de performance établies lors de la phase de développement initiale.
Dans la presse
Outils
Qase.io
BrowserStackCommentaires de l’équipe QAwerk
Yaroslav
ingénieur en automatisation QA
Ce projet a été un moment fort pour moi, car il m’a permis d’acquérir une expérience intéressante et de faire progresser considérablement mon développement professionnel. J’ai acquis une vaste expérience pratique dans l’automatisation des tests d’applications mobiles, tout en maîtrisant de nouveaux outils et technologies. Mocha, WebdriverIO et Browserstack ont joué un rôle déterminant, se révélant fiables, rapides et conviviaux.
Kateryna
Ingénieure en automatisation de l'assurance qualité
J’ai pu endosser plusieurs casquettes dans le cadre de ce projet ! J’ai effectué des tests manuels sur l’application mobile et le système CRM, puis je suis passée à la rédaction de tests automatisés pour le front-end et le back-end. La communication avec l’équipe du client a été fantastique : nous avons réfléchi ensemble aux meilleurs outils d’automatisation et avons maintenu le dialogue tout au long du développement. Je suis très fière des résultats et de la qualité de l’application que nous avons livrée !




Impressionné ?
Engagez-nousAutres études de cas
Magic Mountain
Nous avons permis à l’application de fitness social n° 1 au Royaume-Uni de passer d’une offre MVP à une offre Premium, et le nombre de ses abonnés augmente chaque jour
BeFamily
Nous avons garanti un lancement sans aucun bug pour cette application, triplant ainsi le nombre d’installations prévu
Zazu
Nous avons aidé l’application de gestion financière n° 1 en Afrique à éliminer ses bugs et à devenir membre principal de Mastercard


