快捷搜索:

Oracle数据库工具:Quest Code Tester

假如你不幸要编写大年夜量的PL/SQL代码,现在你的救星终于到来了,它便是Quest Code Tester for Oracle (QCTO)。假如你在布局化的开拓情况中事情(起码是这种情况中),那么履行单元测试的重担将落在法度榜样员上。这个对象可以为你节约无数的光阴,它让你开拓出可重复应用的测试库,只必要简单的设置设置设备摆设摆设和改动就可以将这个测试库用于其他的项目。Quest Code Tester是由Steven Feuerstein开拓出来的,他是PL/SQL方面公认的专家。在他编写的关于PL/SQL的、由O’Reilly出版的册本中蕴藏的聪明同样渗透到了这个对象的开拓傍边。

Quest Code Tester为什么会吸引你

QCTO的宣布会直接引起四类人的兴趣,而间接的引起一类人的信息。直接感兴趣的人包括法度榜样员、DBA、QA测试职员和经理。间接感兴趣的人是客户或者终端用户。为什么像QCTO这样的对象会引起这些人的兴趣呢?

对付法度榜样员来说,测试PL/SQL代码经常有一些问题。其一,对他们来说没有像Mercury 公司WinRunner类似的对象。对付PL/SQL法度榜样员来说,这就意味着没有自动化测试、测试案例库或者申报测试结果对象。其二、和数据库测试有关的一个(伟大年夜的)障碍是很多测试将影响到现有的数据。你履行了一个测试,纵然是部分掉败了(或者部分成功,这抉择于你的参考工具),你的测试情况也已经变更了。这种效果也被称为破坏型测试。其三的问题是测试代码用后就被扔掉落。你花费了精力来编写测试代码,为了反省完一行数据是否插入到了表中,在你的下一个开拓项目中,你可能必要又重写一样的代码。

对付DBA来说,能够编写PL/SQL是如今一项必备的能力。你能够写出专家级其余代码?不,然则你应该有必然程度的竞争力。拿大年夜学中的专业做类比,数据库治理是你的主修专业,而PL/SQL编程则是你的辅修专业。拥有强壮的测试对象可以增补相称的技术。插入一笔记录到数据库表中不会让你挠头,对吧?下面,请说出在你插入一笔记录到表中的可能会碰到的六种差错或者非常。这便是我所想的。我们等会再评论争论这个问题。

对付QA测试职员来说,无论是测试工程师、软件质量包管职员(software quality assurance ,SQA),他们的光阴花在系统/功能/压力测试上,而不是单元测试上不是更好吗?是的,在单元级会有一些反省,然则你作为法度榜样员/DBA也应该有使命反省自己的代码。假如法度榜样员仅仅是写代码然后扔给办公室另一边的其他人去测试,那么这个组织机构是效率低下的。这是在挥霍精力,然则彷佛有无数的因为这个缘故原由(对部分法度榜样员卑劣的质量节制)而导致的开拓项目掉败的故事和例子。

作为经理,想想数据库代码被彻底的测试所增添的代价,以致更好的环境,你终于有了自力于任何法度榜样员的测试代码库。当法度榜样员为了更好的薪水而脱离的时刻会发生什么?你的组织布局/开拓团队会丧掉一整套常识。有了QCTO,这部分常识和法度榜样测试会被保存下来。这仅仅会造成轻细的负面影响:你必要为法度榜样员们认识任何测试对象而支付光阴和金钱(比如,WinRunner是2600美元4天),然则结果是周全的临盆力获得前进。

终极,你的产品会给终极的用户留下什么印象?假如你的公司正在卖一个利用软件,为什么你不想去鼓吹你的利用法度榜样颠最后多么彻底的测试?假如你的产品是优越的,你还会费钱四处鼓吹吗?作为一个第一线的IT专家,你可能还没有收到到RFP(RFP ,Request for proposal,便是收罗建议书,发单人向数家承包商收罗办理规划建议时,向外招标发放的一种文件)。在RFP中包括关于你的公司的软件开拓历程的征象现在已经不少见。在QA/单元测试方面能够精心实施的能力会让你领先你的对手。

从Quest Code Tester可以得到什么?

开始,你可以得到免费的指南,包括一步一步的例子、充分的文档、造访用户社区、代码样本、产品支持、公平的定价和试用免费的版本。QCTO会带来很多的功能和好处。这个产品方便下载、安装和应用。47页的PDF快速入门,而且赞助(在产品中)内容详确。QCTO中的Flash videos会解说如下的内容:

先容和概要

对表、视图、查询和光标变量的测试

对聚拢(collection)的测试

对记录的测试

对全局变量和表达式的测试

对文件内容的测试

对非常、系统输出和光阴花销的测试

提示和技术

所有的内容都包括在视频中演示的代码,这样你可以在方便的时刻回去在试一试这些测试代码。这个库的第二个好处是这些测试代码可以作为很好的例子或者用于你自己情况中的原型。

Quest Code Tester异常优雅的功能

接下来,将先容快速构建(Quick Build)的功能。它里面有很多模板一样的测试用例,你可以方便的拖放到测试筹备框架中。现在回到前面的关于在插入数据会碰到的六个差错或者非常的问题(我原先可以问七个的),下面一张图中显示了只要你鼠标点一下就可以得到这些差错。

对付每一种非常,着末的结果会在特定的差错发生之落后一步的描述。举一个例子,假设你在插入数据的历程中碰到了DUP_VAL_ON_INDEX(索引上呈现重复值)的非常。在这个差错发生之后表的状态是如何的?抱负的环境,表没有发生任何变更,然则你若何才能反省或者验证这个盼望的结果?

一种测试是对照差错发生之前和之后的记录行数,而别的一种测试是验证哪一种差错真正的发生了(而不是其他类型的差错)。出于好奇心,Oracle中的哪个差错是和DUP_VAL_ON_INDEX相关的?第一个差错是我记得住的, 这个差错试图进击Oracle做的最好的工作:防止违反独一性约束, 否则就报ORA-00001.

这个利用的状态

Quest Code Tester处于开拓阶段。我应用的版本是1.5.2。跨越70个bug或者是增强在上一个版本中办理了。和TOAD用户社区类似,Quest愿意吸收赞助产品做的更好的意见和反馈。当你自己评价这个产品的时刻,想想PL/SQL开拓职员的天下中有多久都没有呈现像QCTO这样完备的对象了。很显着在QCTO的开拓中投入了相称的精力,并且它并没有写的很烂然后就不认真任的丢给用户做QA的事情。

我的一个建议可能是将具体/简洁的模式结合在一路。在Step1中的套话可能会让你在应用了100次快速构建筹备测试之后认为厌烦。

结论

在这篇评论的第二部分,我将深入评论争论安装的细节以及若何应用该对象完成代码测试。下面列出了网址,你可以从中懂得更多关于Quest Code Tester的信息。

产品信息 http://www.quest.com/code-tester-for-oracle/

常识库 http://www.unit-test.com/Presentations/library.php

下载地址 tdefid=12476">http://www.quest.com/2_0/registration.aspx?requestdefid=12476

下面的幻灯片 (滥觞于Feuerstein 强调关键的部分的先容视频) 捉住了必要QCTO 完成的功能的精髓。现在标题“Wouldn’t it be wonderful if…”可以被换成 “Isn’t it wonderful that Quest Code Tester does…”

您可能还会对下面的文章感兴趣: