网站监控与网站测试驱动的研发

我家里有一个电动汽车玩具,一天我正在看电视,茶几上的这个汽车玩具忽然自己启动了,闪着灯摔到了地板上。这并不是灵异事件,我捡起它之后发现原来开关没有完全关好,处于开与关之间,可能是某些轻微的震动令这个处于不稳定状态的开关变成了开的状态,从而启动了玩具汽车。

一个网站能够正常工作需硬件、软件、运维、线路等很多环节的整体配合,比玩具汽车所需要的电池、开关、电动机复杂得多,相应地,出错概率也大得多。

及时发现问题,及时处理,将服务中断的时间缩到最短,是非常重要的。所以我们对网站需要使用一些自动监控软件,来监控网站服务是否可以正常访问,当网站出现问题时,向运营人员发报警短信或邮件。

测试驱动研发( Test-Driven Development,TDD)可以预防这种情况的发生。TDD是一种敏捷开发思想,既然所有的功能点都需要测试,而且是反复测试,为什么不把测试工作提到最前面并自动化呢?

TDD要求在写任何功能代码之前,先写好它的测试代码,以保证所有的功能点都被自动化测试所覆盖。

如果只是研发出了产品功能,但是对其测试不充分,这个功能就附着了测试债务,并且随着时间推移,測试债务会越隐藏越深,偿还成本会越来越高。TDD正是从一开始就解决测试债务的方法,当产品变得很庞大的时候,TDD依然以快速有效地检测各个功能点,这对于没有运用TDD的产品来说是一项不可完成的任务。

从研发驱动测试到测试驱动研发,是一个巨大的转变,其中涉及研发流程试人员的编程能力、研发平台对自动化测试的支持程度等环节,而且,在测试驱动研发出现之前,那么多研发驱动测试的产品也获得了成功,所有这些因素都影响了TDD的普及。如果你的产品总是出现无法定位的奇怪问题,那么应该要考虑一下转用TDD了,当然,最终的决策权在测试经理或研发经理。



(本文内容及图片收集于网络,如有侵权,请联系我们删除。)