如何对分布式系统进行测试
来源:互联网 发布:普通收据打印软件 编辑:程序博客网 时间:2024/06/10 01:34
如何对分布式系统进行测试
>> 问题摘要
目前分布式系统在产品上的应用比较多,相对而言分布式系统运行环境比较复杂。分布式的一些特点,例如,网络化、开放性、动态性、实时性,使得测试难度加大很多。当前,分布式系统测试的方法比较零散,其中有一些测试方法还有待提高。
>> 问题背景
有以下三个方面研究:异步测试工具、时序控制方法、数据正确性和完整性验证。异步测试工具,在分布式中异步通信较常见,对这块的测试希望更加方便,向自动化方式发展。分布式的数据库存储量是惊人的,对其中数据的正确性完整性的测试尤其重要,同时因为数据量很大,希望能够在处理速度上进行优化,尽可能在短时间内完成处理。
分布式测试环境的初始状态是确定的、已知的,但随着系统的运行,各种动态实体在环境中变化,同时对环境产生影响,使得环境也发生某些变化,这种动态变化带来了不确定性。分布式测试系统必须具有处理这种不确定性的能力。
>> 当前的研究和技术现状
使用系统级别测试,组建大规模的测试集群模拟线上环境,可以在模拟环境中进行压力负载、性能仿真和功能业务联调等方面的测试,以发现在小规模环境中无法发现的问题。
在环境异常场景,利用断链路、容错机制重连机制模拟丢包异常情况;使用模拟和录制回放等手段重现重包问题。利用异步测试框架模拟异步时序混乱情况。对于资源类异常、磁盘读写失败、磁盘满、内存分配失败、带宽资源不足,利用相关的工具可以进行模拟实验。同
时采取注入的方式来模拟更多异常。
>> 技术关键点
1. 预知异常情况:通常会出现预料之外的异常情况,需要能够预知系统运行情况,以便应对突发情况。
2. 大型环境的模拟:有些问题只会在复杂的环境中触发,但构造维护大型环境的成本太高,需要小成本的方法。
3. 非确定性:如何在不影响系统正常执行的前提下,通过技术手段避免由于系统内部并发或并行执行导致的执行非确定性问题。
>> 实现后的价值
硬件和软件资源有限的情况下,提高分布式系统的测试效率以及质量,提高分布式系统测试的深入度,以期发现更多深层次的问题,更早的,更容易的暴露出分布式的问题。
- 如何对分布式系统进行测试
- 系统测试如何进行?
- 如何对算法进行测试
- 如何进行系统测试管理
- 软件测试中如何进行系统测试?
- 性能测试前期,如何对一个系统的并发量进行评估?
- 如何对测试人员进行绩效评定??
- 如何对一个水杯进行测试(转载)
- 转载:如何对一个水杯进行测试
- 如何对Web应用程序进行负载测试
- 如何对测试人员进行量化管理
- 如何对网页进行负载测试
- 如何对测试对象进行定位
- 如何对Android应用程序进行JUnit测试
- 如何对iOS设备进行性能测试
- 如何使用PyCharm对函数进行测试
- 如何对文本框进行功能测试
- 如何对大数据软件产品进行测试?
- 如何将机器学习应用到测试领域
- dojo-散列字面量 数组字面量 函数字面量
- SDK更新時出現的問題 及解決辦法
- warning: unable to bind to property '' on class 'Object' (class is not an IEventDispatcher)
- Listview滚动时出现java.lang.StackOverflowError错误
- 如何对分布式系统进行测试
- netfilter简介
- qt 事务操作
- 我的MyEclipse类文件注释
- struts2<s:iterator>遍历map
- linux shell学习之自动检测并重启httpd服务
- Linux 命令行快捷键 .
- vim : 相依關係: vim-common (= 2:7.2.330-1ubuntu3) 但 2:7.3.035+hg~8fdc12103333-1ubuntu7 卻將被安裝
- 嵌入式 C 语言面试题 (壹)