Start of main content

Materials

Settings

The time in the program is for your time zone ().

  • Tools/framework

    • Talk

      Mocks vs Testcontainers

      Language -RU

      Do we even need mocks when we have Testcontainers? If a mock doesn't work the same way as a "real" system, what is its use? Can flakiness in integration tests be avoided? Is it true that Testcontainers will solve all integration test problems and is it time to write off the H2 database?

    • Talk

      Why Java Test Frameworks are Overrated

      Language -EN

      This live-coding session shows why most Java test frameworks are overrated, why test code quality benefits your project more than anything else, and what we need to build up an effective test suite. Sebastian will show example enterprise Java projects with Quarkus, JUnit, and many more.

    • Talk

      DocOps: the highway to up-to-date documentation

      Language -RU

      Nikolai will show how using DocOps solves the following problems: improving interaction with the customer, standardizing development, onboarding, simplifying task rotation between people, and improving the end-user experience. At the same time, the cost of documentation is reduced.

    • Talk

      Testing your test

      Language -EN

      Mutation testing is a great way to validate what happens when you introduce different modifications in your code dynamically and see what happens with the result. If the test continues showing that everything it’s okay, your code has some problem. Pitest is a great tool that provides the developer the possibility to know the quality of their test. This tool offers the possibility to see different types of reports and integrate with some quality tools like Sonar.

    • Talk

      Java PathFinder: going to Mars without bugs and deadlocks

      Room 2
      Language -RU

      In the talk, we will discuss one of the existing tools that may help a developer find subtle concurrency issues: Java PathFinder. It is a research JVM that tries to apply model checking to verify that your Java code does not have a problem with deadlocks or data races.

  • Best practices

    • Talk

      Time to choose tools: test management

      Language -RU

      The talk discusses the market for test management tools. It is about what is available today, how to make a choice and what parameters to take into account.

    • Talk

      Testing optimization on database clusters

      Language -RU

      Let's talk about optimizations in database clusters. We will discuss some examples of configuration, architectural, functional modifications in clusters: their benefits, costs, explicit and implicit negative effects. We will also touch on the nuances of testing optimizations.

    • Talk

      Assert, how much is in that word...

      Room 1
      Language -RU

      Many people have heard of Arrange-Act-Assert. And they have heard of single assert. In these approaches, the "L" stands for the ease of supporting tests, and the "P" stands for the clarity of their output. A test can crash for various reasons (a different environment on CI, more tests running, more workload, etc.), but the question "why did it crash" remains. In the report we will consider how modern tools (JUnit 4/5, Spok, Power Assert, Truth) allow to write tests so that their crash is easier to analyze and tests are easier to maintain.

    • Talk

      Take away "QA framework development" from your CV

      Room 1
      Language -RU

      The talk presents the author's perspective on QA frameworks. You will learn why an "ideal" framework should have about 4 public classes. Practical questions about working with databases (JPA/Hibernate), with REST and gRPC are discussed. (Spoiler: Selenide or Playwright are not suggested).

    • Talk

      Pipeline vs. humans. Or pro?

      Room 1
      Language -RU

      A lot of people have been saying lately that testing is a little behind the IT industry. Is this true? In part. 

      Remember what happened 10-12 years ago: a developer wrote code and sent it to a reviewer. After all the edits and low level tests, the code was sent to the admins to be built and deployed. The assembled service was submitted to QA, where everything was tested, and if the testing gave a "green" report, the product went "to the gold". People passed artifacts from hand to hand. But then came Pipeline: Git, Docker, Kubernetes, and other scary stuff. The development team started working right on the assembly line - like a Ford factory in 1913! 

      Except that many testing teams are still trying to take our Ford off the assembly line, and then put it back on. We can see where that leads. Is it possible to ensure quality without sacrificing speed? And if not, "how much quality" can be sacrificed for the sake of efficiency? In his new talk, Artem Eroshenko will talk about how to find answers to these questions.

  • UI

    • Workshop

      Workshop. How to Transfer a Legacy Project to Selenide

      Language -RU

      In this workshop, we'll look at how you can implement Selenide gradually, without having to rewrite everything. We'll try to write only new pieces in Selenide and replace some old pieces. We'll make friends with the old and new code so that they work together. And see how much IDEA with its refactorings and shortcuts can help.

    • Talk

      Native UI tests in 21 days

      Language -RU

      Native android ui tests — the beginner's guide. If your android app does not have any native tests, you might be interested in building minimal valuable infrastructure for running tests. Also you might have struggles with preparing your app for writing native ui tests. If so, watching Youla's talks might be helpful for you.

    • Talk

      Selenium: why existing libraries are deprecated and how to make a new one

      Room 1
      Language -RU

      Any experienced test automation engineer knows what Selenium is and how to use it to run tests in browsers. However, few know how Selenium is structured internally. Historically, there is quite a bit of confusion, and not everyone can explain the differences between Selenium and WebDriver, the Selenium client and the Selenium server.

      The speaker will tell you what these concepts really mean and show you his vision of the future of Selenium clients.

  • Нагрузка

    • Talk

      Preparing test data for load testing of the gRPC protocol

      Language -RU

      Dmitry will talk about how his team managed to make a flexible system for preparing data for GRPC (and HTTP) load testing. How they managed to raise its performance by abandoning JSON and how to do without reflection when testing GRPC. Also, what tools are used for load testing in Ozon and what kinds of user cases are there.

    • Talk

      Load testing with Python and Locust

      Language -RU

      The report provides a recipe for implementing load testing in Python:

      1. General description of the Python + Locust approach.

      2. Examples of implementation of load testing scripts.

      3. Running and monitoring Locust tests.

    • Talk

      Automating JMeter performance tests with performance logs from Chrome Driver

      Language -RU

      The talk covers several tricks on how to optimize the development and support of performance tests in JMeter.

      It will be of interest to those who are already confident in writing performance tests and are looking for ways to optimize the time spent on writing and maintaining large scripts. Some methods are applicable to most tests. We will also consider a more complex and specific method that will only work in certain cases.

  • ML

    • Talk

      Music recognition in movies and TV series for Kinopoisk

      Language -RU

      The ML side of the "Music Recognition in Movies and TV Shows" feature for Kinopoisk HD: the general markup build pipeline, the technology stack under the hood, and runtime issues. The solutions used and quality testing of the technology are discussed.

    • Talk

      Data analysis in test automation

      Language -RU

      Victor will talk about non-standard autotests for testing tasks with big data. This is where knowledge in probability theory and data analysis comes in handy. 

      The talk presents a complicated path from the formation of test data to the analysis of the obtained results and the way of their visual presentation.

  • Hardware

  • Mobile

    • Talk

      Native UI tests in 21 days

      Language -RU

      Native android ui tests — the beginner's guide. If your android app does not have any native tests, you might be interested in building minimal valuable infrastructure for running tests. Also you might have struggles with preparing your app for writing native ui tests. If so, watching Youla's talks might be helpful for you.

    • Talk

      What the iOS simulator can do

      Room 1
      Language -RU

      The iOS simulator is the main debugging tool during application development. It is also convenient for running automated tests. You can run several simulators on the same machine and parallel the execution of tests. The simulator has a number of limitations that have to be bypassed.

      Speaker will tell what can be done and what tools can be used to bypass them, and what problems iOS 14 has brought. He will also talk about the CLI interaction toolkit and third-party utilities that allow you to extend the capabilities of the simulator and simplify interaction with it. It will be useful for those who use the simulator in manual testing. There will be outlined workarounds that will help in setting up a farm for iOS.

  • Безопасность

    • Talk

      Mobile security testing starter kit

      Room 2
      Language -RU

      In the talk we'll talk about mobile application security testing, discuss the OWASP Mobile Security Testing Guide and make a checklist with a basic minimum of checks.

      The theoretical part of the talk is mostly applicable to both platforms, we will practice on the Android application. The report is intended for testers who want to get acquainted with the topic of application security, but we hope it will be interesting for other listeners, too.

    • Talk

      Are you parsing XML correctly? Dealing with vulnerabilities

      Room 1
      Language -RU

      The security flaws that arise when processing XML files are tricky. Why would a blog deployed to your machine cause a data leak? Why does an application start sending network requests when processing images?

      Let's find out how processing XML files is related to security flaws, what XXEs and XEEs are, and how to protect against them.