📜 ⬆️ ⬇️

OpenStack Test Automation

image

Today, the problem of manual execution of testing processes is one of the most urgent due to the detection of many errors at the implementation stage.

This publication proposes an approach to automating the testing of OpenStack, which will help increase the quality and speed of software development based on OpenStack, as well as reduce the time it takes to introduce IT products.

The beginning describes the process of automation itself with diagrams and diagrams. After describing the process, we consider the tools that are designed to automate the testing of OpenStack.

Build an OpenStack Testing Automation Process
')
This approach is based on continuous testing within the framework of continuous software delivery. Continuous testing allows you to stabilize and improve the quality of the code. Since Since any application begins with development, it is necessary to implement full-fledged testing in development cycles.

Stages :

  1. The developer makes the change;
  2. In this change, the version control system checks the syntax of the code;
  3. The change falls into the developer branch;
  4. The testing process on the CHECK environment starts:

    1. Unfolding environment
    2. Deploy
    3. Running tests to check the syntax of the code
    4. Running unit tests
    5. Deleting environment

  5. Creating a request to merge into the main branch of the project;
  6. The change falls into the main branch of the version control system;
  7. The testing process starts on the DEV environment.

    1. Deploy on DEVELOPMENT environment
    2. Running unit tests
    3. Run acceptance tests for new functionality
    4. Running smoke tests

  8. With the availability of all the necessary functionality

    1. Creating a new software version

  9. The testing process starts on QA environment.

    1. Deploy on QA environment
    2. Parallel testing of new functionality by a quality assurance engineer
    3. Running tests to check the infrastructure of the environment
    4. Running Functional Tests
    5. Running load tests

  10. Starting the process of introducing a new version in the PRODUCTION environment

    1. Deploy on the combat environment
    2. Running tests to check the main functionality


Scheme 1. Process automation test OpenStack

image

Fig.1. Activity diagram of the first pipeline for testing on CHECK and DEV environments

image

Fig.2. Second pipeline activity diagram for QA testing and deployment on the PRODUCTION environment

image

Fig.3. General diagram of the automation process of testing OpenStack

image

Steps in case of unsuccessful execution of one of the testing stages

Passing through the testing stages does not guarantee an immediate successful result, since A new functionality can be incorrectly implemented or when a new change has affected the operation of another software functionality. For a quicker solution to the problems it is recommended to use a notification system, and preferably several.

In the proposed, in this paper, the method of automating the testing process is proposed to use the following methods of notification:


In addition to using the notification system, it will also be effective to use a task management system, where an automatic creation of an error task will occur if an error is found during the software verification phase on the QA environment, and the task is rediscovered by the developer, if the error is found inclusively before the verification phase functional on DEV environment.

Tools

You can use different tools to automate the testing process of OpenStack, but after analyzing, the following tools were identified:

image

The above tools are recommended for building the automation testing process of OpenStack.

The publication turned out to be very cumbersome, but I hope the article will help someone. In the next publication I will describe an example of using this approach in Jenkins CI with detailed guidance on the integration of the above tools.

Source: https://habr.com/ru/post/330776/


All Articles