What is DevOps Continuous Testing and Piping Testing?
I hope everyone has
enjoyed the last tutorial on the current implementation of DevOps.
We know that the
importance of testing in all software deliveries and DevOps is a short delivery
cycle, so it is impossible to manually run all the test cases designed at the
same time, when updating a delivery line. Code in the version control tool. The
automated image comes in DevOps.
Benefits of TC:
- · Quality and speed are the enormous benefits of CT.
- · Comments are getting faster in the code.
- · Improves team confidence and encourages continuous improvement.
transcription:
In this group, we
will study in detail the continuous tests and the continuous tests of the
pipes.
Continuous testing is
another important process of continuous pipeline distribution, associated with continuous
integration, and includes several test steps in which automated tests are
performed with automatic quality controls between them.
Therefore, the
continuous test consists in the implementation of automated, frequent and
repeated tests, in comparison with the base code and the different publication
environments.
load tests and
performance are some of the ongoing tests carried out in the line of continuous
automated tests.
It is also called
continuous integration and continuous diffusion of CI, CD, often called
continuous testing as CT.
If you see this plan,
a continuous pipeline to connect, this pipeline includes two pipes, including a
construction pipeline that is an IC pipe or an integrated continuous pipeline,
which includes a construction engine, assembly, construction and deployment.
The other is the test
pipe, a continuous test pipe.
Let's see more about
the continuous tests.
We know how important
it is to test and test each line of code ... Test every time ... When
performing tests in different stages, it is almost impossible to run all
manually designed tests every time a line of code is updated in the control of
versions.
This is where the
continuous test comes in.
Therefore, unless the
code that enters continuous and continuous automatic piping is fully tested and
guarantees the required quality, you do not need to run the program on the
clients. I mean, quality can only be guaranteed if the code is carefully
tested.
Therefore, continuous
tests, as defined above, consist of the implementation of several types of
tests, permanently based on the code and in different implemented environments,
as they are predetermined and designed in a continuous delivery line.
As you can see in the
image, unit tests are performed on the CI server itself, which tests each unit
of the system in isolation.
Integration tests are
performed in the integration environment performed mainly by the integrated
components. System tests in the system test environment, where the BIG system
is tested with all integrated components and interfaces through system
scenarios in the system test environment, etc.
The depth of the test
often develops when the environment simulates production.
Continuous testing
becomes increasingly stringent as the production environment progresses. We
must progressively add more complex tests as the code matures and the
complexity of the environment becomes more complex. .
Although the same
test cases will be executed, they must be updated in each step and the
automated scripts updated. The code becomes more advanced and moves to a higher
level of environment where configurations and infrastructure are also
pre-installed. Until it goes into production.
Therefore, the time
required to run the tests increases as the test progresses. For example, unit
tests may take less time to run, while some integration tests, some system
tests, or load tests may take hours or days to complete.
Here, the continuous
test will consist in the automatic execution of automatic test cases with the
operator. But as mentioned above, the continuous delivery also includes some
tests and manual portals, some tests that are done manually, before payment in
production.
These doors of
intermediate quality in each stage of the test increase the confidence in the
code.