Lincheck is a practical and user-friendly framework for testing concurrent algorithms on JVM. It provides a simple and declarative way to write concurrent tests. Instead of describing how to perform the test, users specify what to test by declaring all of the operations to examine, and the framework automatically handles the rest. As a result, tests written with Lincheck are concise and easy to understand. The framework automatically generates a set of concurrent scenarios, examines them using stress-testing or bounded model checking, and verifies that the results of each invocation are correct. If an error is detected via model checking, Lincheck provides an easy-to-follow trace to reproduce it, significantly simplifying bug investigation.