302 Found

Found

The document has moved here.


302 Found

Found

The document has moved here.

登录 | 注册

Hi,欢迎向Builder投稿、爆料

稿件可以直接投递到:builder@zdnet.com.cn,请先阅读投稿需求



302 Found

Found

The document has moved here.

当前位置: 首页 > 编程语言 > 如何把虚拟化应用在分布式系统测试中

如何把虚拟化应用在分布式系统测试中

Builder开发者在线 作者: 张德东【原创】 2013年05月08日 评论(0)
关键词: 虚拟化 测试 2013 QCon 分布式
本文摘要

分布式系统不仅应用在现今的互联网,目前还广泛应用于传统的一些行业,如金融、电力、交通、教育等,一些典型的新技术hadoop、mongoDB、ClOUD FOUNDRY等也是与分布式软件系统紧密联系在一起的。

Builder开发者在线消息 (文/张德东) 分布式系统在现有的IT环境下正变得越来越流行,但分布式系统给软件测试人员也带来了挑战性的问题。以下是作为一个测试人员经常要考虑的情况:如何模拟一个真实的分布式系统场景?如何在快速迭代的过程中去更快地部署我们的被测试系统?如何保持一个更为干净的测试环境?如何在发现缺陷的时候能及时保留以及重现当时的整个服务的运行状况?

虚拟化技术的普及,为解决以上问题提供了思路。利用虚拟化可以实现干净的系统环境,也可以高度定制部署脚本以实现快速的系统部署,既可以无缝集成现有的测试框架,也可以实现测试系统的可扩展性。

基于虚拟化技术的自动化测试环境部署

邵育亮,EMC资深工程师,负责开放API和xHive数据库产品的系统测试工作。在单元测试、接口测试、系统测试以及自动化测试框架开发上有多年的经验。对于SOA架构、数据库系统方面的测试有深入研究。加入EMC之前是土豆网基础架构部门测试负责人,负责土豆网视频CDN系统和分布式转码系统的测试。专注于后台大型分布式系统的系统测试、容量规划和性能调优。开源测试技术的拥趸,提倡用最简单的技术解决问题。

分布式软件系统测试现状

分布式系统不仅应用在现今的互联网,目前还广泛应用于传统的一些行业,如金融、电力、交通、教育等,一些典型的新技术hadoop、mongoDB、ClOUD FOUNDRY等也是与分布式软件系统紧密联系在一起的。这些大型的行业对系统的可靠性要求非常高,因此,在部署实施之前需要测试团队进行系统的、持续的测试。

一个大型的分布式测试系统一般分为组件测试和系统测试,但目前的现状是大部分的测试团队用组件测试代替了系统测试,缺少了系统测试这个环节。究其原因是分布式系统环境搭建复杂且耗时,组件测试更加适应软件版本快速迭代。但这样造成的后果是系统安全问题。只用组件测试不能都保证发现系统bug,因此, 系统测试也是分布式系统的重要一环,不仅“必要”而且是“必须” 的。

另一个常存在的问题是用单一环境进行多种测试,有时大型系统环境搭建复杂,系统级迭代较为缓慢,分工不同的测试团队用单一环境进行测试时,常常会造成系统环境不确定、多种测试相互干扰、无法重现系统状态及无法满足快速迭代的需求。


Tangram:基于虚拟化技术的自动化测试框架

 利用虚拟化技术的优势可以解决常见的软件测试中的问题,越来越多的测试团队在工作中使用了openstack、vmware等虚拟化技术,其解决方案是利用虚拟化技术OS层面的纯净、系统状态的克隆和还原等特性,来自动化部署复杂的分布式系统,同时提供API接口,以方便支持外部测试框架的集成。

测试环境的自动化部署  

一般而言,自动化部署牵涉到以下因素:
•  支持多种CI服务
•  跨产品部署支持
•  多节点与差异化部署
•  与外部测试执行框架无缝整合
•  一次配置,重复使用
•  动态节点扩展     

  • 转发 腾讯微博 推荐到豆瓣豆瓣 人人网 网易
  • 本文关键词: 虚拟化 测试 2013 QCon 分布式
  • 邮件订阅

订阅builder.com.cn技术邮件

《应用开发管理周刊》

邮箱地址:
  • 热门评论
  • 推荐