PyCon DE & PyData 2026

Destructive Testing: 10 Practical Ways to Expose Hidden Application Risks
, Titanium [2nd Floor]

Modern applications rarely fail in obvious ways. Instead, they break at the edges: unexpected inputs, race conditions, misused APIs, and assumptions nobody realized they were making. This talk presents ten practical and repeatable ways to intentionally break an application, using a QA mindset with a strong Python focus.

The session is designed to help QAs sharpen their investigative approach and move beyond happy-path testing, while giving developers concrete insight into where real-world failures often originate. Each “way to break an application” highlights a common risk area such as data handling, state management, timing, configuration, or integration boundaries.

Attendees will learn how to think more destructively (in a productive way), design better tests, and recognize fragile design decisions earlier. The goal is not to assign blame, but to improve collaboration and software quality by understanding how systems actually fail in practice.


Quality assurance is not about confirming that software works — it is about discovering how it fails. This talk explores ten concrete ways to break an application on purpose, based on real-world testing patterns and common failure modes seen in modern software systems.

The focus is on practical thinking, not theory. While Python is used as the primary example language for test automation and experimentation, the concepts apply to any technology stack. The session is relevant for QAs, test engineers, and developers who want to build more resilient systems and improve cross-discipline collaboration.

Goals of the Talk
* Improve destructive testing and exploratory thinking for QAs
* Help developers understand common blind spots in application design
* Demonstrate how Python can be used effectively to probe system weaknesses
* Encourage a shared quality mindset across roles


Expected audience expertise in your talk's domain:: Intermediate Expected audience expertise in Python:: Novice
See also: Slides (3.8 MB)

An experienced QA engineer and software developer with a strong focus on Python-based testing and test automation. Specialized in breaking applications through exploratory, risk-driven, and destructive testing approaches. With several years of experience working on complex software systems, the focus is on uncovering hidden failure modes, improving test strategies, and helping teams build more resilient applications. Passionate about bridging the gap between QA and development by sharing practical insights into how and why software fails in real-world scenarios.