Caractéristiques des tests de prêts: comment un bug affecte des milliers de dollars de revenus

Salut Je m'appelle Olga Mikhalchuk, je suis ingénieur QA (ingénieur ou testeur en assurance qualité) au sein de la société fintech ID Finance. Dans cet article, je vous dirai ce que fait le contrôle qualité et comment rechercher et corriger les bogues dans les estimations de crédit, jusqu'à ce qu'ils entraînent de grandes pertes dans votre entreprise.

image

Un peu sur mon travail: QA ou testeur


ID Finance est une fintech dont les projets sont présentés dans sept pays. Je travaille pour le Brésil, un produit de MoneyMan (service de prêt en ligne).

Pour commencer, je voudrais définir un peu les termes «ingénieur en assurance qualité» et «testeur», bien qu'il s'agisse d'un sujet pour un article séparé. Il n'y a pas une seule idée de ces concepts. Dans la plupart des cas, les testeurs sont appelés des experts qui vérifient le bon fonctionnement du système après le développement et avant de fournir des fonctionnalités aux utilisateurs finaux. Et l'assurance qualité signifie un travail plus global et plus approfondi pour garantir la qualité des produits. Cela inclut l'étude des causes des défauts apparus, leur prévention, la maintenance post-libération, l'amélioration continue des processus, et bien plus encore.

En fait, mon travail ressemble à ceci: nous analysons et vérifions les tâches que d'autres départements ont compilées et développées par les programmeurs, saisissons et analysons les bogues, rédigeons la documentation et les rapports de test, contrôlons l'état de la production, réalisons des démos, etc. Nous avons également le concept de production QA. Les gars de notre département devraient également avoir une idée du processus de développement: chaque jour, nous descendons au niveau de la base de données et de la journalisation du système, examinons le code et la console, et utilisons le système pour surveiller la charge et l'état du système. Nous devons comprendre les spécificités de l'entreprise: cela inclut l'analyse des tâches et la communication avec les autres services. Doit connaître les caractéristiques du travail des autres départements. Exemple: comment pouvez-vous vérifier que les comptes de crédit sont correctement exécutés lorsque vous ne comprenez pas cela? C'est pourquoi je continuerai à appeler mon poste QA, c'est-à-dire un spécialiste de l'assurance qualité, même si je ne serai pas offensé si je suis appelé testeur.

image

Test de coût de crédit


Dans notre entreprise, les calculs de crédit appellent tous les calculs de paramètres et d'indicateurs de crédit. Il s'agit d'un échéancier des paiements, du montant du principal et des intérêts, d'une amende en cas de retard, de l'accumulation des droits, des taxes, etc. Un total de plus de 100 indicateurs dans différents tableaux de base de données. En plus des services de base, il en existe d'autres: extension, restructuration, rénovation. Il existe également un système de remises, bonus, divers produits de crédit disponibles pour l'utilisateur et un tas d'autres fonctionnalités.

image

Les calculs de crédit sont l'un des domaines les plus difficiles que j'ai rencontrés lors de mon travail dans l'entreprise. À mon avis, seule une politique de crédit est à un niveau de complexité (un ensemble de règles et d'algorithmes selon lequel une décision est prise quant à la possibilité d'octroyer un prêt, et quel prêt nous pouvons accorder à cet utilisateur).

Caractéristiques des tests d'estimation de crédit


  1. Préparez-vous à l'avance pour le processus de test, idéalement - avant le développement. Analyser les exigences, préparer la documentation de test.
  2. Nous passons de chèques plus basiques à des chèques plus complexes et combinés: nous vérifions d'abord l'émission d'un prêt, les remboursements à temps, le montant en montant, etc. Ensuite, des contrôles un peu plus complexes, tels que le remboursement anticipé, le retard, le trop-payé, puis des combinaisons de différents cas.
  3. Nous vérifions les paramètres initiaux et le contrat que l'emprunteur signe.
  4. N'oubliez pas les services supplémentaires (renouvellement, rabais, etc.)
  5. Environnement de production - un entrepôt de cas de test. C'est une bonne idée de prendre les cas «de référence» et de comparer les coûts avec eux.
  6. L'impact des changements de coûts sur les clients existants ne peut être toléré.
  7. Vous devez toujours vous souvenir de la régression après tout changement.
  8. Nous examinons si d'autres tâches tierces peuvent affecter les estimations de crédit.

image

Cas spécifiques: comment les bugs peuvent affecter des milliers de dollars de revenus et comment nous nous sommes battus avec eux

