良好的测试数据对数据中心来说十分宝贵。开发人员需要一致的、可重复、可靠的大型机测试以确保代码的运行质量;维护程序员使用测试数据来重现并解决问题;容量规划人员、数据库管理员以及性能分析师需要数据来模拟并预测生产行为。

大型机测试数据不易获取。应用程序开发小组需要可以快速反复刷新、定制而且具有一致性的数据。代码开发者需要有隔离的数据集以保证测试周期不冲突。结果是,程序员或他们的数据库管理员需要花费大量时间克隆、清除以及定制适合每个开发周期的数据。

维护程序员也有自己的问题。在测试环境中重现生产环境上的一个问题,并不只是简单将用户数据库中的数据导入。生产环境数据库通常包含关系错综复杂的表关联——任何不一致都可能导致应用程序出错。如果遗漏了特定的表、字段,都可能无法重现问题。

系统程序员总是试图从测试数据是推测生产环境的性能。但这通常都不起作用。大型机测试数据存储往往比真实的数据与处理过程少得多。例如,一张存放在大型机上的测试表只有2000行数据,而生产表则超过十亿行数据。

测试系统的安全性比生产环境宽松很多。这也是方便程序员和管理员更快的做好事情,但低安全性可能导致用户的私人信息(PII)泄漏,因为这些东西在生产环境中是不允许接触和滥用的。

自己想办法

有不少方法可以在不同复杂度与费用级别上攻击大型机测试问题。维护程序员需要两样东西:一个是提取来自生产环境的准确数据,另一个是将其加载到测试环境。面临的挑战是确保来自生产环境的数据中所需的内容是内部一致的。任何一个数据项的缺失都可能导致测试失效,甚至可能会导致验证时间超出预期。

有一些数据库实用程序可以减轻这些维护压力,保证RYO测试。可以采用数据库实用工具对生产环境上的数据进行卸载,并传输和加载到测试数据库。聪明的程序员可以通过逆向工程品比之前的测试数据。

数据屏蔽涉及到覆盖PII——姓名、地址、社会保险号——并通过随机生成的数据取代。通过安全部门来确定包含PII的字段,并生成规则来确保匿名性。最困难的部分在于确保所有相关字段都拥有相同的随机值。内部数据一致性是关键。

最便宜的解决方案是开发一套原生工具。开发人员创建自定义工具来生成测试数据,添加或修改字段。对于周期性大型机测试,可以使用工具将数据从同一个来源进行复制,并为其定义特定的开发流。

大型机测试工具

最接近数据的人,同样也是最适合操作数据的。然而,尽管RYO节约了资金,这也意味着那些被用户要求增加功能的程序员,需要投入时间去创造一些其他可以售出的东西。RYO工具同样需要大量的维护,这会根据不同应用和基础数据量级而有所不同。从厂商获得大型机测试工具可能是更经济也更高效的选择。

测试数据管理工具包括IBM的Optim,DataVantage支持z/OS的产品,Grid Tools的Datamaker套件,Informatica TDM,Compuware的File-AID基础产品等等。这些东距可能提供混合的功能与自动化。

仅仅因为有个开箱即用的测试工具,并不意味着工作就此结束了。程序员面临着告诉工具哪个数据库需要复制,它们之间的相互关系,以及是否需要屏蔽数据,哪些字段需要填充等任务。

一款商业工具,维护应该是轻松的,比开发周期长的自主研发程序更好用。工具的维护更新需要能够继承规则,并且能反映应用程序更改。

性能测试

开发性能测试工具是另外一个不同的问题。大多数大型机销售商都不愿意花钱在两个生产环境规模大小的数据中心上进行性能测试。

一些供应商提供从生产系统将DB2数据库访问路径信息同步到测试环境的功能。一旦信息处于测试环境,DB优化器就会选择类似生产环境的方式对数据进行操作。虽然这样可以使得测试更精确,但还是不能解决比生产环境中数据量要小的问题。

关注中国IDC圈官方微信:idc-quan 我们将定期推送IDC产业最新资讯

查看心情排行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党
2017-10-25 17:34:05
整机柜服务器 大型机已“过气”?为何IBM仍然在制造
上周,有关科技股的大消息是IBM的盈利,人们猜测“IBM的转机”来了,这表明他们的首席执行官Ginni Rometty在经历了一场乏善可陈的尝试之后,事情出现了转机。IBM全新的z系 <详情>
2016-08-19 10:46:31
机房建设 云时代的大型机,能否重铸辉煌
曾经的大型机,借助专用的处理器指令集、操作系统和应用软件,铸就了强大的性能,顶尖的品质,成为IT行业最耀眼的明星。但是,由于价格昂贵、占地面积大,专业技术性强,这 <详情>
2016-07-01 17:27:00
大数据资讯 大数据遇上大型机 结果会如何?
好多人说大型机不行了,但我们看到的却是大型机的逆势增长,这说明什么? <详情>