Cas de test pour l'application de chat
Tags: chat, inappchat, pubnub, realtime
Published: 2023-11-29 10:34:18

Alors que les logiciels sont de plus en plus accessibles, vous devez vous assurer que votre application de chat peut gérer et prendre en charge le comportement habituel des utilisateurs, ainsi que les comportements involontaires, étranges, voire malveillants, qui peuvent causer des problèmes à votre application. Bien que les développeurs puissent être en mesure de résoudre les problèmes après le déploiement des applications, la mauvaise qualité des logiciels aux États-Unis a dépassé les [2,41 trillions de dollars en 2022](https://www.it-cisq.org/the-cost-of-poor-quality-software-in-the-us-a-2022-report/). Ces problèmes sont attribués à des délais trop courts, à une sécurité insuffisante, à des choix de conception incorrects et à des problèmes d'évolutivité.

Poursuivez votre lecture pour en savoir plus sur les raisons pour lesquelles il est nécessaire de tester votre application de chat, sur la manière de créer des tests pour votre application et sur les exemples de cas de test que vous pouvez utiliser pour tester vous-même votre application.

La nécessité de tester vos applications de chat
-----------------------------------------------

Comme indiqué précédemment, la mauvaise qualité des logiciels coûte aux entreprises des milliards de dollars dans le monde entier. Il est essentiel de tester minutieusement votre application de chat pour vous assurer de ne pas perdre des centaines, voire des millions de dollars à cause d'erreurs qui pourraient être évitées grâce à des tests logiciels minutieux.

En octobre 2021, l'ensemble de l'[infrastructure de Facebook](https://www.facebook.com/business/news/update-about-the-october-4th-outage) (Instagram, Messenger et WhatsApp) s'est arrêtée en raison d'une seule commande émise par un ingénieur lors d'un contrôle de maintenance de leurs serveurs. Cette commande a été lancée pour déterminer la santé de la capacité des serveurs de leur réseau, ce qui a involontairement mis hors service toutes les connexions du réseau.

En raison de cette panne qui a duré environ six heures, la société a [perdu environ 100 millions de dollars](https://fortune.com/2021/10/04/facebook-outage-cost-revenue-instagram-whatsapp-not-working-stock/) en recettes publicitaires et a dû rembourser les entreprises pour cette perte de revenus. Ce problème aurait pu être évité en testant minutieusement les commandes et les scripts de test de bout en bout, afin de s'assurer que les commandes de ce type sont détectées par les cadres et les outils de test. Même si Facebook a organisé des exercices simulant des problèmes de ce type, la formation des membres de l'équipe à la gestion d'erreurs critiques comme celles-ci et la mise en place de mesures de protection peuvent empêcher que ce type d'erreurs ne se reproduise.

Créez des scénarios de test pour votre application de chat en fonction des objectifs et de l'utilisation.
---------------------------------------------------------------------------------------------------------

Étant donné qu'il existe différents types de tests de logiciels, vous devez vous assurer que vous créez des tests adaptés à votre application de chat. Bien que certains tests puissent être appliqués aux applications de chat indépendamment du public, de nombreux tests doivent être adaptés au type d'application de chat que vous mettez en œuvre, car les applications de chat ont des utilisations et des publics différents.

Votre application de [chat](https://www.pubnub.com/use-case/in-app-chat/) est-elle destinée à être l'élément principal du produit, comme Messenger, WhatsApp, Discord et Slack ? Ou bien est-elle destinée à être utilisée comme auxiliaire pour les jeux vidéo en ligne, l'assistance à la clientèle pour les applications de commerce électronique comme eBay et Amazon, ou les plateformes de diffusion en continu comme Twitch ou YouTube ? Le style de votre application déterminera l'orientation de vos cas de test.

Vous devrez ensuite déterminer les appareils sur lesquels vos utilisateurs utiliseront votre application de chat. S'agit-il d'une application strictement mobile ou proposez-vous une expérience multiplateforme web, desktop et mobile ? Ce point est particulièrement important car vous devrez mettre en œuvre des tests de bout en bout, d'acceptation et de performance basés sur les différents navigateurs, les ordinateurs de bureau et les communications mobiles entre eux.

Au sein de l'application, vous devrez effectuer des tests pour vous assurer que vos utilisateurs auront une bonne expérience. Les utilisateurs enverront des messages à d'autres utilisateurs, à des groupes d'utilisateurs et même à des serveurs. Ces messages peuvent être du texte, des emojis, des GIF, des liens web, des mentions d'autres utilisateurs, des réactions à d'autres messages et même des fichiers. Les utilisateurs doivent pouvoir organiser ces différents groupes comme ils l'entendent et leur permettre de modifier les paramètres de ces différents types de messages et les paramètres de l'application de chat.

### Créez une courte liste de scénarios de test

Les scénarios de test spécifiques à votre application de chat dépendent du type d'application, des exigences de l'entreprise, du public et de la conception. Cependant, il existe d'autres domaines généraux pour lesquels vous devez vous assurer de créer des scénarios de test.

Vous pouvez organiser ces domaines et déterminer si les tests que vous allez créer seront des tests manuels ou automatisés :

-   **Fonctionnalité**: Testez les fonctionnalités essentielles de l'application de chat. Les utilisateurs doivent pouvoir envoyer, recevoir et consulter des messages. Ils doivent également pouvoir ouvrir des liens web, des fichiers et des GIF. Ils doivent pouvoir ouvrir leur liste d'amis, gérer les messages directs/de groupe/de serveur et appeler d'autres utilisateurs par vidéo et audio, le tout avec facilité.
    
-   **Sécurité**: Les messages envoyés sur le réseau doivent être protégés par un cryptage TLS et AES256. La signature des utilisateurs dans l'application doit être cryptée et il faut s'assurer que les options SSO fonctionnent correctement. Les droits d'autorisation doivent fonctionner comme prévu, ce qui signifie que les utilisateurs doivent être invités à rejoindre des conversations, des groupes d'amis ou des serveurs.
    
-   **Plateforme**: L'application de chat doit fonctionner correctement sur différents appareils. L'accès à l'application sur les appareils de bureau (Windows, macOS, Linux), mobiles (Android et iOS) et web (principaux navigateurs) doit être transparent. Veillez à ce que les appareils puissent communiquer correctement entre eux.
    
-   **Praticité**: Testez la facilité d'utilisation de l'application de chat, en veillant à ce que les utilisateurs aient une expérience transparente de l'utilisation de l'application.
    
-   **Performances et évolutivité**: Testez l'application sous une charge importante. Elle doit être alimentée par plusieurs utilisateurs à la fois, envoyer plusieurs messages de différents utilisateurs, adresser des demandes au serveur, etc.
    
-   **Accessibilité**: Assurez-vous que les fonctions de localisation de l'application sont correctement prises en charge et traduites. Assurez-vous que les options d'accessibilité (par exemple pour les utilisateurs souffrant d'une déficience de la vision des couleurs) fonctionnent correctement.
    
-   **Intégration**: Veiller à ce que l'application se connecte facilement à des applications tierces, des bases de données et des services en nuage.
    
-   **Sauvegardes**: Exécutez des scénarios de test pour le cas où l'application perdrait sa connectivité réseau, ou si les serveurs réseau supportant l'application tombaient hors ligne.
    

Cas de test pour les applications de chat
-----------------------------------------

Sur la base de la discussion générale précédente, vous pouvez créer des scénarios de test plus détaillés basés sur les domaines suivants. Vous devez créer les tests unitaires et déterminer la meilleure façon de créer la version détaillée de ces tests pour votre application unique lorsque vous effectuez vos tests fonctionnels, vos tests d'application et vos tests de performance. Cette liste n'est pas exhaustive et sert de point de départ pour développer et créer des scénarios de test détaillés propres à votre application.

### Fonctionnalité

1.  Les utilisateurs peuvent envoyer des messages textuels de base à d'autres utilisateurs. Un accusé de réception doit indiquer que le message a été envoyé.
    
2.  Les utilisateurs peuvent envoyer des emojis et des GIF à d'autres utilisateurs.
    
3.  Les utilisateurs peuvent recevoir et consulter les nouveaux messages d'autres utilisateurs.
    
4.  Les messages non lus doivent être mis en évidence ou marqués d'une manière ou d'une autre pour indiquer qu'ils ne sont pas lus.
    
5.  Les messages lus ne doivent plus être mis en évidence ou marqués comme tels. Un accusé de lecture doit s'afficher pour l'expéditeur initial afin de montrer que le message a été lu.
    
6.  Les messages manqués lorsque l'utilisateur n'utilise pas l'application doivent être signalés sur les appareils mobiles par des notifications push (bannière, icône de badge, etc.). S'il existe des paramètres permettant d'envoyer un courriel aux utilisateurs hors ligne, ces courriels doivent fonctionner en fonction des paramètres appropriés.
    
7.  Les messages doivent pouvoir insérer des liens hypertextes vers des pages web et créer un aperçu de ces liens lors de l'envoi du message.
    
8.  Les utilisateurs doivent pouvoir réagir aux messages à l'aide d'émoticônes.
    
9.  Les utilisateurs doivent pouvoir copier et coller du texte et des liens dans la boîte de message.
    
10.  Les utilisateurs peuvent envoyer et recevoir des fichiers dans la limite de la taille des fichiers définie par l'application.
    
11.  Veiller à ce que le message approprié s'affiche lorsque les utilisateurs essaient d'envoyer des fichiers trop volumineux ou dont l'extension n'est pas prise en charge.
    
12.  Assurez-vous que les types de fichiers pris en charge par l'application peuvent être ouverts et envoyés.
    
13.  Si les fichiers sont pris en charge et que la fonction "glisser-déposer" est prise en charge, assurez-vous que cette fonctionnalité fonctionne correctement.
    
14.  Les icônes d'état des utilisateurs doivent être affichées de manière appropriée (vert pour en ligne, gris ou rouge pour hors ligne) et permettre aux utilisateurs de changer de statut si la fonctionnalité le permet.
    
15.  Les utilisateurs doivent pouvoir ouvrir leur liste d'amis pour voir le statut en ligne de leurs amis.
    
16.  Les utilisateurs doivent pouvoir rechercher et ajouter des amis, ainsi que recevoir et accepter des demandes d'amis.
    
17.  Les utilisateurs doivent pouvoir gérer leurs amis dans la liste d'amis, par exemple leur envoyer un message, promouvoir leur statut d'amitié (étoilé, meilleur ami, etc.) ou supprimer l'ami.
    
18.  Les utilisateurs doivent pouvoir rechercher d'autres utilisateurs, des messages précédents, des discussions et des liens.
    
19.  Les utilisateurs doivent pouvoir modifier leur photo de profil et activer des paramètres pour modifier les fonctionnalités de l'application.
    
20.  Tenter d'envoyer des messages avec des caractères spéciaux (en particulier en ce qui concerne l'[injection SQL](https://www.w3schools.com/sql/sql_injection.asp)).
    
21.  S'assurer que le filtre de blasphème de l'application fonctionne correctement lors de l'envoi d'un message.
    
22.  Les utilisateurs doivent pouvoir envoyer des messages à des utilisateurs individuels, ajouter d'autres utilisateurs à un groupe de discussion et gérer ces relations.
    
23.  Les utilisateurs doivent pouvoir créer des serveurs/organisations et y inviter d'autres utilisateurs.
    
24.  Les utilisateurs doivent pouvoir passer des appels audio et vidéo à d'autres utilisateurs. Ils doivent pouvoir ajuster leurs paramètres audio/vidéo pendant ces appels, ainsi qu'allumer/éteindre leurs caméras et couper leurs microphones.
    

### Sécurité

1.  Assurez-vous que les messages envoyés sur le réseau sont protégés par TLS et AES256 en utilisant des outils de surveillance du réseau et en observant les messages lorsqu'ils sont envoyés/reçus.
    
2.  Assurez-vous que les messages sont stockés dans la région appropriée pour les lois sur la confidentialité des données et la réactivité de l'obtention des données.
    
3.  Testez le processus de connexion des utilisateurs. Assurez-vous que les utilisateurs sont autorisés de manière sécurisée et qu'ils ne peuvent pas être contournés.
    
4.  Si les utilisateurs peuvent se connecter à l'aide d'un SSO ou d'applications tierces, assurez-vous que ce processus de connexion fonctionne correctement avec votre système.
    
5.  Les utilisateurs doivent pouvoir gérer leurs amis, les discussions de groupe et les serveurs de manière appropriée. Les administrateurs/propriétaires de serveurs doivent pouvoir gérer d'autres utilisateurs, en leur accordant des autorisations spécifiques propres à ce serveur/chat de groupe. Les conversations privées entre utilisateurs ne doivent pas pouvoir faire l'objet d'une intrusion de la part d'un tiers, à moins d'y être invité.
    

### Plate-forme

1.  Toutes les fonctionnalités de l'application de chat fonctionnent correctement dans tous les navigateurs pris en charge.
    
2.  Deux utilisateurs utilisant l'application dans des fenêtres de navigation distinctes doivent être en mesure d'envoyer, de recevoir et de consulter des messages entre eux.
    
3.  Les utilisateurs qui téléchargent la version de bureau de l'application de dialogue en ligne ou d'un magasin de logiciels doivent disposer d'un format de fichier adapté à l'ordinateur de bureau.
    
4.  L'application de dialogue en ligne ou de bureau doit pouvoir s'adapter à différentes tailles d'écran, qu'il s'agisse d'un navigateur Internet mobile ou d'un moniteur ultra-large.
    
5.  Les utilisateurs doivent pouvoir télécharger l'application de dialogue en ligne sur les appareils mobiles par l'intermédiaire des principales boutiques en ligne, telles que Google Play et l'App Store.
    
6.  L'application mobile native doit être correctement formatée pour fonctionner sur différents écrans d'appareils mobiles, qu'il s'agisse de smartphones ou de tablettes.
    

### Praticité

1.  L'installation de l'application doit être transparente et ne nécessiter qu'un minimum d'informations.
    
2.  Les utilisateurs doivent pouvoir créer facilement un compte ou se connecter à l'aide d'une combinaison nom d'utilisateur/mot de passe, d'options SSO ou d'une intégration tierce (telle que Google, Facebook, etc.).
    
3.  Déterminez la facilité d'utilisation des différentes fonctionnalités de l'application. Testez la difficulté d'ajouter des amis, d'envoyer des messages, d'ajouter des amis à des serveurs, etc.
    
4.  Testez la facilité avec laquelle il est possible de trouver des ressources expliquant les différentes fonctionnalités de l'application.
    
5.  Testez les différents paramètres de l'interface utilisateur ou des alertes dans l'application, tels que le thème, les notifications et la police/taille du texte.
    

### Performance et évolutivité

1.  Effectuer rapidement différentes actions sur toutes les plateformes d'application pour un utilisateur. L'application doit être optimisée pour une expérience fluide et réactive.
    
2.  Répétez le test précédent, mais avec deux utilisateurs accédant simultanément aux ressources du serveur réseau.
    
3.  L'application doit être alimentée par plusieurs utilisateurs en ligne en même temps. L'application doit être capable de s'adapter et de gérer toutes les demandes entrantes.
    
4.  Répétez les étapes 1 à 3 mais avec des centaines/milliers d'utilisateurs simulés.
    
5.  Les versions web et de bureau de l'application de dialogue en ligne ne doivent pas consommer inutilement les ressources du navigateur et de l'ordinateur.
    
6.  Les versions web et de bureau de l'application de dialogue en ligne doivent permettre le multitâche avec d'autres applications en cours d'utilisation.
    
7.  La version mobile de l'application de dialogue en ligne ne doit pas consommer de ressources inutiles.
    
8.  La version mobile de l'application de dialogue en ligne doit pouvoir être placée en arrière-plan sans qu'il soit nécessaire de redémarrer l'application.
    

### Accessibilité

1.  Assurez-vous que l'application peut être téléchargée dans les différentes régions prises en charge.
    
2.  Testez les fonctions de localisation offertes par l'application. Assurez-vous que les paramètres, les messages et les fonctions de l'application sont traduits dans la langue appropriée.
    
3.  Les messages envoyés entre utilisateurs de langues différentes doivent être traduits de manière appropriée et/ou afficher correctement les caractères de cette langue.
    
4.  Testez les différentes options d'accessibilité proposées par l'application. Testez que les options pour les utilisateurs déficients visuels affichent le bon spectre de couleurs et persistent tout au long de l'application, ainsi que lors de la connexion à l'application sur une autre plateforme.
    

### Intégration

1.  Testez le fonctionnement de la connexion ou de la création d'un compte dans l'application de chat si vous utilisez le SSO et des services tiers, tels qu'un compte Google ou Facebook.
    
2.  Les utilisateurs doivent pouvoir ajouter des applications tierces dans l'application de chat elle-même, telles que des chatbots, la recherche d'une bibliothèque de GIFs, des appels vidéo/audio, etc.
    
3.  Veillez à ce que le gestionnaire d'intégration de ces services tiers permette aux utilisateurs de rechercher ces fonctionnalités et à ce que les utilisateurs puissent créer ou ajouter leurs intégrations.
    

### Récupération

1.  Veillez à ce que l'action appropriée se produise dans l'application de chat lorsqu'un utilisateur est complètement déconnecté de l'internet.
    
2.  Dans les versions web et desktop de l'application, testez l'action appropriée qui se produit lorsqu'un utilisateur est déconnecté du réseau local mais connecté au WiFi.
    
3.  Dans les versions web et de bureau de l'application, testez l'action appropriée qui se produit lorsqu'un utilisateur est déconnecté du réseau WiFi mais connecté au réseau local.
    
4.  Dans la version mobile de l'application de chat, assurez-vous que l'action appropriée a lieu lorsqu'un utilisateur est déconnecté du WiFi mais connecté au LTE mobile.
    
5.  Testez ce qui se passe lorsque l'application d'un utilisateur est soudainement déconnectée, se fige ou s'arrête en raison d'un problème lié à l'appareil.
    
6.  Simuler ce qui se passe lorsque le serveur réseau qui gère l'épine dorsale de l'application de chat tombe en panne.
    

Démarrer avec PubNub pour votre application de chat
---------------------------------------------------

La création et la mise en œuvre de cas de test pour les applications de chat est un aspect vital pour s'assurer que votre application de chat peut gérer des interactions utilisateur correctes, que des mesures de sécurité appropriées sont mises en œuvre pour protéger vos utilisateurs et votre entreprise, et qu'une infrastructure permet de gérer l'évolutivité de votre application de chat afin de garantir une expérience fiable et sécurisée.

Au fur et à mesure que vous construisez votre application, vous devez garder à l'esprit les différents types d'interactions et de fonctionnalités dont vos utilisateurs ont besoin. Les utilisateurs voudront pouvoir rejoindre différents serveurs ou organisations créés spécifiquement pour leurs loisirs ou leur activité professionnelle. Ils voudront pouvoir collaborer sur différents canaux ou sujets, ainsi qu'avoir des discussions de groupe ou même des conversations individuelles avec des amis et des collègues dans des salons de discussion privés. Les utilisateurs doivent pouvoir accéder à une liste de membres qui indique si leurs amis ou les membres du canal sont en ligne. Lorsqu'ils tapent des messages, les utilisateurs devraient pouvoir voir quand les autres utilisateurs tapent et répondent, et permettre des réactions aux messages et la prise en charge des emoji pour rendre les conversations plus vivantes.

La mise en œuvre de ces fonctionnalités est loin d'être une tâche aisée. Vous devez mettre en place une infrastructure pour maintenir la plateforme de communication qui permet de délivrer des messages aux utilisateurs, détecter un système de présence en ligne, charger les messages lorsque les utilisateurs se connectent, et maintenir ces fonctionnalités en toute sécurité pour vos utilisateurs, en plus de la construction de l'interface utilisateur de votre application de chat. Bien qu'il soit possible de créer cette infrastructure soi-même, cela demandera du temps, des ressources et de l'entretien qui peuvent être dépensés ailleurs. C'est là que PubNub peut vous aider.

[PubNub](https://www.pubnub.com/blog/pubnub-what-is-it-and-why-do-you-need-it/) vous permet de construire un chat direct, de groupe et à grande échelle pour vos utilisateurs, y compris les accusés de réception et de lecture, les indicateurs de frappe, les métadonnées de l'utilisateur et du canal, les indicateurs de présence de l'utilisateur, les réactions aux messages, le partage de fichiers, et bien d'autres choses encore.

Découvrez comment vous pouvez commencer à utiliser PubNub pour les applications de chat avec les ressources suivantes :

1.  Découvrez comment d'autres clients s'appuient sur PubNub pour alimenter leurs [applications de chat](https://www.pubnub.com/customers/?solution=in-app-chat).
    
2.  [Suivez une visite guidée](https://www.pubnub.com/tour/introduction/) pour apprendre les bases de PubNub.
    
3.  Découvrez comment créer une application de chat en [10 lignes de code](https://www.pubnub.com/demos/10-line-chat/) avec JavaScript.
    
4.  [Apprenez à](https://www.pubnub.com/how-to/) créer des applications de chat et d'autres applications industrielles avec PubNub.
    
5.  [Suivez](https://www.pubnub.com/tutorials/) nos tutoriels pas à pas pour configurer et créer des applications avec PubNub, y compris des applications de chat avec les [SDK PubNub](https://www.pubnub.com/tutorials/getting-started-chat-sdk/).
    

N'hésitez pas à contacter l'équipe des relations avec les développeurs à l'[adresse devrel@pubnub.com](mailto:devrel@pubnub.com) pour toute question ou préoccupation.

Comment PubNub peut-il vous aider ?
===================================

Cet article a été publié à l'origine sur [PubNub.com](https://pubnub.com/how-to/test-cases-for-chat-application/)

Notre plateforme aide les développeurs à construire, fournir et gérer l'interactivité en temps réel pour les applications web, les applications mobiles et les appareils IoT.

La base de notre plateforme est le réseau de messagerie en temps réel le plus grand et le plus évolutif de l'industrie. Avec plus de 15 points de présence dans le monde, 800 millions d'utilisateurs actifs mensuels et une fiabilité de 99,999 %, vous n'aurez jamais à vous soucier des pannes, des limites de concurrence ou des problèmes de latence causés par les pics de trafic.

Découvrez PubNub
----------------

Découvrez le [Live Tour](https://www.pubnub.com/tour/introduction/) pour comprendre les concepts essentiels de chaque application alimentée par PubNub en moins de 5 minutes.

S'installer
-----------

Créez un [compte PubNub](https://admin.pubnub.com/signup/) pour un accès immédiat et gratuit aux clés PubNub.

Commencer
---------

La [documentation PubNub](https://www.pubnub.com/docs) vous permettra de démarrer, quel que soit votre cas d'utilisation ou votre [SDK](https://www.pubnub.com/docs).