您的位置: 网界网 > 软件 > 正文

软件测试人员要开始重视分布式数据库了

2015年08月30日 17:54:01 | 作者:Wayne Kernochan | 来源:TechTarget中国

摘要:分布在多个IT基础设施上的数据让软件测试变的困难。虚拟化新技术提供了一些环节问题的方案。

标签
沙盒
数据虚拟化
分布式数据库

分布在多个IT基础设施上的数据让软件测试变的困难。虚拟化新技术提供了一些环节问题的方案。

软件开发测试阶段变得越来越困难。沙盒、容器和数据虚拟化将是软件测试问题的解药。

应用程序不仅是物理和地理位置上相互关联,同时还必须处理一些跨越组织边界的场景,如公有和私有云[注]软件。涉及到数据访问的应用场景时尤其如此:从社交媒体和公有云[注]获得的数据必须成为传统数据仓库和商业智能应用的一部分。

最好的测试环境,是将正式环境做一个完全镜像。要如何才能通过一个远程服务或者一部分软件设计就能抽象出物理硬件的所有细节?

试试采用分布式数据库、沙盒、容器和数据虚拟化来解决这些问题,能够更好的提供更接近服务实际情况的测试环境。

沙盒测试

进行软件测试时,把该服务器从运行环境中隔离出来,在以前是件难事。在同一台硬件上运行企业级应用程序测试,会大大增加生产环境停机的可能性。

现在虚拟化技术已经可以实现硬件与软件的隔离。测试人员在一个看起来像正式运行环境的沙箱中操作——事实上这就是运行环境的一部分,而企业应用程序则安全运行,犹如沙盒不存在一样。

随着分布式数据库的使用,应用程序、数据库和数据库的数据存储分区都运行在不同的硬件上;实际的测试架构则更为复杂。尽管如此,方法是想通的:在每台服务器上创建包含测试应用程序的沙盒、数据库和数据存储,然后假设沙盒控制着整台机器那样运行测试。

软件测试沙盒技术可能是目前可以得到的最接近真实运行环境的方案。沙盒只使用每台服务器的一部分资源;但应用程序的实际运行常常只用到类似的部分。

容器与应用程序性能

虚拟机有很多有点,但它被设计为运行在一个OS内核上,无法运行在同一台服务器上或者被OS优化。这样会导致性能、费用的显著增加,使得其难以在运行测试期间更精确的模拟运行性能。

容器的作用就像虚拟机,但可以使用相同操作系统的内核,并且在较低的级别访问内核。因此,考虑到在z/OS内核上运行Linux系统的代价,容器可以实现接近原生性能的在虚拟化Linux操作系统上运行Linux应用。这个软件测试技术能够提供更好的模拟运行时性能。

大多数分布式数据库都作为应用程序运行在相同的操作系统上。重新设计应用程序,使其容器化(+微信关注网络世界),接着就可以在沙盒中测试他们,同时还能获得和运行环境一样的性能优势,并更准确的反映出来。

数据虚拟化

数据虚拟化是个特例,但逻辑在于测试需要考虑一些特殊情况,如某些数据库或数据库/数据拷贝不可用——例如镜像存储的两个镜像之一不可用。

数据虚拟化软件可以让其变得姜丹:软件测试人员可以关闭一些数据库拷贝来模拟硬件故障,并要求应用程序对余下的数据库进行分析,重新定义数据虚拟化软件的其余数据库。在数据虚拟化中,应用程序并不关心数据实际驻留在哪个硬件上。

完整的分布式数据库测试

将这种软件测试架构整合起来的一种方法是编写一个服务,可以远程调用测试指令,抽象并实现软件具体位置和架构的用户填充。每个物理位置都有一个代理可以同时模拟应用程序用户输入流,采用沙盒中的容器来完成软件的实际测试。在适当的情况下,采用数据虚拟化软件模拟特定的IT基础设施故障。

参考资料

1.私有云:(Private cloud)是将云基础设施与软硬件资源建立在防火墙内,以供机构或企业内各部门共享数据中心内的资源。私有云完全为特定组织而运作的云端基础设施,管理者可能是组织...详情>>

2.公有云:(Public Cloud)是第三方提供一般公众或大型产业集体使用的云端基础设施,拥有它的组织出售云端服务,系统服务提供者借由租借方式提供客户有能力部署及使用云端服务。它能...详情>>

[责任编辑:软件频道 yu_xiang@cnw.com.cn]

我也说几句

热点排行