Concurrency Testing
Concurrency testing verifies that a system behaves correctly when multiple users, processes, or threads perform operations simultaneously.
“Testing to evaluate if a component or system involving concurrency behaves as specified.”
(Definition reproduced from the ISTQB Glossary. Copyright belongs to ISTQB.)
View the complete ISTQB GlossaryWhat is Concurrency Testing?
Concurrency testing identifies issues such as deadlocks, race conditions, data corruption, and resource conflicts that occur only during concurrent execution.
Simultaneous activity: Multiple operations are executed at the same time.
Resource contention: Shared resources are stressed under concurrent access.
Reliability: Proper concurrency handling improves stability under load.
Real World Example
An airline's seat-selection service lets two travelers view and attempt to book the last open seat on a flight at nearly the same moment.
Every functional test passes when requests are sent one at a time: check availability, then reserve, then confirm. But the check and the reservation are not a single atomic step, so two nearly simultaneous requests can both see the seat as available before either one reserves it.
The tester deliberately fires multiple booking requests at the same seat at the same time, confirming that exactly one succeeds and the others receive a clear "seat no longer available" response, and also checks that a crash mid-booking does not leave the seat locked forever.
The race condition is exposed and fixed before launch — a double-booking that sequential, one-request-at-a-time testing would never have revealed, because Concurrency testing exists specifically to probe what happens when operations overlap.
Practice Questions
Question 1
Which assertion MOST targets liveness?
Question 2
Which setup BEST exposes races?
Test your knowledge with real ISTQB-style questions
You’ve learned Concurrency Testing. Test your understanding with topic-specific questions in our Mock Exams.