How to save time and nerves QA?
Zlata Volkova - QA, Kodibox

How to save time and nerves QA?

Kickstarting a blog by landing the first ever article may not seem like a big deal but it honestly feels somewhat theatrical!

My name is Zlata and I am a QA engineer.

In this article I would like to share how I reduce the time for testing using Kodibox.io and demonstrate the process in details.

Hope you’ll find it practically helpful!

A quick intro before we dig into the details:

Kodibox is an auxiliary platform that allows to deploy environments with dynamic application configuration with few clicks. The only thing required to use it is to? perform the initial configuration of the account after registration. The logic that I am clearly obsessed with is the idea of: one task - one isolated environment.

We all operate with the same testing principal:

Each task must be tested on a test/integration environment that is close to production before being rolled out to the prod. Often such an environment is called Stage or Int. Usually they are deployed in a single instance and that’s when you start witnessing the rise of questionable moments.?

If I had to describe my day to day life as a QA before finding out about Kodibox:

  • I used to make sure that the stage is free for testing through the general chat of my colleagues and wait for the response of everyone;
  • The process of waiting for the response could take anywhere between 1 minute to several hours, not talking about receiving a reply in early mornings or weekends;
  • If the stage is busy, which is pretty much the general case, then I had to wait for my turn to use the stage from several hours to days;
  • Once the stage is available, in obligatory order I used to negotiate with the team once again so that someone could deploy changes onto the stage before I proceed to testing - that’s another 30 minutes;
  • When the feature was finally brought to the test environment, I used to spend another 15 minutes to pre-configure the test account and spend at least half an hour to accomplish my tasks.

To sum up - at the best I used to spend 90 minutes to accomplish one single task, 1 hour of which was spent on communication and waiting for the availability of the stage.

The most common problems when preparing the environment for testing:

  • Errors in the configuration of the infrastructure, their search and solution;
  • The deployment of the wrong version of the application and the need for a new deployment;
  • The statement of “Everything works locally...” when everything works on the developer's computer, but not on the test environment;
  • Roll back the environment to the initial state after testing.

A bit of an outro information before I show off how the current picture looks like with Kodibox:

And what is looks like testing with Kodibox here:

We roll out accomplished tasks to the prod when they are ready.

One of the tasks that we’re working on currently is about the redesignation of the launching button (KV-965 on Jira). I will demonstrate my testing process using Kodibox.io

TAsk in JIRA

First, our front-end developer Daniil Manevich took this task into work, implemented it and informed me that it was ready for testing, saying that his branch was called ‘feature-sticky-save’. I need the name of the branch to create an environment with its changes.

Since integration with JIRA is still in our plans, I will note one cool life hack. You can name a branch during development as well as the number of the task that is being implemented. This makes it easier to understand which version of the application should be used when creating an environment for testing a specific feature. Our team is not big and there is no such need.

In order to test the KV-965 task, I need to build an environment with the kodibox-interception-billing application and the feature-sticky-save tag.

Kodibox platform has a microservice architecture and consists of 8 services. Each service has different dependencies on other services - I choose the exact application needed for testing, and the platform determines all the necessary dependencies by itself.

To do this, I go to the Environments tab and click Create new.

Альтернативный текст для этого изображения не предоставлен

Then I select the kodibox-interception-billing application under test. All its dependencies were also automatically selected.

Create environment

I want to test feature-sticky-save branch - I select a specific application image and leave everything else by default. Next to the kodibox-interception-billing application that I need - I click the Edit button. I change the tags and save the changes using the Save button.

By the way, the platform suggests the last 10 tags, so it can help you find the one you need. And if the selected tag does not exist, the platform will also report about it.

image in Docker - start
image in Docker - end

The creation of the environment has begun. It usually takes about 3-5 minutes.

Environment In progress

YAY! The environment is successfully assembled - I see the status “Running".?

I get the endpoint of the created environment and access via https.

Environment Running

Then I can use the received link for manual testing, for testing the API using Postman, as well as for running autotests.

Now, to check the KV-965 task in the created environment, I go to the Create application section. I see the changes - the Create button is over, which was required to be done.

Testing a new feature

And so it was before the changes - the button is at the bottom, and you need to scroll to it:

Test - pass

I will need to run a few more tests to check if the button is “floating”, adding applications with a large number of images to the Docker Compose field, which expands the field. I'll check if the layout on mobile is running - all using Postman for regression and Selenide to run autotest to see how the UI works.

Thus, after testing, we can assume that the task is completed, I send it to Code Review.

Also, I don't need to worry about the created environment, since Kodibox itself will delete it as soon as the lifetime expires.

To sum up results using Kodibox:

  • 4-6 minutes to create an environment;
  • 10-15 minutes for account pre-configuration - this can be automated, which is a growth point for me in the future;
  • 30+ minutes for the testing process itself;

Conclusion points:?

  • Testing with Kodibox took a little more than 30 minutes;
  • I saved an HOUR from my schedule that I used to spend on doing repetitive tasks;
  • Not a single member of the team was distracted;
  • I do not wait and do not occupy any common staging environment;
  • I don't need to write to all team members and find out if the stage is available.

In my opinion, Kodibox saves me time, emotional wellbeing, and also improves the microclimate in the team.

要查看或添加评论,请登录

社区洞察

其他会员也浏览了