测试贷款的特征:一个错误如何影响数千美元的收入

你好 我叫Olga Mikhalchuk,我是ID Finance金融科技公司的质量检查工程师(质量保证工程师或测试员)。 在这篇文章中,我将告诉您质量检查的工作以及如何查找和修复信用估算中的错误,直到它们导致您的公司蒙受巨大损失。

图片

关于我的工作的一些信息:质量检查人员或测试人员


ID Finance是一家金融科技公司,其项目遍布七个国家。 我在巴西工作,这是MoneyMan (在线贷款服务)的产品。

首先,我想用术语“质量保证工程师”和“测试人员”进行一些定义,尽管这是另一篇文章的主题。 这些概念没有一个单一的想法。 在大多数情况下,测试人员被称为专家,他们在开发之后并向最终用户提供功能之前,验证系统的正确运行。 质量保证意味着更多的全球化和更深入的工作来确保产品质量。 这包括研究已出现的缺陷的原因,预防,释放后的维护,持续的过程改进等等。

实际上,我的工作是这样的:我们分析和检查其他部门由程序员编写和开发的任务,输入和分析错误,编写测试文档和报告,监视生产状态,进行演示等。我们也有生产概念质量检查。 我们部门的人员还应该对开发过程有所了解:每天我们都要进入数据库和系统日志记录级别,查看代码和控制台,并使用系统来监视系统的负载和状态。 我们必须了解业务的细节:这包括任务分析和与其他部门的沟通。 必须了解其他部门的工作特征。 示例:如果您不了解这一点,如何测试正确的应计费用? 这就是为什么我将继续称呼我的职位质量检查人员(即质量保证专家)的原因,尽管如果我被称为测试人员也不会感到冒犯。

图片

信用成本测试


在我们公司中,信用计算会调用信用参数和指标的所有计算。 这是一个付款明细表,本金和利息额,延误情况下的罚款,应计关税,税款等。不同数据库表中共有100多个指标。 除基本服务外,还有其他服务:扩展,重组,翻新。 还有一个折扣,奖金,各种信贷产品可供用户使用的系统以及许多其他功能。

图片

信用计算是我在公司工作期间遇到的最困难的领域之一。 在我看来,只有信贷政策的复杂性处于一个级别(一套规则和算法,根据这些规则和算法来决定是否可以授予贷款,以及我们可以向该用户提供哪种贷款)。

测试信用估算的功能


  1. 最好在开发之前预先为测试过程做准备。 分析需求,准备测试文档。
  2. 我们从更基础的支票转变为更复杂和更合并的支票:首先我们检查贷款的发放,按时还款,金额等,然后再进行更复杂的检查,例如提前还款,延迟,超额付款,然后是不同情况的组合。
  3. 我们检查初始设置和借款人签署的合同。
  4. 不要忘记其他服务(续订,折扣等)
  5. 生产环境-测试用例的仓库。 最好采用“参考”案例并将其与成本进行比较。
  6. 成本变化对现有客户的影响是不允许的。
  7. 您应该永远记住任何更改后的回归。
  8. 我们考虑其他第三方任务是否会影响信用估算。

图片

具体案例:错误如何影响数千美元的收入以及我们如何与之抗争

当估计值已经发布大约两年时,我便开始使用估计值,因此我不知道此过程起源的诸多魅力。 但是,我不得不面对它们的稳定和修复错误。 我将告诉您我最记得的情况:

成本核算中的蝴蝶效应

如果您搜索“蝴蝶效应”的定义,您会看到:“蝴蝶效应是一个术语,表示某些混沌系统的特性:对系统的轻微影响可能会产生巨大且不可预测的后果,包括在完全不同的地方。” 我认为这个定义完美地描述了信用估算中的情况。
例如,一旦修复了一个小错误,一些字段的取整就存在一点点误差。 重新计算了所有贷款后(在测试环境中效果良好),事实证明大约有1000笔贷款已延迟,尽管实际上不应该! 因此,该无关紧要的错误的修复受到了影响,因为在信用计算中,所有参数都紧密地缠绕在一起并且相互影响,有时在意想不到的地方。 谢天谢地,此问题很快被发现,修复,不允许最终用户使用。 事实是,我们将有关延迟的信息发送给了征信机构。 我们可能破坏数百个客户的信用记录和声誉。 当然,这样的错误会导致数千美元的损失。

图片

无法修复100%的错误

正如我在第一段中所写,计算中的所有参数都相互影响。 因此,在一个位置进行校正时,经常会在另一个位置发生故障。 当然,当我们面对大量累积的错误时,业务部门绝对希望修复所有错误。 但是事实证明,为了修复一些不重要的错误,越来越多的错误出现了,就像滚雪球一样。 正如他们所说,理想是善良的敌人。 因此,当时我们的主要任务是使系统处于最稳定的状态,而对业务的错误影响最小,而不是修复100%的缺陷。 事实证明,这种方法比对彼此产生的越来越多的错误进行无休止的纠正要有效得多。

图片

注意非平凡的组合

当代码中的各个分支相互混淆时,大多数错误恰好发生在付款和使用贷款方法的平凡组合中。 例如:用户提前偿还第一笔款项,第二笔分5步付款,第三笔延期,然后延误数周。不幸的是,此类情况下的错误经常已经出现在产品上。 结论:我们注意案例的组合,并记住最后一节的第六点(产品周三-测试案例的仓库)。

不要触摸现有客户!

不允许对贷款的金额,期限或条件进行任何更改,以影响在某些条件下获得贷款的现有客户。 如果发生这种情况,将会给支持部门和整个公司带来很多麻烦。

贷款组合比较

检查信用估计是否正确进行的一种非常有效的方法是对更改前后的贷款组合进行比较。 这意味着我们有一个条件正确的贷款基础,其估计值可以满足企业的期望。 然后,我们对该数据库应用新的信用计算,然后使用特殊工具和数据分析,比较这堆贷款的一些一般指标,例如,更改前后的逾期贷款数量或所有贷款的利息金额。 此方法在测试和故障排除中都非常有用。

图片

结论


信用计算是一个严肃而困难的话题,但非常有趣且充满困惑。 在使用它时,您需要成为一位数据分析师,金融家和数学家。 但是,即使您找到解决办法,也可以驯服这种危险的野兽。

简单点将有助于此:

  • 精心准备:质量要求,业务和质量保证文档,周到的测试设计;
  • 回归(记住“蝴蝶效应”);
  • 生产环境是测试用例和基准的必不可少的来源。

Source: https://habr.com/ru/post/zh-CN432148/


All Articles