Table of Contents
- Test strategy
- Test tactics
- Test cases (mapped to use cases)
- Smoke
- Smoke test 1: CI/CD pipeline
- Smoke test 2: Docker image build process
- Smoke test 3: Helm chart deployment
- Regression
- Regression test 1: CI/CD pipeline
- Regression test 2: Docker image build process
- Regression test 3: Helm chart deployment
- Edge cases
Test strategy
The test strategy for gitjet.ru will involve the following steps:
- Unit testing of core components (CI/CD pipeline, Docker image build process, Helm chart deployment)
- Integration testing between the components
- Manual rollout testing to ensure platform stability and functionality
Test tactics
The test tactics for gitjet.ru will involve the following techniques:
- Black box testing: Testing without prior knowledge of the system architecture or implementation details
- White box testing: Testing with prior knowledge of the system architecture and implementation details
- 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:
- Trigger a new commit to the
mainbranch of the gitjet/core-scm repository. - 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:
- Execute the
core-scm/deploy/helm-upgrade-k3s-lab.shscript to manually roll out the platform changes. - Verify that the platform is deployed correctly using Helm charts.
Smoke
The smoke tests for gitjet.ru will involve the following components:
- CI/CD pipeline (defined in
.gitjet/workflows/core-scm-production.yml) - Docker image build process
- 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:
- Trigger a new commit to the
mainbranch of the gitjet/core-scm repository. - 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:
- Build a new Docker image using the
docker buildcommand. - 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:
- Deploy the platform using Helm charts.
- Verify that the platform is deployed successfully.
Regression
The regression tests for gitjet.ru will involve the following components:
- CI/CD pipeline (defined in
.gitjet/workflows/core-scm-production.yml) - Docker image build process
- 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:
- Introduce an error in the
.gitjet/workflows/core-scm-production.ymlfile. - Trigger a new commit to the
mainbranch of the gitjet/core-scm repository. - 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:
- Introduce an error in the
Dockerfileof the gitjet/core-scm repository. - Build a new Docker image using the
docker buildcommand. - 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:
- Introduce an error in the
Chart.yamlfile of the gitjet/core-scm repository. - Deploy the platform using Helm charts.
- 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:
- CI/CD pipeline (defined in
.gitjet/workflows/core-scm-production.yml) - Docker image build process
- 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:
- Trigger multiple new commits to the
mainbranch of the gitjet/core-scm repository. - 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:
- Build a large Docker image using the
docker buildcommand. - 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:
- Deploy the platform using Helm charts multiple times.
- Verify that the platform is deployed successfully and handles multiple releases correctly.