dubbo-samples icon indicating copy to clipboard operation
dubbo-samples copied to clipboard

OSPP 基于Kubernetes的统一测试平台

Open Phixsura opened this issue 1 year ago • 1 comments

提案

项目简介

Dubbo作为⼀个与⽤户息息相关的开发框架,在迭代过程中出现任何问题都可能对⽤户产⽣巨⼤的影响。 因此,Dubbo 需要⼀套完整的⾃动化回归测试⼯具。⽬前 Dubbo 其实已经有⼀套基于 docker-compose 的测试⼯具,但是这套⼯具⽆法测试 kubernetes 环境下的兼容性。 同时,我们也需要⼀个更加可靠的测试⽤例构建体系(包括 Kubernetes API Server、Mesh 等)来保证测试⽤例⾜够完整。

期望产出

实现对Dubbo在Kubernetes环境下的兼容性测试,提⾼Dubbo在复杂部署环境中的稳定性 通过与Kubernetes API Server的协同测试,验证Dubbo与Kuberentes的集成⼯作正常 ⽀持Dubbo在XDS Mesh下的测试,确保其与Istio等服务⽹络的集成正确性 ⽣成详尽的测试报告,帮助开发者分析测试结果并及时解决问题,提⾼Dubbo的质量和可靠性 提供⼀个良好可读的⽂档,讲述测试框架的使⽤⽅式、架构、原理等

时间规划

  • 和导师确定测试框架升级的具体技术⽅案和所需资源(1周)7.9-7.16 分析Dubbo集成测试框架的架构和功能需求 确定使⽤的Kuberentes发⾏版版本并安装和配置Kubernetes集群 确定与Kubenetes API Server和XDS Mesh集成所需的⼯具和库

  • 升级测试环境(4周)7.16-8.3 设计基于Kubernetes的集成测试框架的架构和功能需要。 对Dubbo集成测试框架进⾏改进和升级,以⽀持可以读取项⽬下Kuberntes的配置⽂件解析后构建所需要的测试环境和端⼝配置等,⽀持在Kubernetes环境中部署运⾏测试⽤例。 通过确定好的⼯具库,使得测试框架能够与Kubernetes API Server和XDS Mesh进⾏交互,⽀持配置⽂件中定义XDS Mesh⾃动部署,确保Dubbo服务与Kubernetes正常交互和Mesh环境继承正常.

  • 编写和更新测试⽤例(4周)8.4-8.24 根据Dubbo的功能和集成需求,编写针对Kuberntes环境和XDS Mesh的更多测试⽤例 验证测试⽤例在Kubernetes集群中的执⾏并确保与Kubenetes API Server和XDSMesh的交互正常,保证集成测试的正确性和可靠性。 收集和分析测试结果,修复和调整测试⽤例和框架代码,以提⾼测试的覆盖率和质量

  • 完成框架升级和⽂档编写(2周)8.24- 完成Dubbo集成测试框架的升级和改进,并进⾏全⾯测试和验证 编写详细的框架⽂档,包括安装、配置和使⽤指南,以便开发者能够正常使⽤框架进⾏测试

  • 运⾏实际测试和持续改进(持续进⾏) 运⾏实际的Dubbo集成测试,收集和分析测试结果 根据测试结果,及时修复和调整Dubbo集成测试的代码和配置持续改进测试框架,以满⾜不断变化的需求

若完成进度快,将提前完成后面的内容

Proposal

Project Overview

Dubbo, as a development framework closely related to users, can have a significant impact on users if any issues arise during its iterations. Therefore, Dubbo needs a comprehensive automated regression testing tool. Currently, Dubbo already has a set of testing tools based on docker-compose, but this toolset cannot test compatibility in a Kubernetes environment. Additionally, we also need a more reliable test case building system (including Kubernetes API Server, Mesh, etc.) to ensure that the test cases are comprehensive enough.

Expected Deliverables

Implement compatibility testing for Dubbo in a Kubernetes environment, improving Dubbo's stability in complex deployment environments. Verify the integration of Dubbo with Kubernetes through collaborative testing with Kubernetes API Server, ensuring smooth operation. Support testing of Dubbo in an XDS Mesh environment, ensuring its integration correctness with services like Istio. Generate detailed test reports to help developers analyze test results and resolve issues promptly, enhancing the quality and reliability of Dubbo. Provide well-documented instructions explaining the usage, architecture, principles, etc., of the testing framework.

Timeline

  • Confirm the specific technical approach and required resources for upgrading the testing framework with the supervisor (1 week) 7/9-7/16 Analyze the architecture and functional requirements of the Dubbo integration testing framework. Determine the version of Kubernetes release to be used, install and configure the Kubernetes cluster. Identify the necessary tools and libraries for integration with Kubernetes API Server and XDS Mesh.

  • Upgrade the testing environment (4 weeks) 7/16-8/3 Design the architecture and functional requirements of the Kubernetes-based integration testing framework. Improve and upgrade the Dubbo integration testing framework to support the parsing of configuration files under the project, building the required test environment and port configuration, and supporting the deployment and execution of test cases in a Kubernetes environment. Through the identified tool libraries, enable the testing framework to interact with Kubernetes API Server and XDS Mesh, supporting the automatic deployment of XDS Mesh defined in the configuration files, ensuring proper interaction between Dubbo services and Kubernetes, and correct inheritance of the Mesh environment.

  • Write and update test cases (4 weeks) 8/4-8/24 Write additional test cases targeting the Kubernetes environment and XDS Mesh based on Dubbo's functionality and integration requirements. Validate the execution of test cases in the Kubernetes cluster, ensuring proper interaction with Kubernetes API Server and XDS Mesh to ensure the correctness and reliability of integration testing. Collect and analyze test results, fix and adjust test cases and framework code to improve test coverage and quality.

  • Complete framework upgrade and documentation (2 weeks) 8/24- Complete the upgrade and improvement of the Dubbo integration testing framework and conduct comprehensive testing and verification. Write detailed framework documentation, including installation, configuration, and usage guides, to enable developers to effectively use the framework for testing.

  • Perform actual testing and continuous improvement (ongoing) Run actual Dubbo integration testing, collect and analyze test results. Based on the test results, promptly fix and adjust Dubbo integration testing code and configurations, continuously improve the testing framework to meet evolving requirements.

If the progress is faster, the subsequent content will be completed ahead of schedule.

Phixsura avatar Jul 08 '23 06:07 Phixsura

Please translate to English~ :)

AlbumenJ avatar Jul 13 '23 12:07 AlbumenJ