18
Lack of coverage -- I rarely test all the cases I should on my first pass.
Testing using just some random values instead of including testing with equivalence partitioning and boundary value analysis.
Writing tests that are neither unit tests( testing only the specific method) nor acceptance tests( testing from user's perspective).
I find that tests that testing 3-4 layers of code in one test that is not grounded at concepts that biz people understand, usually lead to tests that are a burden to maintain and make people get disappointed and turned off by automated testing.