端到端测试覆盖指标与时间感知QoS预测方法研究
1. 端到端测试覆盖指标案例研究
1.1 概念验证实现
为了展示方法的完整性,实现了一个原型,并在开源系统基准和为同一系统设计的端到端(E2E)测试套件上进行了案例研究。具体实现步骤如下:
1. 端点提取(阶段1 - 源代码) :利用开源的JavaParser库解析Java源代码文件,生成抽象语法树(AST),并遍历检测Spring注解(如@GetMapping和@PostMapping),提取相关属性。
2. 端点提取(阶段2 - 日志跟踪) :使用Apache Maven执行JUnit测试套件,从Elasticsearch中提取日志和跟踪信息。借助Elasticsearch Java High - Level REST Client构造查询,检索特定时间戳范围内的日志。
3. 覆盖率计算(阶段3) :集成静态和动态过程的结果,并应用提出的指标进行覆盖率计算。
4. 覆盖率可视化(阶段4) :提供两种可视化方法。实现一个Web应用以可扩展列表视图展示信息,利用Prophet库生成服务依赖图,并使用可视化库进行3D微服务可视化。
1.2 基准和测试套件
采用开源测试平台,包括TrainTicket系统及其相关测试套件。TrainTicket是基于Java Spring框架的微服务火车票预订系统,包含41个基于Java的微服务,使用Apache SkyWalking作为应用性能监控系统。为运行该系统和执行测试,对Tra