仅吃了几口就放弃了。为养足精神,中午他还趴在工作台上睡了一会,然后拿着一杯浓浓的拿铁,兜里又揣了两条速溶咖啡,独自一人走进测试房。
黑色的电脑屏幕上,只有一行行白色的代码在跳动。所谓的程序测试,是指对一个完成了全部或部分功能、模块的计算机程序在正式使用前的检测,以确保该程序能按预定的方式正确地运行。
测试是发现程序错误和缺陷的主要手段。测试用例是由测试数据和预期结果两部分构成,为了发现系统中的错误,测试中应竭力设计能暴露程序错误的测试用例,这样才能验证程序的正确性。
测试需要好几个轮次,而每一轮次中间又需经过几次不停的反复。林渊作为副总监,全程参与了程序的编写,并且还亲自审核过,所以对程序的完整性还是很有信心的。果然,在另一台电脑上,数据运行的快速而准确,没有一丝差错,这表明这些日子的努力与付出最终有了满意的结果。
通常情况下,如果第一轮测试没有发现问题,后面的测试问题不会很大,基本上都能顺利通过。因为该有的问题,在最初测试时就会显现出来,而不会等到最后。林渊对测试结果很满意,后面需要做的,就是将程序应用到各个模拟场合,以此来检验程序的效果。
连续测试了好几个商务运行环境,程序运行的都很稳定。林渊长出一口气,照这样的速度,测试工作比想象的要快一点。他准备停下来,填写第一次测试报告。就在这时,程序忽然停顿了一下,随后又开始运行起来。
林渊一怔,尽管只有几秒钟,但他敏锐的意识到,这里有问题。
再一次测试,程序依然运行流畅。重新审视代码,也没发现任何问题。林渊心想是不是甲方提供的商务数据有问题,但复核的结果同样完整无误。
以往的对接自己只是负责技术,测试的工作都是由叶落尘完成,因此这样的问题林渊还是第一次遇到。他第一反应是打电话,问问叶落尘以往是否遇到过此类问题。但转念一想,林渊觉得电话打过去固然能解决问题,却也暴露出自己能力不足,似乎对不起叶落尘临走前郑重其事的,由自己全权负责此事的提议。
想到这,林渊放弃了求助。程序既然可以确认正确无误,问题肯定出在数据上面。
林渊揉揉眼睛,将两条咖啡一起冲了,让自己更兴奋一些,重新观察数据的运行。这次他发现了,数据应用到程序上完全没问题,问题出在时间上。按照金融机构的要求,对那些长期休眠的账户,扣款结算时间定在每季度最后一周的周五。只是这些休眠账户既有小客户,也有百万资金以上的大客户,而金融机构对大客户又不会扣款,所以系统自动运行到大客户账户时会识别一下,这就是系统停顿的原因。至于其他时间段,由于不涉及到扣款,所以系统运行的十分完美。
对小客户,系统会执行自动扣款。对于大客户,系统在识别出后要自动跳过去。实际运行过程中,几秒的时间根本不会对系统产生任何影响,但对于从事技术的林渊来说,此刻却不禁心头一颤。因为他已经意识到,这其实是系统的一个漏洞,有一个巨大的财富机会,已经出现在他的眼前。