Skip to content
This repository was archived by the owner on Dec 9, 2024. It is now read-only.
This repository was archived by the owner on Dec 9, 2024. It is now read-only.

编写维护测试用例时遇到的若干问题记录 #321

@cosven

Description

@cosven

概述

  • 用例运行 问题比较多,挺影响效率的
  • 用例实现 方面问题虽然有,但相对是可控的

用例运行

  • A 想让一个用例运行 长期 在不同配置/分支的 TiDB 集群上、目前需要写上百行的 yaml 文件
    • 举个例子
      • add argo files for bank2-compaction #320 这个 PR 其实只是想修改 TiDB 集群配置,让 bank2 用例运行在不同配置的集群上,但是却需要自己编写 5 个文件,效率很低,以后维护也比较困难。
    • 期望
      • 流程更简单、更加可维护
  • B feature 开关不能很好的组合
  • C case 运行结果报告的 展示通知

注:tipocket 虽然提供了 matrix,但它也有几个问题

  1. 没有很好的实践
  2. matrix 似乎是纯随机的,而现阶段确定性需求更高一点

用例实现

  • Z 编写一个用例,代码和流程比较复杂
  1. 编写完用例后,需要编写相应的 yaml 文件
    1. yaml 文件大部分内容是 重复 的,而且文件行数比较多,编写、review、维护 都很心累
  2. 对于自调度的用例。它们也是实现 Client interface 的方式,这带来两个问题
    1. NextRequest / DumpState / Invoke / Start 等方法,代码看起来不太优雅
    2. 目前这种 Client interface 的模式,很多用例把逻辑都塞在 Start 函数里面
  • 期望:
    1. 代码能够更加简洁(对于自调度的用例,能不能实现一个更简单的 client interface?)
    2. 不需要编写上百行的配置,只需要 10 来行可以搞定

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions