Skip to main content
QUICK REVIEW

[论文解读] Opaque Response Generation Enabling Automatic Creation of Virtual Services for Service Virtualisation

Miao Du|arXiv (Cornell University)|Aug 17, 2016
Software System Performance and Reliability参考文献 4被引用 4
一句话总结

本文提出了一种用于自动服务虚拟化的不透明响应生成方法,可在无需专家知识或协议文档的情况下实现虚拟服务的创建。通过聚类交互行为、将传入请求与类似记录的请求匹配,并实时从这些请求中学习以生成准确响应,该方法实现了超过99%的平均准确率,从而支持DevOps友好的、类生产环境的测试。

ABSTRACT

Service virtualisation is a method to create virtual service models that can mimic interaction behaviors between a system under test and the target system. With service virtualisation, the development team can get access to the production-like conditions whenever and however many times they need, enabling frequent and comprehensive testing. Previous techniques for service virtualisation have relied on explicitly modelling the target services by a service expert and require detailed knowledge of message protocol and structure. However, neither of these are necessarily available. In this thesis, we introduce our novel opaque response generation approach. This approach enables services to be virtualised automatically without any expert knowledge or documentation of system protocol and interaction behaviours. Given a collection of interactions exchanged between a system under test and a target real service, our approach can 1) organise the same type of interactions into the same cluster and derive a cluster prototype for each cluster; 2) search a given incoming request for its the most similar request in the interaction library; 3) learn knowledge from the incoming request and the recorded interaction; and 4) generate a response. A framework and proof-of-concept implementation of our opaque response generation approach is described. Experimental results show our opaque response generation approach is able to automatically generate accurate responses in real time with an accuracy rate over 99% on average.

研究动机与目标

  • 为解决因依赖外部服务而导致软件系统难以独立测试的挑战。
  • 消除在服务虚拟化中对专家逆向工程或详细协议文档的需求。
  • 仅通过观察到的交互行为,实现实时、自动的准确虚拟服务响应生成。
  • 通过提供按需的、类生产环境的测试环境,支持持续集成和DevOps实践。

提出的方法

  • 使用相似性度量将记录的流量中的相似交互聚类为组。
  • 为每个交互聚类推导出一个聚类原型(例如质心),以代表典型行为。
  • 使用基于相似性的搜索机制,将传入请求与最相似的记录请求进行匹配。
  • 从匹配请求及其关联响应中学习,以生成新的、上下文相关的响应。
  • 应用共识原型方法以提高响应生成的准确率和鲁棒性。
  • 使用网络追踪数据实现一个概念验证框架,以在实时服务仿真中验证该方法。

实验结果

研究问题

  • RQ1是否可以在不了解消息协议或系统行为的前提下实现服务虚拟化?
  • RQ2仅通过观察到的交互追踪,虚拟服务能以多高的准确率生成响应?
  • RQ3哪些聚类和匹配技术能够实现实时、准确的响应生成?
  • RQ4不透明响应生成方法在动态或复杂交互工作负载下的可扩展性和性能表现如何?
  • RQ5该方法是否能在多种服务类型和交互模式下保持高准确率?

主要发现

  • 不透明响应生成方法在实时测试场景中实现了超过99%的平均响应准确率。
  • 该方法成功在无需协议文档或专家逆向工程的情况下生成了准确的虚拟服务响应。
  • 聚类质心和共识原型技术显著提升了响应生成的效率和鲁棒性。
  • 该框架通过从捕获的网络追踪中仿真类生产环境的服务行为,支持持续、按需的测试。
  • 该方法在多种服务交互中均表现有效,包括Twitter API调用,如用户时间线、微博检索和好友关系等。
  • 实现结果表明该方法在DevOps环境中具备可行性与可扩展性,可在无需访问生产系统的情况下实现频繁且全面的测试。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。