技术开发 频道

测试工具厂商如何“突出重围”

【IT168 专稿】

    随着软件的复杂度提高和人们对软件质量的重视程度的提升,大家对软件测试越来越重视,测试工具的使用也备受关注。根据市场调查机构IDC的研究报告指出,全球自动化测试工具的市场发展,已经在2004年达到了7.8亿美元的规模,近几年保持了持续的增长,各大软件巨头纷纷看好自动化测试工具的发展,持续投入研发,这从最近几年的几个大的并购案可以看出,例如HP收购Mercury Interactive、Oracle买入e-TEST等。

    另一方面,目前软件自动化测试工具市场被几大厂商瓜分所剩无几,HP的几款测试工具成为大公司们的默认选择。那么其他测试工具厂商们如何“突出重围”呢?

    走轻量级路线

    HP、Rational等的测试工具往往非常庞大,动辄上G的安装文件往往让一些只需要简单的自动化功能的使用者望而却步。对于这些用户,也许选择低价格、轻量型的工具更加适合,例如Macro Scheduler。

    MJT NET最近发布了Macro Scheduler 11(http://www.mjtnet.com),售价仅为115美元。当然,Macro Scheduler追求的不是大而全,而是“轻量主义”。目标瞄准Windows自动化,通过脚本编程来提高工作效率,从这个角度来看,它不局限于测试。

    Macro Scheduler对于所有应用程序都适用,因为它是通过录制键盘和鼠标来工作的,通过图像识别技术和界面上的文本捕获能力,可以自动化操作所有类型的应用程序。内置了超过250个脚本命令,支持VBScript。

    “剑走偏锋”

    大型的测试工具对主流应用的支持是比较完备的,例如Java、.NET等编程语言编写的应用程序。但是对于一些相对冷门的语言或GUI库的应用程序,例如QT、TK、XView等,这些大型的测试工具就"鞭长莫及"了。而这恰恰是一些小的测试工具厂商的生存机会,例如Squish(http://www.froglogic.com)。

    Squish分成了9个版本,其中一些版本声称是市面上唯一专业支持某种类型的应用程序的自动化测试。

    (1)Squish for Qt

    Squish for Qt版本支持测试基于Trolltech的Qt界面库,能识别出所有标准的Qt widget,支持Qt 2.x/3.x 和 Qt 4.x widgets ,例如:QListView、QListBox、Q*ItemView、QMenu等。对于从Qt widget继承而来的个性化控件也能很好地支持。

    Qt是由挪威的Trolltech公司出品的一个跨平台的C++图形用户界面库。基本上,Qt同X Window上的Motif、Openwin、GTK等图形界面库和Windows平台上的MFC、OWL、VCL、ATL是同类型的东西,但是Qt具有广泛的跨平台能力,支持win95、win98、winNT、Linux、Solaris、SunOS、HP-UX、Digital Unix、Irix、FreeBSD、AIX、OS390等等。

    (2)Squish for Java

    Squish for Java版本支持基于SWT、RCP/Eclipse、Swing和AWT的JAVA GUI应用程序的测试。而且用Squish for Java写的测试脚本是平台无关的,这意味着你在windows创建的测试可以不经修改就能直接在Linux、Mac上运行。

    (3)Squish for Web

    Squish for Web版本支持基于HTML的Web应用程序、WEB2.0(AJAX)应用程序的测试。与其他基于WEB的测试工具不同的是,Squish for Web支持在各种版本的浏览器上录制和运行测试,包括IE、Mozilla、Firefox、Safari和KDE的Konqueror,支持Windows、Linux、Unix和Mac OS X上的浏览器版本。同样,用Squish for Web编写的测试也是平台无关的。

    (4)Squish for Mac

    Squish for Mac版本支持测试Apple Mac OS X系统上的native Carbon和Cocoa GUI应用程序,是市面上唯一一款Mac OS X应用程序的GUI测试工具。并且它的测试可以录制成JavaScript、Python、Perl或Tcl脚本,然后用这些脚本语言来编写测试。

    (5)Squish for Tk

    Squish for Tk版本支持测试基于Tk库的应用程序。Squish for Tk是市面上唯一一款支持Tk的专业的GUI测试工具,能识别所有标准Tk控件,甚至包括复杂的控件包,例如Bwidgets、BLT等。

    如果与Squish for Qt整合的话,可以测试Qt和Tk混合的应用程序。

    (6)Squish for 4Js

    Squish for 4Js版本支持测试Four J的Genero 客户端(Qt)和Genero Web客户端的应用程序。Squish for 4Js能识别出所有标准的Genero客户端控件,是市面上唯一一款支持Four J的Genero应用程序的GUI测试工具。

    (7)Squish for XView

    Squish for XView版本支持测试基于Sun的XView的应用程序,Squish for XView能识别所有标准的XView控件。

    XView是Sun在1988年引入的widget,其源代码于90年代早期开源,是第一个开源的专业级X Window系统库,后来被Sun遗弃了,转而使用Motif、GTK+。

    (8)Squish for KDE

    Squish for KDE版本是Squish for Qt的一个特殊版本,不需要花钱购买。Squish for KDE支持对开源的或免费的KDE应用程序进行GUI自动化测试。

    (9)Squish Educational

    最后,Squish 还提供了一个Squish Educational版本给大学和其他教育机构使用,这个版本包含Squish的所有版本(Qt、web、Tk、XView、4JS)。

    “异军突起”

    在自动化测试领域,目前的测试工具主要集中在测试周期的中、后端,例如GUI功能自动化测试、性能和压力测试、单元测试,甚少有在前端的测试设计领域有所作为,而Conformiq的Qtronic则瞄准这个领域,来个“异军突起”(据说Conformiq公司在二月份的时候得到了4百多万美元的风投)。

    Conformiq的Qtronic专注于模型驱动测试,通过状态图的定义来支持测试用例的自动化生成。在快速增长的模型驱动质量保证领域已经有超过5年的经验,Conformiq是全球领先的模型驱动测试工具厂商。

    走开源路线

    在全球金融危机,大家都“量入为出”的大环境下,走开源路线的测试工具厂商也许能“杀出一条血路”来。PushToTest打着“Do More Testing and MonitoringWith Less IT Budget”的旗号最近发布了5.2.5版本的TestMaker(http://www.pushtotest.com/docs/vreleasenotes)。

    开源的测试工具明显不是PushToTest赖以生存的法宝,围绕开源的测试工具展开的服务才是其真正目的,例如其"TestOnDemand"解决方案。

    PushToTest针对HP Mercury的解决方案("Optimizing Your HP/Mercury Tools with PushToTest": http://www.pushtotest.com/services/hpmercury),为客户提供了PushToTest的额外解决方案,例如:针对QC,可以把PushToTest的TestMaker在SOA测试方面的功能整合进去,针对LoadRunner和QTP,可以把TestMaker在Ajax测试方面的功能整合进去,等等。这多少有点"吃小虾米"的味道。

    PushToTest如此标榜其服务,并且提出了针对HP的优化解决方案,是因为主管Peter Schumacher,这个原来在LoadRunner方面的重量级人物,1994年,Schumacher是Mecury Interactive的第一个服务合作伙伴,主要业务在LoadRunner for SAP和SAP BASIS方面。

    小结

    在当今自动化测试工具市场份额被各大软件测试工具厂商蚕食的环境下,其他测试工具厂商“各出奇招”以求生存,有的走轻量级路线,有的走开源路线,有的专注于细分领域,都希望分一块蛋糕吃,究竟“鹿死谁手”,我们只能“拭目以待”了。

    测试工具市场的繁荣对于软件测试从业者而言意味着什么呢?我们有了更多选择测试工具的空间。而对于IT采购者而言,如果想最优化自己在测试工具方面的ROI,则应该多多谨慎考虑了。

0
相关文章