Bonjour, je m'appelle Alexander Ulanov, je suis ingénieur d'essais à Odnoklassniki. Dans cet article, je voudrais parler d'un des projets auxquels j'ai participé. Je vous préviens tout de suite: dans l'article, vous ne trouverez aucune découverte ou approche complexe de la méthodologie de test. Cependant, le processus de développement et de test décrit dans l'article peut être intéressant ou même utile pour quelqu'un.
Épisode 1: Peur et dégoût dans OTRS

OTRS est un système de traitement des demandes qui permet aux organisations impliquées dans le support technique de tout projet de travailler ensemble pour résoudre les problèmes des utilisateurs. Le système est écrit en Perl et a été pris en charge par les développeurs jusqu'en novembre 2017.
C'est le système OTRS que nous avons utilisé pendant de nombreuses années pour traiter tous les appels des utilisateurs. La décision d'utiliser OTRS a été prise il y a de nombreuses années. Ensuite, il y avait une tâche simple: trouver une solution toute faite et l'adapter rapidement à nos objectifs. Et c'était terrible, je vais vous expliquer pourquoi:
- nous avons utilisé une version personnalisée du système OTRS pour nos besoins et donc la mettre à jour (jusqu'à l'automne 2017) a été, pour le dire légèrement, difficile;
- au fil du temps, nous avons commencé à comprendre que le système repose sur sa charge «plafond» et cesse de faire face au nombre d'applications provenant de nos utilisateurs;
- le système OTRS a été intégré dans l'infrastructure globale de telle manière qu'il dépendait complètement des mises à jour du réseau social OK.ru. Ce qui a permis de mettre à jour OTRS une seule fois par semaine;
- un personnel de 90 employés de soutien ne pouvait répondre aux plaintes qu'en quelques heures;
- tester chaque mise à jour du système de notre côté s'est transformé en cauchemar, car même les plus petits changements pourraient casser le système dans n'importe lequel des nœuds. Lorsqu'il a fallu ajouter de nouvelles fonctionnalités, le processus de développement et de test s'est transformé en semaines de débogage du système;
- OTRS lui-même est écrit en Perl. Une langue qui n'était pratiquement pas utilisée dans les projets OK.ru, ce qui a imposé des problèmes supplémentaires;
- et, peut-être, le principal problème est MAIL! OTRS a traité les plaintes sous forme de courrier électronique. Et c'est en 2016-2017! Par conséquent, des tonnes de paramètres, des fonctionnalités de travail avec les services de messagerie et une longue attente de réponses pour les utilisateurs, qui sont inévitables lors de la communication avec l'assistance par courrier électronique.
Épisode 2: Ce que nous voulions obtenir
L'idée d'un départ complet de l'OTRS a commencé à se développer dans l'entreprise depuis 2015. Tâche clé: se débarrasser de l'utilisation du courrier et fournir la possibilité de répondre rapidement et en temps opportun aux utilisateurs sans augmentation multiple du nombre de personnel de support. La solution la plus évidente est un service d'assistance en ligne.
De plus, personne ne voulait dépenser des ressources pour un tout nouveau système. Il est plus logique d'utiliser vos services internes, dont le fonctionnement a déjà une expérience et une couverture de test. Plus une exigence purement technique: pouvoir effectuer des mises à jour du nouveau système à tout moment et ne pas dépendre des autres équipes. Ce qui nous promettait une flexibilité dans le développement et les tests.
Autour de la même période, OK.ru a vu une modernisation globale du système de messagerie. C'est sur la base de la nouvelle messagerie qu'il a été décidé de mettre en place le nouveau système de support en ligne (ci-après dénommé «oSupp»).
Épisode 3: Planification

