Vitaliy Zakaznikov

Vitaliy Zakaznikov

QA Manager & Architect at Altinity | Author of TestFlows

About

With extensive experience in testing—from safety-critical systems to databases—Vitaliy Zakaznikov is a QA Manager and Architect at Altinity and is the author of TestFlows testing framework. His background spans testing the QNX real-time operating system at Blackberry QNX, static code analysis tools at Klocwork, and memory chips at Micron Technologies. This experience with complex, stateful systems directly guides his current work on advanced testing techniques such as behavior models and autonomous testing. Vitaliy holds a MEng. degree in Computer Engineering from Boise State University. He is a contributor to the ClickHouse open-source database and leads a team that maintains the largest third-party test suite for it. He enjoys writing blog articles and developing tools that make teaching and using advanced testing techniques easier.

Taming Autonomous Testing and Behavior Models – Mario, Will You Behave?

Time
9:00 AM - 9:50 AM
Room
Great Hall 1 & 2

Description

How do you test a system with millions of possible states? Traditional test automation follows a simple pattern: write tests that execute predefined steps and verify expected outcomes. But this approach breaks down when the system under test has vast state spaces and complex behaviors that can't be fully covered by manually written tests.

In this session, I'll show how I tamed two powerful techniques—autonomous testing and behavior models—using Super Mario Bros. as my test subject. I'll demonstrate:

  1. Autonomous State Space Exploration
    How I used mutation-based input generation and fitness functions to discover paths through complex systems without human guidance. Watch as Mario autonomously navigates and completes levels.

  2. Behavior Models for Validation
    How I defined causal, safety, and bounded liveness properties that validate system correctness frame-by-frame, building models that act as universal correctness oracles.

  3. Combining Both Techniques
    The real power emerges when autonomous exploration meets behavior validation—systematically discovering edge cases while ensuring correctness at every step.

By the end of this session, you'll see:
• The difference between traditional test automation and autonomous testing
• How fitness functions guide exploration through complex state spaces
• How to define behavior properties (causal, safety, liveness)
• How to integrate behavior models into autonomous exploration loops
• When these techniques make sense for your own projects

This talk is based on a published technical series with open-source code:
• Part 1: https://testflows.com/blog/testing-super-mario-using-a-behavior-model-autonomously-part1/
• Part 2: https://testflows.com/blog/testing-super-mario-using-a-behavior-model-autonomously-part2/