2000多个Bug!导致13亿人账户出错、损失超过28亿!测试员背锅?
对于很多IT小白而言,在系统迁移的过程中经常会出现失误,一不留神就出现了BUG,最糟糕的可能转为系统重装,好在,虽麻烦,但是造成的损失不大,可能只是丢失一些资料。
而最近,英国银行TSB却在系统迁移时出了一个令人目瞪口呆的BUG,准切的来说,不是一个BUG,而是2000个BUG,这造成的后果就不得了了,直接损失了超过28亿,怎么回事呢?一起来看一下事情经过。
1 13亿人账户出错 损失28亿
这一则事故的起因首先要从英国银行TSB的背景开始讲起,在1995年时,其被劳埃德银行收购,直至2015年,才结束合并,时间长达20年,在合并的集团中拆分出来后,英国银行TSB又将自己以17亿英镑的价格卖给了西班牙公司萨瓦德尔(Sabadell)集团,按当时的汇率来算应该是158亿人民币。
然而,在过去的20年中,正是科技化发展最为迅速的时代,银行业也进步了太多,多年的合并使得英国银行TSB的IT系统与其前东家有着千丝万缕的关系,如何妥善理清,成为了一大难题。
其中最让人头疼的是TSB银行的540万客户的数十亿记录,还在前东家的系统里,而因为已经解除合并关系,原来的免费使用系统就变为了花钱借用,每年都需要交付1亿英镑的费用,换算成人民币大约9.3亿。
长此以往也不是办法,因此在筹备了许久后,TSB开始行动了,一场大型的系统迁移在4月22日星期日的晚上拉开帷幕:将前东家IT系统里的客户信息记录,迁移到如今专门为TSB银行准备的新系统里。
迁移的大致过程为,先将银行的IT系统离线,迁移之后再上线,恢复客户访问自己银行账户的权限。
为了这场迁移,他们投入了超过2500的人力成本,在迁移前夕,西班牙新收购集团的CEO还放出豪言,为了这次的项目,企业投入了1000多名专业人才,极大程度上促进了英国的发展。
但,领导在台上豪言壮语,台下的程序员却心里没谱,原本定为18个月的迁移筹备时间,在过程中,完成的时间,和财力都超出了预算,事情能不能成功,谁也说不准。
果不其然,在迁移的结束后,问题报告也接踵而来:
不少客户发现自己的钱不见了
不少客户的实际花费和账户记录完全对不上号
甚至有的客户原本登录的是自己的账户,页面却显示的是别人的账户。
统计下来,13亿客户的记录都出现了问题,TSB一下子成为了众矢之的,而在之后的几个星期中,银行都在拼命的恢复系统,但很多客户已经失去了对他们的信任,不少人正在努力的将自己的钱从这家银行取出来。
而TSB这次的失误也使其的运行和未来的发展陷入了前所未有的困境中。
地球上很多金融体系都是相连的,这次的事故也使得其失误被永远保留下来,不可逆转,在发现漏洞后,TSB银行找到了第三方机构来帮忙处理,在赔偿客户以及解决系统出问题后的摸鱼交易等等问题上花费了3.302亿英镑,大约人民币28.4亿人民币,在此期间,其股票也大受动荡,亏损了9.2亿人民币。
但即便如此也没有转变其越来越差的业绩,最终他们于今年年底关闭了英国86个分行,为此次事件画上了一个短暂的句号。
2 问题的根源,在测试
在事情发生了几周后,英国金融监管机构金融行为监管局(FCA)首席执行官Andrew Bailey对外公开表示,造成系统混乱的很大原因在于缺少测试,并且TSB银行没有采用严格的上线标准。
银行系统很复杂,在全球互联的时代,互联网和移动银行使得客户的生活越来越便捷的同时,每一次的加载和刷新背后,其实都存在大量的数据移动。每一个动作可能都会牵连到许多单独的系统,这些系统彼此交互,且与核心大型计算机相连,其中涉及的计算量,往往达到数十亿倍。
而本次TSB存在的问题,正是因为没有处理好这样高度的复杂性,需要将这么大量的数据没有复合风险的迁移,需要在事前进行大量的规划和测试工作。
这方面经验丰富的汇丰银行前IT主管对此发表了自己的看法:“我不确定他们是不是真的意识到了这件事的复杂程度。他们甚至没有完全想好要怎么去测试系统。”
也有网友严厉批评道:“TSB的问题不应该说是测试不足,而是在多个层面上都测试不足,并且缺少可恢复的备份。”
除此之外,对于此次事故,FCA首席执行官Andrew Bailey则表示:TSB的这一事故反映出他们缺少强大的回归测试。
回归测试是软件测试中不可忽视的一部分,回归测试是对旧代码修改后,重新进行测试并确认修改没有引入新错误,或者导致其他代码出现错误。作为软件生命周期的一部分,回归测试在整个软件测试过程中占据着相当大的工作量,在软件开发的每个阶段都要进行多次回归测试。
而这一次的事情的走向,也向大多数人展示了拥有强大的回归测试究竟有多么重要。
而对于因测试不足导致事故发生的原因这一结论,一些测试工程师针对此事也表达了自己的看法:“作为测试工程师,我一点也不意外。花费更多的时间、投入更多的人员来打造更好的测试架构,对于很多公司来说都是“可以节省的成本”。
经理们总是在设定的上线日期前问:“测试咋能花那么多时间?!”真要出事了他们又开始甩锅了。”
看来无论是多大的企业,当因为时间不足或是人力不足而最终造成的BUG原因时,最终背锅的还是我们测试员们,属实泪目。同时,此次的事件也侧面向我们证明了,在科技日益发展的今天,测试的重要性在全世界都受到认可,相信随着比重的增加,测试人员也会越来越受到社会的重视。
部分素材来源 | 量子位(ID:QbitAI) 作者:学掌门 https://www.bilibili.com/read/cv16340242 出处:bilibili