|
Ipv6测试实践散记 2 混沌世界
“曾经有一个美好的黄金时代,叫做IPv4,一切都是那么的简单,给我你的IP,建立socket,让我们互相通信,建立信任,然而这一切就快结束,随着一个叫IPv6的恶魔的到来。” -- 一个测试工程师的自言自语
说实话,不是所有的IPv6程序都那么糟,就笔者体会而言,至少有两款软件在测试中表现的相当坚挺,分别是MS的SQL server 2005 和 IBM的DB2 9,在这里我要像它们表示下敬意。从另一方面来说,是的,大多数软件(指宣称IPv6 enable的)的表现相当糟糕,这一节就是探讨一些IPv6带来的问题。
其实相比IPv4,IPv6标准本身并没有那么糟糕,问题只在于所有的开发者都对这些规范有自己的理解,而相对年轻的v6还没有所谓的best practice,哪些地址该被支持,网络该如何配置,域名解析如何处理,大多数问题由此而起。
问题一: 我的测试环境在哪里? 要测试,当然要有测试环境,目前大多数公司的生产环境还不是v6的,你不能随随便便要求网管什么的给你打开v6的routing,对大多数大公司来说这是有违政策的,而公司专用的v6实验室排着长长的队,而且用起来麻烦,于是你好不容易说服领导们给了你几个虚拟机和独立的网络专门供你测试v6,忽然发现你还需要一台solaris sparc,这个在x86上没有办法虚拟,怎么办?。。。终于经过你的努力,一切问题都解决了,但是时间已经过去了一个月,而你的测试才刚刚开始。
问题二: 支持v6的工具呢? 想要传个文件?没问题,用FTP,慢着,现有ftp不支持v6,没关系,我们去找一个。某个部件出现问题了?哦,java 1.4在solaris上支持v6,而windows要到1.5,即使1.5也有些问题,最好是1.6。诸如此类,你会发现你往日的一切好工具都不好使了,虽然替代品总能找到,但是时间啊时间。
问题三: v6? V4? v6/v4 ? Windows? Unix? Linux?
用户对CEO说我们需要v6,用户又说我们不会一下子转到v6,我们需要同时兼容v4/v6,用户还说我们不关心软件是在用v4还是v6,对我们来说他们该是透明的。于是CEO对VP说,VP对Director....最后经理对我说了相同的话。好了,我们需要测试纯v6,我们需要测试混合v4/v6环境,我们还需要测试各种平台,各种功能,各种软件设置。所以开始测试之前,画个表格,好好排列组合,列好长长的计划,深吸一口气,我们就要开始了。
问题四: 一个主机,一个地址? 不!
想象一个很简单的情景,我有一款软件,接受主机名,然后我会把它翻译成IP地址,在v4的时代他们都是一一对应的。但是在v6时代,这点不成立了,一个主机拥有几个IP是很正常的,如果你的程序依赖于前述逻辑来工作,那将是噩梦的开始。
还有很多很多的问题,不一一列举了,也没有必要。这一节的目的是想说明,如果你像我的头头一样,是个测试经理,并且预估你的IPv6测试将花费1个月,那么最好做3个月的打算,因为这里有太多的unknown unknown。但是也不要惧怕,出现这些问题并不是因为IPv6不好,而是因为它还不够成熟,找出问题,正是我们测试工程师的使命。待续。 |
|