Alexander Chumakin

Test automation engineer since 2012. Expert in setting up full circle of CI/CD processes. Passionate about quality and proper agile processes.

Main programming languages

  • Java
  • Kotlin
  • Python
  • C#
  • JavaScript
  • TypeScript

Domains of expertise

  • Backend test automation
  • Frontend test automation
  • Mobile test automation
  • Isolated testing
  • Performance testing
  • CI/CD pipelines
  • Infrastructure as Code

Coding and testing tools

  • JUnit/TestNG/xUnit/nUnit/Pytest
  • Spring/Quarkus
  • Maven/Gradle
  • Jackson/Gson
  • Lombok
  • Postman
  • Cucumber/JBehave/SpecFlow
  • JMeter/K6/Gatling

DevOps technologies

  • Docker/Docker Compose
  • Kubernetes
  • GitLab/GitHub/Jenkins/Bitbucket
  • Unix shell
  • Terraform/Ansible
  • OpenShift
  • Helm
  • Testkube

Business domains

  • Manufacturing
  • Advertising
  • Financial
  • Merchant service
  • Trading
  • Ride sharing
  • Insurance
  • Fitness

Achievements

  • Certified Kubernetes Application Developer
  • Public speaker
  • Team leading experience

Social

Java microservice

Simple Java-based REST API service built with Quarkus, Maven and Docker. Automatic pipelines are configured with GitLab CI with further deployments to Heroku.

Java test automation

Test automation suite for rest-fake-name service. Created with Java, Maven and JUnit 5.

GitLab CI

End-to-end test pipeline that triggers tests from development project and shows test execution downstream pipeline in one place with main development CI/CD pipeline.

Darklang Finance service

Microservice is done with Darklang that is innovative technology to code in cloud right in your browser (currently in private beta mode).

Python test automation

Tests are written with pytest automation framework and simple requests library.

GitHub CI

GitHub actions feature is utilized to run tests in CI

Test report

In order to generate test report I used pytest-html technology and uploaded it to GitHub pages via pipeline

Retrieve artifacts from child pipeline

Some pipelines might build artifacts in downstream pipelines while it's still required to reuse these artifacts by another pipelines. There is no mechanism in GitLab to retrieve artifacts from downstream pipeline of another pipeline. I implemented a custom functionality to retrieve GitLab artifacts from downstream pipeline to parent level.

Allow only 1 active pipeline per repository

Sometimes we need to only allow 1 single pipeline per GitLab repo and put all others in queue until active one is in progress.

Darklang Payment service

Microservice is done with Darklang that is innovative technology to code in cloud right in your browser (currently in private beta mode)

JMeter tests

Tests are done with native JMeter IDE

GitLab CI

GitLab pipeline is configured to run performance tests in CI

Test report

Report is generated using built-in JMeter mechanism and uploaded to Pages

Payment service in Minikube

Microservice is done with Quarkus framework and configured to run in Kubernetes and Minikube

K6 tests

K6 performance, Testkube and Grafana configurations

Medium article

Explains the motivation and all the used technologies