分布式测试要点总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
鉴于分布式系统的特点,因此对于此类系统的测试也有特殊的要求,比如实时性,动态性,分布性,
以及系统的容错能力和数据的一致性。
分布式系统的功能测试:
在整个测试的执行过程中,我们需要注意的一个重点问题是对测试结果的分析。分布式测试的重点
在于对后端服务器集群的测试,测试完以后可以从以下几方面来分析判定系统中是否存在bug:
1. 观察前端应用的返回结果。分两种情况来考虑:
a. 按照前端应用业务功能点及流程进行操作,观察返回结果是否符合业务方的需求预期;
b. 操作后端的服务器(通常是重启、宕机、断网等操作),观察前端应用的返回结果是否符合系
统的设计需求。
2. 分析服务器日志。在功能测试的过程中,为了便于分析日志和定位问题,在启动服务器的时候,
一般将日志级别设置成Debug级别(最低级别)。
3. 分析操作系统的一些重要信息。通过分析操作系统的重要数据信息进行分析,从而来诊断服务器
程序是否存在异常,linux系统下常用的命令有:top命令、netstat命令及sar命令等。
4. 借助其他分析工具。例如判断服务器程序内存泄露问题,常借助于内存检测工具来分析。linux
环境下,常用Valgrind(官网:/)来检测内存。
分布式系统的压力测试和性能测试
难点:数据准备和性能或压力测试工具
基于这两点我们需要做的是,深入分析系统的架构设计,设计好测试场景。性能或压力测试最好根据
测试的需求来开发具体的测试工具。这时要重点关注两个问题:第一,一些关键数据的收集方式与计算,例
如,TPS(每秒请求数)、Throughput(吞吐量)计算的准确性;第二,要保证性能测试工具的性能。(降低
测试的成本)
分布式系统的自动化测试
测试结果验证复杂,对于分布式系统的自动化测试,需要通过测试脚本来收集各种测试结果数据以验证
测试结果的正确性,可以将数据收集部分模块化。例如,设计个日志分析模块,主要复杂从服务器应用程序
的日志中收集相应的数据进行对比验证。(自动化测试框架:STAF,官方网站:/)