Writing tests looks simple - every kid could write few lines of JUnit code. :) Writing valuable tests is more challenging. Everyone have seen (or written himself!) tests, which are hard to understand, hard to maintain, and do not verify anything really important (or maybe they do, but it is too hard to deduce)! Some tests are simply a burden. I want to present few examples of bad tests and show the ways of improving them. Along the way, I plan to discuss some general issues related to writing tests, present few tools (that are not so commonly used) and discuss some additional stuff like the code-review of tests. All in the name of writing good tests.