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

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 来行可以搞定

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions