Tomasz Klepacki
JIT Team (PL)

Biography

I am a Test Automation Lead/Engineer with over 10 years of experience in designing, developing and maintaining automated tests for web applications, mobile applications and performance tests. I have gained my testing experience by executing a number of projects in the insurance, maritime, information management and e-commerce sectors. Currently, I work on designing test strategies, providing test infrastructure and frameworks for the Signal Ocean project. I am deeply passionate about various facets of the testing domain, including test automation, emerging technologies, and Test-Ops topics. Apart from my involvement in project-related activities, I am engaged in contributing to the testing community as both a speaker and a trainer. Last year, I successfully launched my own blog called "automatyzacja.it," where I actively share my expertise in test automation with the community through insightful articles and practical tips.

About the Presentation

The Road to Full Automation: How We Implemented Continuous Delivery at Signal

The main goal of the presentation will be to show over two years of work that culminated in the implementation of Continuous Delivery process in the Signal project, a web application for managing commercial vessels such as container ships, tankers, and gas carriers.
 
I would like to start the presentation by describing the software development process that I experienced upon joining Signal, highlighting its shortcomings and deficiencies in terms of automation.
 
Then I would like to outline the steps we took to gradually increase the level of automation in the entire web application development process.
 
These steps included migrating UI automated tests from TestCafe to Cypress, creating a CD pipeline using TeamCity and Azure DevOps, enhancing UI test coverage, developing UI tests based on mocked responses and visual tests, implementing API based integration tests, creating a mechanism for dynamically provisioning environments for each Pull Request, establishing a UI panel for managing dynamic environments, fully migrating the development infrastructure (agents, VMs, environments, and databases) to Azure Cloud and accelerating UI test execution to 9 minutes (over 600 UI tests) by leveraging Azure Batch services and dynamically provisioned and deprovisioned virtual machines.
 
The presentation will take the form of a case study, and as the QA-DevOps Lead of the Signal project, I will guide the participants through the journey we took to achieve the highest possible level of automation. This achievement was partly realized by providing high coverage of automated tests at various levels.

 

 

 

About the Tutorial

Workshop: Load tests automation in k6 tool

In the workshop, I will introduce the k6 tool and demonstrate its practical application in load testing. I will highlight its key benefits and explain why, in my view, k6 stands out as one of the most comprehensive yet user-friendly tools designed for implementing performance tests. The sessions will revolve around a specific test scenario that we’ll automate and refine, providing insights into the functionalities of the k6 tool and the k6 Cloud platform used for test execution. Additionally, we will implement a customized solution for visualizing metrics from load test results, leveraging InfluxDB and Grafana.

Throughout the workshop, we’ll delve into various aspects of load testing automation using the k6 tool. We’ll start with an in-depth introduction to k6, exploring its origins, evolution, and the fundamental features that distinguish it in the realm of performance testing tools.

Following this introduction, we’ll discuss the concept of shift-left testing and its significance in modern software development practices. We’ll explore how k6 facilitates this approach by empowering developers to integrate performance testing early in the development lifecycle.

Our exploration will then extend to the various types of load testing. We’ll discuss the importance of each type and demonstrate how k6 enables practitioners to conduct comprehensive load tests to uncover performance bottlenecks under different scenarios.

Moving into the practical realm, we’ll immerse ourselves in the main functionalities of k6 through hands-on examples. Participants will learn how to configure tests effectively using k6’s options, understand the structure of test scripts, and leverage features like session recording and browser recorder in k6 Cloud.

We’ll also cover advanced topics such as setting checks, thresholds, and error counters to monitor test results effectively. Participants will gain insights into organizing and categorizing test scenarios using groups and tags and distributing load across multiple test scenarios.

Furthermore, we’ll explore how to integrate external data sources into test scenarios for realistic load simulations and how to leverage the integration of k6 with InfluxDB and Grafana for advanced visualization and analysis of load test metrics.

Through a combination of presentations, practical demonstrations, and hands-on exercises, participants will gain a comprehensive understanding of k6’s capabilities and its role in enabling efficient and effective load testing in modern software development workflows.