Au tout début du développement de oSupp et à la suite de nombreuses réunions, nous avons constaté un certain nombre de problèmes. Le principal est qu'il est impossible de basculer immédiatement tous les travaux de OTRS vers oSupp à la fois:
- il était nécessaire d'évaluer pleinement comment le nouveau système fait face à la charge technique (rappel, nous parlons de traiter 10 à 12 000 plaintes par jour);
- Il était nécessaire de former les employés à travailler dans le nouveau système;
- Il était nécessaire d'effectuer des tests A / B sur les utilisateurs et les employés de support et d'évaluer comment ils vont faire face à la charge;
- limitation technique: la messagerie OK.ru n'a jamais fonctionné avec des utilisateurs non autorisés auparavant. Et dans le travail d'assistance, la communication avec des utilisateurs non autorisés représente près d'un tiers des milliers de plaintes;
- Pour tester le système, vous devez créer un environnement aussi similaire que possible à un environnement réel, mais sans accès aux utilisateurs réels.
Nous avons décidé que la meilleure façon était d'implémenter et d'implémenter oSupp en trois étapes:
- Développement et test de prototypes.
- Implémentation de oSupp pour traiter les appels des utilisateurs OK.ru autorisés.
- Couverture complète de tous les appels avec le nouveau système oSupp.
Épisode 4: Test et mise en service
Pour tester le prototype, un environnement de test a été créé avec la possibilité de générer des appels des utilisateurs de test et la possibilité de connecter oSupp à l'environnement de test OK.ru. Il est à noter ici que le nouveau système a été conçu de telle manière que rien n'a changé de la part de l'utilisateur jusqu'au moment de la communication directe avec l'opérateur. La section «Aide» familière est restée, la saisie reconnaissable des sujets sur le site et la FAQ ont été conservées.
Jusqu'à présent, rien n'a changé en termes de tests. Tous les plans de test et la couverture par les autotests n'ont pas changé. U - commodité!

Une fois que l'utilisateur a trouvé le sujet de l'appel et rempli les champs obligatoires, le message est tombé dans le système oSupp et l'utilisateur a discuté avec l'un des employés du support directement dans la section Messages. Le dialogue a commencé instantanément quand il y avait un opérateur libre dans le système. Sinon, le chat a également été créé et l'utilisateur a reçu un premier message automatique "L'opérateur vous contactera sous peu".

Encore une fois - un minimum de changements dans le processus de test. Il s'agit d'une conversation régulière, et pour lui, il n'était pas nécessaire d'élaborer de nouveaux plans de test. U - commodité!
Mais pour assurer le travail des employés, le système a été créé à partir de zéro. Ce qu'il fallait, c'était un système rapide permettant le travail simultané de plusieurs dizaines d'employés en ligne et capable de traiter des milliers d'appels par jour.

Le développement et les tests étaient itératifs. Environ une fois par semaine, nous avons ajouté de nouveaux modules fonctionnels au système, ce qui nous a permis de ne pas enregistrer de tâches et de couvrir progressivement le système de tests. J'ai compilé des cas de texte pour les tests, tout en mettant en évidence ceux qui pourraient être automatisés. Le processus de développement d'un prototype pleinement fonctionnel nous a pris environ cinq mois.
En conséquence, nous avons obtenu un service Web où un opérateur-opérateur pouvait se connecter et accepter les demandes des utilisateurs pour le traitement. Pour un groupe d'employés de soutien, nous avons effectué plusieurs tests A / B pour comprendre à ce stade à quel point ils sont pratiques et compréhensibles de travailler dans le nouveau système. Ce fut une expérience enrichissante. Nous avons pu tester le système oSupp sur la charge créée artificiellement de notre environnement de test. Cependant, cela ne garantissait pas que dans le monde réel nous ne rencontrerions pas de problèmes.
En février 2017, nous avons commencé à introduire un nouveau système dans l'environnement du produit. Comme je l'ai écrit plus tôt, lors de la prise en charge du support client, l'utilisateur doit sélectionner le sujet du contact. Pour les premiers tests du système sur des utilisateurs réels, nous avons sélectionné plusieurs sujets pour lesquels la charge était minime. Le système a fonctionné sous cette forme pendant environ une semaine. Les tests A / B n'étaient pas requis pour les utilisateurs, car il n'y a eu pratiquement aucun changement dans la fonctionnalité du portail. Du côté oSupp, les trois opérateurs en ligne ont géré la charge. Nous avons rapidement suivi les problèmes qui pouvaient être résolus immédiatement, comme Le nouveau système oSupp n'était plus lié aux mises à jour du portail principal. Nous pouvions maintenant mettre à jour le système et résoudre les problèmes quand nous le voulions. U - commodité!
Progressivement, nous avons augmenté le nombre de sujets traités via le nouveau système. Avec un déploiement aussi fluide, nous pouvions non seulement contrôler la charge, mais aussi former progressivement le personnel de support pour travailler avec le nouveau système sans avoir besoin de le distraire du reste du travail. Au milieu de l'été 2017, environ 35% des demandes étaient transférées au traitement par le service en ligne. Déjà un tiers de notre personnel a travaillé via oSupp. Le système était couvert de documentation, de plans de test et d'auto-tests minimum nécessaires, qui ont été lancés lors de la mise à jour du système. En décembre 2017, nous avons transféré toutes les applications des utilisateurs autorisés en ligne.
La prochaine étape importante consiste à fournir une assistance en ligne aux utilisateurs qui rencontrent des problèmes d'authentification. Il s'agit de ceux qui ont oublié le mot de passe, ont été piratés, bloqués ou simplement des utilisateurs avec des appels non standard. Le problème technique clé à ce stade - le système de messagerie OK.ru a été historiquement conçu pour la correspondance du formulaire «Utilisateur OK (opérateur de support dans notre cas) - Utilisateur OK». Mais nous devions assurer le travail de la situation «utilisateur OK (opérateur) - utilisateur non autorisé».
L'équipe de support a commencé à travailler en étroite collaboration avec l'équipe de messages OK.ru. En conséquence, des solutions ont été inventées qui ont permis directement sur l'écran de connexion OK.ru de recevoir un chat en ligne avec un opérateur de service d'assistance. Dans le même temps, le système oSupp déjà existant et mis en service n'a pas nécessité de modifications. Et la nouvelle essence du chat en ligne a fonctionné sur le moteur de messagerie OK.ru modifié. U - commodité!

