1.就client类型的支持方面,目前来看software的产品还是占优势。我想这是因为纯软件的产品一直都是关注application,在这方面有长期的积累。对标准的协议如HTTP(S),SMTP,FTP的支持两边都差不多,这些也是比较容易做到的。但是对一些应用平台的支持相对要复杂一些,比如很多software产品都支持各种数据库的性能测试,以及中间件,如BEA Tuxedo,还有ERP系统,如SAP,Oracle,除此之外,有些还甚至支持IBM Legacy系统。Appliance产品对这方面的支持目前还很少,多半集中在标准协议方面。不过这其实也不是致命伤,因为这些测试工具都是按协议来卖,可以搭配的,这也是因为买测试工具的客户也不是什么client都需要。比如有的公司主要是要测试自己的web应用系统的性能,那么他的选择实在很多。有些要测在Tuxedo上面开发的应用,可能software的产品目前是唯一的选择。
2. 扩展性。性能测试,特别是大的系统对测试工具本身的性能也是有要求的。这个很好理解,如果一个系统1秒能处理1万个请求,但是测试工具只能发起5千个,那就说不过去了。很多情况下,靠一台主机来模拟client可能还不够,这就涉及扩展性的问题,关于这个问题,两边给出了不同的solution。Software这边的答案是前面提到的distribution的方法。Appliance这边的方法还是appliance式的,很多产品提供扩展槽,你可以再插一套主机系统进去,有点像通信设备里面单板机的概念,每个板子上都有自己的CPU和Memory和network port。
3. 升级的问题。相对而言,软件的升级比较简单。Appliance这边硬件自身的升级除了扩展之外应该不是很方便,但是里面搭载的软件是可以更新的。
4. Appliance的产品提供了网络状况的测试和模拟功能,比如当前测试环境的网络状况,可以模拟出带宽小,丢包率高的情况。Software这边可能要借助3rd party的方法。这些可能对某些测试有意义,对有些而言,可能就不care了。
5. 可能因为自己产品的原因,注意到appliance有个不错的好处,那就是他们比较适合测试gateway之类的产品。这类产品测试的过程中需要关注upstream和downstream的状况,而传统的software solution基本上都是C/S结构,你得到的最主要数据是client的响应状况。我想这可能是因为这些appliance一开始就是用来测试router和switch之类的东西,所以自然前后都要看。他们把这个特点带到了application测试上面来。比如IXIA利用一台测试设备的两个端口模拟出test client和server,发给gateway然后再收回来,这样就有前后的分析数据了。Spirent把这两块分开成Avalanche和Reflector来完成。没有试用过,不过相信在report里面,两边的数据是可以sync在一起的。
软件测试工具的竞争其实是蛮残酷的,因为这些产品的客户都是十分挑剔的,而且,怎么讲,写一首皆大欢喜的歌很难。软件测试工具基本上都想一套方法一套工具适应大量的场合和客户群,但是这本身就是很难的事情,就像他们要去测的应用系统一样。这也是为什么近年很多软件公司开始做segmentation,分出enterprise,SMB和consumer。
作为产品的软件测试人员,对自己的产品使用场景很了解,需要找到尽可能适合自己产品的软件测试工具,但是很少有完全满足要求的软件测试工具。所以如果对某个客户而言,他们提供的软件测试工具有某些方面不适合造成的硬伤,那只能说遗憾。
最后有个问题,这些纯软件测试工具厂商难道就这样看着appliance蚕食他们的市场吗?我想不会,他们可能也会推出自己的testing appliance,也可能继续加强自己的优势,因为appliance有天然的优势也有天然的劣势。当然还有一种可能就是并购,到时候可能同一家就会提供软硬两套方案,说你自己选吧,然后广告改成“提供业界领先的基于软件和高性能测试设备的应用系统性能测试全面解决方案”。
文章来源于领测软件测试网 https://www.ltesting.net/