GitJet repo-doc gitjet/gitjet.ru@fb8ba021
+154
@@ -0,0 +1,154 @@
|
|||||||
|
## Test strategy
|
||||||
|
|
||||||
|
The test strategy for **gitjet.ru** will involve the following steps:
|
||||||
|
|
||||||
|
1. Unit testing of core components (CI/CD pipeline, Docker image build process, Helm chart deployment)
|
||||||
|
2. Integration testing between the components
|
||||||
|
3. Manual rollout testing to ensure platform stability and functionality
|
||||||
|
|
||||||
|
## Test tactics
|
||||||
|
|
||||||
|
The test tactics for **gitjet.ru** will involve the following techniques:
|
||||||
|
|
||||||
|
1. Black box testing: Testing without prior knowledge of the system architecture or implementation details
|
||||||
|
2. White box testing: Testing with prior knowledge of the system architecture and implementation details
|
||||||
|
3. Regression testing: Testing against known issues to ensure that new changes do not introduce regressions
|
||||||
|
|
||||||
|
## Test cases (mapped to use cases)
|
||||||
|
|
||||||
|
### Use case 1: Deploying Platform via CI/CD Pipeline
|
||||||
|
|
||||||
|
**Test case:** Verify that the CI/CD pipeline correctly builds and publishes Docker images to the private registry.
|
||||||
|
|
||||||
|
**Tactic:** Black box testing
|
||||||
|
|
||||||
|
**Steps:**
|
||||||
|
1. Trigger a new commit to the `main` branch of the **[gitjet/core-scm](../core-scm)** repository.
|
||||||
|
2. Verify that the CI/CD pipeline builds and publishes Docker images to the private registry.
|
||||||
|
|
||||||
|
### Use case 2: Manual Rollout of Platform
|
||||||
|
|
||||||
|
**Test case:** Verify that the manual rollout script correctly deploys the platform changes.
|
||||||
|
|
||||||
|
**Tactic:** White box testing
|
||||||
|
|
||||||
|
**Steps:**
|
||||||
|
1. Execute the `core-scm/deploy/helm-upgrade-k3s-lab.sh` script to manually roll out the platform changes.
|
||||||
|
2. Verify that the platform is deployed correctly using Helm charts.
|
||||||
|
|
||||||
|
## Smoke
|
||||||
|
|
||||||
|
The smoke tests for **gitjet.ru** will involve the following components:
|
||||||
|
|
||||||
|
1. CI/CD pipeline (defined in `.gitjet/workflows/core-scm-production.yml`)
|
||||||
|
2. Docker image build process
|
||||||
|
3. Helm chart deployment
|
||||||
|
|
||||||
|
### Smoke test 1: CI/CD pipeline
|
||||||
|
|
||||||
|
**Test case:** Verify that the CI/CD pipeline is correctly configured and running.
|
||||||
|
|
||||||
|
**Tactic:** Black box testing
|
||||||
|
|
||||||
|
**Steps:**
|
||||||
|
1. Trigger a new commit to the `main` branch of the **[gitjet/core-scm](../core-scm)** repository.
|
||||||
|
2. Wait for the CI/CD pipeline to complete successfully.
|
||||||
|
|
||||||
|
### Smoke test 2: Docker image build process
|
||||||
|
|
||||||
|
**Test case:** Verify that the Docker image build process is correctly configured and running.
|
||||||
|
|
||||||
|
**Tactic:** Black box testing
|
||||||
|
|
||||||
|
**Steps:**
|
||||||
|
1. Build a new Docker image using the `docker build` command.
|
||||||
|
2. Verify that the image is built successfully.
|
||||||
|
|
||||||
|
### Smoke test 3: Helm chart deployment
|
||||||
|
|
||||||
|
**Test case:** Verify that the Helm chart deployment process is correctly configured and running.
|
||||||
|
|
||||||
|
**Tactic:** Black box testing
|
||||||
|
|
||||||
|
**Steps:**
|
||||||
|
1. Deploy the platform using Helm charts.
|
||||||
|
2. Verify that the platform is deployed successfully.
|
||||||
|
|
||||||
|
## Regression
|
||||||
|
|
||||||
|
The regression tests for **gitjet.ru** will involve the following components:
|
||||||
|
|
||||||
|
1. CI/CD pipeline (defined in `.gitjet/workflows/core-scm-production.yml`)
|
||||||
|
2. Docker image build process
|
||||||
|
3. Helm chart deployment
|
||||||
|
|
||||||
|
### Regression test 1: CI/CD pipeline
|
||||||
|
|
||||||
|
**Test case:** Verify that the CI/CD pipeline correctly handles errors and failures during the build and publish process.
|
||||||
|
|
||||||
|
**Tactic:** White box testing
|
||||||
|
|
||||||
|
**Steps:**
|
||||||
|
1. Introduce an error in the `.gitjet/workflows/core-scm-production.yml` file.
|
||||||
|
2. Trigger a new commit to the `main` branch of the **[gitjet/core-scm](../core-scm)** repository.
|
||||||
|
3. Verify that the CI/CD pipeline handles errors and failures correctly.
|
||||||
|
|
||||||
|
### Regression test 2: Docker image build process
|
||||||
|
|
||||||
|
**Test case:** Verify that the Docker image build process correctly handles errors and failures during the build process.
|
||||||
|
|
||||||
|
**Tactic:** White box testing
|
||||||
|
|
||||||
|
**Steps:**
|
||||||
|
1. Introduce an error in the `Dockerfile` of the **[gitjet/core-scm](../core-scm)** repository.
|
||||||
|
2. Build a new Docker image using the `docker build` command.
|
||||||
|
3. Verify that the image is built successfully and handles errors and failures correctly.
|
||||||
|
|
||||||
|
### Regression test 3: Helm chart deployment
|
||||||
|
|
||||||
|
**Test case:** Verify that the Helm chart deployment process correctly handles errors and failures during the deployment process.
|
||||||
|
|
||||||
|
**Tactic:** White box testing
|
||||||
|
|
||||||
|
**Steps:**
|
||||||
|
1. Introduce an error in the `Chart.yaml` file of the **[gitjet/core-scm](../core-scm)** repository.
|
||||||
|
2. Deploy the platform using Helm charts.
|
||||||
|
3. Verify that the platform is deployed successfully and handles errors and failures correctly.
|
||||||
|
|
||||||
|
## Edge cases
|
||||||
|
|
||||||
|
The edge cases for **gitjet.ru** will involve the following components:
|
||||||
|
|
||||||
|
1. CI/CD pipeline (defined in `.gitjet/workflows/core-scm-production.yml`)
|
||||||
|
2. Docker image build process
|
||||||
|
3. Helm chart deployment
|
||||||
|
|
||||||
|
### Edge case 1: CI/CD pipeline with multiple concurrent builds
|
||||||
|
|
||||||
|
**Test case:** Verify that the CI/CD pipeline handles multiple concurrent builds correctly.
|
||||||
|
|
||||||
|
**Tactic:** White box testing
|
||||||
|
|
||||||
|
**Steps:**
|
||||||
|
1. Trigger multiple new commits to the `main` branch of the **[gitjet/core-scm](../core-scm)** repository.
|
||||||
|
2. Verify that the CI/CD pipeline handles multiple concurrent builds correctly.
|
||||||
|
|
||||||
|
### Edge case 2: Docker image build process with large images
|
||||||
|
|
||||||
|
**Test case:** Verify that the Docker image build process handles large images correctly.
|
||||||
|
|
||||||
|
**Tactic:** White box testing
|
||||||
|
|
||||||
|
**Steps:**
|
||||||
|
1. Build a large Docker image using the `docker build` command.
|
||||||
|
2. Verify that the image is built successfully and handles large images correctly.
|
||||||
|
|
||||||
|
### Edge case 3: Helm chart deployment with multiple releases
|
||||||
|
|
||||||
|
**Test case:** Verify that the Helm chart deployment process handles multiple releases correctly.
|
||||||
|
|
||||||
|
**Tactic:** White box testing
|
||||||
|
|
||||||
|
**Steps:**
|
||||||
|
1. Deploy the platform using Helm charts multiple times.
|
||||||
|
2. Verify that the platform is deployed successfully and handles multiple releases correctly.
|
||||||
Reference in New Issue
Block a user