update testing guide structure by charles

This commit is contained in:
Feng Chao 2025-01-16 18:08:07 +08:00
parent 33f0b8567f
commit 24db39d4ce
1 changed files with 29 additions and 32 deletions

View File

@ -3,13 +3,12 @@
1. [Introduction](#1-introduction) 1. [Introduction](#1-introduction)
1. [Prerequisites](#2-prerequisites) 1. [Prerequisites](#2-prerequisites)
1. [Testing Guide](#3-testing-guide) 1. [Testing Guide](#3-testing-guide)
- [3.1 CI Test](#31-ci-test) - [3.1 Unit Test](#31-unit-test)
- [3.1.1 Unit Test](#311-unit-test) - [3.2 System Test](#32-system-test)
- [3.1.2 System Test](#312-system-test) - [3.3 Legacy Test](#33-legacy-test)
- [3.1.3 Legacy Test](#313-legacy-test) - [3.4 Smoke Test](#34-smoke-test)
- [3.2 Smoke Test](#32-smoke-test) - [3.5 Chaos Test](#35-chaos-test)
- [3.3 Chaos Test](#33-chaos-test) - [3.6 CI Test](#36-ci-test)
# 1. Introduction # 1. Introduction
@ -54,25 +53,7 @@ make && make install
In `tests` directory, there are different types of tests for TDengine. Below is a brief introduction about how to run them and how to add new cases. In `tests` directory, there are different types of tests for TDengine. Below is a brief introduction about how to run them and how to add new cases.
### 3.1 Unit Test
## 3.1 CI Test
CI testing (Continuous Integration testing), is an important practice in software development that aims to automate frequent integration of code into a shared codebase, build and test it to ensure code quality and stability. TDengine CI testing includes three part of test cases: unit test、system test and legacy test
### How to run all CI test cases?
If this is the first time to run all the CI test cases, it is recommended to add the test branch, please run it with following commands:
```bash
cd tests
./run_all_ci_cases.sh -b main # on main branch
```
### How to add new cases?
You can refer the below child sections to add new test cases for CI test.
### 3.1.1 Unit Test
Unit test script is the smallest testable part and developed for some function, method or class of TDengine. Unit test script is the smallest testable part and developed for some function, method or class of TDengine.
@ -90,7 +71,7 @@ cd tests/unit-test/
bash test.sh -e 0 bash test.sh -e 0
``` ```
#### How to add new cases? #### How to add new cases? {#test-id}
<details> <details>
@ -120,7 +101,7 @@ Use the add_test command to add new compiled test cases into CI test collection,
</details> </details>
## 3.1.2 System Test ## 3.2 System Test
Python test script includes all of the functions of TDengine OSS, so some test case maybe fail cause the function only Python test script includes all of the functions of TDengine OSS, so some test case maybe fail cause the function only
work for TDengine Enterprise Edition. work for TDengine Enterprise Edition.
@ -169,8 +150,7 @@ Use the add_test command to add new compiled test cases into CI test collection,
</details> </details>
## 3.3 Legacy Test
## 3.1.3 Legacy Test
In the early stage of TDengine development, test cases are run by an internal test framework called TSIM, which is developed in C++. In the early stage of TDengine development, test cases are run by an internal test framework called TSIM, which is developed in C++.
@ -195,7 +175,7 @@ cd tests
> [!NOTE] > [!NOTE]
> TSIM test framwork is replaced by system test currently, suggest to add new test scripts to system test, you can refer [System Test](#312-system-test) for detail steps. > TSIM test framwork is replaced by system test currently, suggest to add new test scripts to system test, you can refer [System Test](#312-system-test) for detail steps.
## 3.2 Smoke Test ## 3.4 Smoke Test
Smoke test script is from system test and known as sanity testing to ensure that the critical functionalities of TDengine. Smoke test script is from system test and known as sanity testing to ensure that the critical functionalities of TDengine.
@ -210,7 +190,7 @@ cd /root/TDengine/packaging/smokeTest
You can update python commands part of test_smoking_selfhost.sh file to add any system test case into smoke test. You can update python commands part of test_smoking_selfhost.sh file to add any system test case into smoke test.
## 3.3 Chaos Test ## 3.5 Chaos Test
A simple tool to exercise various functions of the system in a randomized fashion, hoping to expose maximum number of problems without a pre-determined scenario. A simple tool to exercise various functions of the system in a randomized fashion, hoping to expose maximum number of problems without a pre-determined scenario.
@ -225,3 +205,20 @@ python3 auto_crash_gen.py
Add a function, such as TaskCreateNewFunction, to pytest/crash_gen/crash_gen_main.py. Add a function, such as TaskCreateNewFunction, to pytest/crash_gen/crash_gen_main.py.
Integrate TaskCreateNewFunction into the balance_pickTaskType function in crash_gen_main.py. Integrate TaskCreateNewFunction into the balance_pickTaskType function in crash_gen_main.py.
## 3.6 CI Test
CI testing (Continuous Integration testing), is an important practice in software development that aims to automate frequent integration of code into a shared codebase, build and test it to ensure code quality and stability. TDengine CI testing includes three part of test cases: unit test、system test and legacy test
### How to run all CI test cases?
If this is the first time to run all the CI test cases, it is recommended to add the test branch, please run it with following commands:
```bash
cd tests
./run_all_ci_cases.sh -b main # on main branch
```
### How to add new cases?
You can refer the [Unit Test](#31-unit-test)、[System Test](#32-system-test) and [Legacy Test](#33-legacy-test) sections for detail steps to add new test cases for CI test.