测试,1,2,3...测试...检查?

2008-04-02 10:48:34来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

假如您像我相同,则可能已花费了很多时间在查询分析器中研发代码。在您对代码感到满意之后,能够立即对研发服务器上的测试数据库运行一个或两个专设 测试。假如看起来没有什么问题,您便能够将代码投入生产。假如这是一段关键代码,或该代码较为复杂,则您可能会执行更多的检查,以避免后验剖析。甚至在这种情况下,您也可能屏息以待。www.chinai tp 采集 ow er.comd1nHRZf

这就是我在大部分职业生涯中所采用的编码方式。哦,有时我会存储测试查询以供将来使用,这通常是因为总裁/CEO/CIO/部门经理习惯于大约每周就改变一下他或她的需要。但是,除此以外,我不会再做什么。我通常在查询分析器或他的 Oracle/Access/FoxPro 等效工具外部用专设 查询进行测试。更高强度的测试需要使用查询分析器调试器。在绝望的情形下,需要使用 PRINT 语句。www.chinai tp 采集 ow er.comd1nHRZf

现在存在 一种更好的方式。www.chinai tp 采集 ow er.comd1nHRZf

超越专设 测试www.chinai tp 采集 ow er.comd1nHRZf

当我的 SIL 部门采用极限编程 (XP) 时,我们还采用了该方法论的单元测试部分,而他们两者都使我成为更出色的研发人员。但是,即使您不在 XP 环境中工作,您仍然能够从 XP 风格的单元测试中获益。 www.chinai tp 采集 ow er.comd1nHRZf

单元测试不同于接受测试。单元测试用于测试较小的代码块(例如,存储过程),而接受测试更多地涉及到用户是否能够接受 UI。以下是我发现的单元测试的五个长处:www.chinai tp 采集 ow er.comd1nHRZf

他们能够找出应该承担责任的当事人。您是否收到过电子邮件,告诉您应该修复程式错误,而这实际上是其他某个人所作更改的副作用?好,假如您具备一些零散的测试查询,请将他们包装到能够定期运行(或许是在晚上)的存储过程中。请确保在单元测试失败时能够生成电子邮件。 www.chinai tp 采集 ow er.comd1nHRZf

生成库无需花费很长时间。每个存储过程和每个存储函数都应当具备为他编写的测试,而触发器也应该如此。假如这听起来有些苛刻,那么请想一想,能够在问题到达生产服务器之前捕获到他,从而拯救您自己,将会是一种多么好的感觉。假如您具备大量旧式代码,那么为每个单元编写测试可能需要多年的工作,并且您也不能仅仅为了编写测试而停止新的研发工作。但是,您能够为每段新代码编写测试,也能够为您修改的每个过程编写测试。用不了多长时间,您就会为关键的旧式代码和新代码编写众多的测试。 www.chinai tp 采集 ow er.comd1nHRZf

轻松创建准确的代码文档。每个过程或函数都应当用不同的参数组合调用。这不但能够确保代码按预期方式工作,而且还提供了有关您的工作的最新而准确的文档。另外一个编码员只需查看您的测试,就能够了解对您的过程进行调用的示例。谁知道呢?某一天,这另一个编码员可能就是您自己。 www.chinai tp 采集 ow er.comd1nHRZf

他们迫使您预先进行一点儿思考和计划。您应当在编写实际的过程或函数之前编写自己的单元测试。“什么?”您说,“我抗议!我们如何为尚未进行编码的东西编写测试?” www.chinai tp 采集 ow er.comd1nHRZf

有一个很老的笑话,他讲的是:有一个经理说:“我将弄清楚他们需要什么。其余的人开始编码。”那么,编码员在知道他们需要编写什么之前是无法开始工作的,不是吗?当您首先编写测试时,您将被迫考虑在开始编写该过程之前,您希望该过程完成什么工作。 www.chinai tp 采集 ow er.comd1nHRZf

他们确实能够节省您的时间。研发人员经常抱怨,编写测试需要花费比编写实际过程更多的时间。有时的确如此。但是请考虑以下情况:我最近接受了一项任务,即,修改我曾碰到过的最难的存储过程之一。他是旧式代码,但是我仍然首先编写了测试。他花费了我几天的时间才完成,部分原因在于对该过程所施加的需要。实践证实,出于我刚才列出的任何原因,该测试很重要,并且当我必须重新编写该过程以改善性能时,他变得弥足珍贵。 www.chinai tp 采集 ow er.comd1nHRZf

单元测试显示重新编写的过程中存在大量错误,而我能够很快地找到每个错误的根源,所花费的时间只占不使用单元测试时的几分之一。然后,当我认为已完成该任务时,模糊测试失败了。主循环中的变量之一存在缺陷。假如代码以这种状态发布到生产环境中,那么这将是个难以捕获的程式错误。最终,我以比采用其他方式更快的速度完成了这项任务。 www.chinai tp 采集 ow er.comd1nHRZf

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 整理的一些常用系统表

下一篇: 从 SQL Server 2005 中处理 XML