Nous avons commencé à mettre en œuvre cette décision au début de 2018. En ce qui concerne les tests, il n'y a pas eu non plus de difficultés particulières, Un tel chat avait un ensemble minimal de fonctionnalités. Tout d'abord, nous avons lancé la prise en charge des plaintes d'utilisateurs non autorisés sur le Web. À l'heure actuelle, la prise en charge de ces plaintes à partir d'applications mobiles est en cours de mise en œuvre.
Épisode 5: Résumé
De l'état du prototype à un service pleinement opérationnel, oSupp est passé à l'été 2018. Depuis mars 2019, 60% des demandes sont traitées via l'assistance en ligne. Le personnel n'a pas été changé. 90 employés du service d'assistance en ligne couvrent quotidiennement environ 6 000 plaintes d'utilisateurs. Pendant une activité de pointe sur le portail, l'attente d'une réponse de l'opérateur prend jusqu'à 10 minutes. Sous une charge de travail normale, les opérateurs répondent en 1 à 2 minutes. Grâce au passage à la communication en ligne en direct, la restauration réussie de l'accès des utilisateurs au profil a augmenté de 15%.
Maintenant que nous avons 100% de notre propre produit, nous sommes libres de le modifier à tout moment. L'équipe ne dépend plus des mises à jour du portail OK.ru. Le nouveau système de traitement des applications est écrit en Java, qui implémente de nombreux services OK.ru. Le processus de test du système oSupp est entièrement couvert par des cas de test et, avec les mises à jour, il est assuré par des tests automatiques.
Je dois noter que nous n'avons pas complètement abandonné l'OTRS. Le système de support hors ligne a été gelé mi-2017 et joue désormais le rôle d'assurance. Il y a des appels d'utilisateurs sans scrupules qui aiment spammer sans but au service d'assistance. OTRS traite également les appels qui, pour des raisons spécifiques, les utilisateurs ne peuvent pas être traités en ligne. Maintenant, les plans de notre équipe incluent la mise en œuvre du traitement des appels à partir d'applications mobiles et la mise en œuvre du système de chatbot.

Cependant, notre objectif principal a été atteint - nous nous éloignons de l'utilisation du courrier. Maintenant, pour résoudre les problèmes, nos utilisateurs reçoivent des réponses rapides et opportunes.
Notre principale réalisation: l'utilisateur a considérablement réduit le temps d'attente pour une réponse et la réception de l'aide.