Page 52 - 《软件学报》2025年第7期
P. 52

陈元亮 等: 分布式系统动态测试技术研究综述                                                          2973



                          适配方法  人工插桩+  收集负载  人工适配系  统至Erlang  复用已有客  户端应用  复用已有集  成单元测试  手动构建测  试流程  手动建立  时序模型  手动构建差  分测试流程  手动配置映  射规则  人工适配差  异模型  人工构建  API模型  自动化处理  大数据

                       工具扩展性
                         支持的分布式  系统  Cassandra,  HDFS, YARN  RabbitMQ,  Mnesia,  locks, gen  leader  分布式数据传  输系统  HCommon,  HDFS, HBase,  ZooKeeper,  Alluxio  Redis, YCSB等  云原生系统  MapReduce  以太坊网  络 (geth,  OpenEthereum)  HBase, HDFS,  Hive,  Cassandra,  YARN  ZooKeeper,  MongoDB,  Redis  HDFS, YARN,  HBase,  MapReduce,  ZooKeeper  分布式存储  系统






                         复现  能力  手动  分析  手动  分析  手动  分析  手动  分析  手动  分析  手动  分析  手动  分析  手动  分析  手动  分析  手动  分析  手动  分析



                       缺陷发现  判断  准则  节点崩溃+  异常日志  人工构建  检测模型  蜕变测试  测试断言+  性能对比  人工定义系统  配置、断言  阈值检测  差分测试  基于历史缺陷  总结规则  人工定义  检测模型  基于日志建立  权限模型  大数据离  群点分析




                    (续)
                         缺陷  运行时  类型  反馈  一致性、  一致性  鲁棒性  引导  一致性、  偏序关  功能性  系引导  功能、  无  扩展性  功能、  异常状  性能  态引导  功能、  无  性能  性能  无  运行状  功能  态引导  功能  无  一致性  无  权限安全  无  性能  无
                    表 3    分布式系统动态测试技术分类和典型工具  测试输入合成  输入  语法语  协作  维度  义验证  方式  错误  满足  NA  注入  用户  满足  NA  请求  系统  关键消  满足  配置  息同步  系统  满足  NA  配置  系统  满足  NA  配置  错误  时序消  满足  注入  息同步  客户  满足  NA  请求  客户  运行时  NA  请求  验证  错误  满足  NA  注入  用户  满足  NA  请求  客户  满足  NA  请求















                       测试器交互







                         测试  测试器  规模  环境  1物理机  1F+1M  Erlang  1T+1M  虚拟机  GNS3模拟  nT+1M  环境  1物理机  1T+1M  1T+1M 5物理机  20虚拟机  nT+1M  1虚拟机  1T+1M  1物理机  1T+1M  1物理机  1F+1M  1物理机  1T+1M  真实应用  1M  环境
                       系统设置

                         节点  规模  5    4     56    1      5   20    2      3       3      NA     >1 000



                         年份   2020  (ASE)  2020  (OOPSLA)  2020  (Globecom)  2020  (OSDI)  2021  2021  (IJPEDS)  2021  (OSDI)  2021  (SOSP)  2022  (ATC)  2022  (CCS)  2023  (FAST)





                         工具    CoFI [64]  Morpheus [65]  ChaT [66]  Ctests [22]  Frisbee [67]  TGTS [68]  Fluffy [69]  DUPTester [70]  Modulo [71]  MPChecker [72]  Perseus [73]
   47   48   49   50   51   52   53   54   55   56   57