J'ai commencé à travailler avec des estimations alors qu'elles étaient déjà dans la version depuis environ deux ans, donc je ne connaissais pas les nombreux charmes de l'origine de ce processus. Néanmoins, j'ai dû faire face à leur stabilisation et à la correction de bugs. Je vais vous parler des cas dont je me souviens le plus:

Effet papillon dans l'établissement des coûts

Si vous recherchez sur Google la définition de «l'effet papillon», vous pouvez voir: «L'effet papillon est un terme désignant la propriété de certains systèmes chaotiques: un léger effet sur le système peut avoir des conséquences importantes et imprévisibles, y compris dans un endroit complètement différent. Je pense que cette définition décrit parfaitement la situation des estimations de crédit.
Par exemple, une fois que nous avons corrigé un bug mineur: il y avait une légère imprécision dans l'arrondi de certains champs. Après avoir raconté tous les prêts (bon dans l'environnement de test), il s'est avéré qu'environ un millier de prêts étaient en retard, bien qu'ils ne devraient vraiment pas! Ainsi, la correction de ce bug insignifiant est affectée, car dans les calculs de crédit, tous les paramètres sont fortement entrelacés et s'influencent mutuellement, parfois à des endroits inattendus. Dieu merci, cela a été rapidement remarqué, réparé, ne permettant pas aux utilisateurs finaux. Le fait est que nous envoyons des informations sur le retard au bureau de crédit. Nous pourrions gâcher des centaines d'historique de crédit client et notre réputation. Et, bien sûr, un tel bug entraînerait des milliers de dollars de pertes.

image

Impossible de corriger 100% des bogues

Comme je l'ai écrit dans le premier paragraphe, tous les paramètres des calculs s'influencent grandement. Pour cette raison, pendant la correction à un endroit, très souvent quelque chose se casse à un autre. Lorsque nous avons été confrontés à la correction d'un grand nombre de bogues accumulés, bien sûr, le service commercial voulait absolument que toutes les erreurs soient corrigées. Mais il s'est avéré que pour tenter de corriger certains bugs sans importance, de plus en plus d'erreurs se sont multipliées, comme une boule de neige. Comme on dit, l'idéal est l'ennemi du bien. Par conséquent, notre tâche principale à l'époque était d'amener le système à l'état le plus stable, avec un impact minimal des bogues sur l'entreprise, et de ne pas corriger 100% des défauts. Cette approche s'est avérée beaucoup plus productive que la correction sans fin de plus en plus de bogues qui se reproduisent les uns les autres.

image

Attention aux combinaisons non triviales

La plupart des bogues se produisent précisément avec des combinaisons non triviales de méthodes de paiement et d'utilisation d'un prêt, lorsque les branches du code se confondent. Par exemple: l'utilisateur rembourse le premier versement à l'avance, le second paie en 5 étapes, prend une prolongation dans le troisième, puis entre en retard de plusieurs semaines ... Malheureusement, souvent des bugs dans de tels cas sont déjà en vente. Conclusion: nous prêtons attention à la combinaison des cas et rappelons-nous le sixième point de la dernière section (prod. Mercredi - un entrepôt de cas de test).

Ne touchez pas les clients existants!

Il est impossible de permettre que des modifications du montant, de la durée ou des conditions du prêt affectent les clients existants qui l'ont contracté à certaines conditions. Si cela se produit, cela causera beaucoup de problèmes au service d'assistance et à l'ensemble de l'entreprise.

Comparaison des portefeuilles de prêts

Un moyen très efficace de vérifier si les estimations de crédit fonctionnent correctement si des modifications ont été apportées consiste à comparer les portefeuilles de prêts avant et après les modifications. Cela signifie que nous avons une base de prêts conditionnellement correcte, avec des estimations qui répondent aux attentes de l'entreprise. Et nous appliquons de nouveaux calculs de crédit à cette base de données, puis en utilisant des outils spéciaux et une analyse des données, nous comparons certains indicateurs généraux de cette pile de prêts. Par exemple, le nombre de prêts en souffrance avant et après les modifications ou le montant des intérêts sur tous les prêts. Cette méthode est très utile pour les tests et le dépannage.

image

Conclusions


Les calculs de crédit sont un sujet sérieux et difficile, mais très intéressant et plein d'énigmes. Lorsque vous travaillez avec, vous devez être un petit analyste de données, un financier et un mathématicien. Mais même une bête aussi dangereuse peut être apprivoisée si vous trouvez une approche.

Et des points simples vous y aideront:

  • Préparation minutieuse: exigences de qualité, documentation commerciale et AQ, conception de test réfléchie;
  • Régression (rappelez-vous «l'effet papillon»);
  • L'environnement de production comme source indispensable de cas de test et de référence.

Source: https://habr.com/ru/post/fr432148/


All Articles