A lot of developers consider testing to be a bit of a necessary evil. They don't want to write test plans. They don't even want to write test cases. Some of them don't view QA as being in the same ballpark as development.
Designing and developing test harnesses and test case code can be every bit as challenging - and rewarding - as designing and developing the product itself.
Some of the challenges include:
figuring out how to automate as much as possible, not only of the actual test case execution but also of the result verification and regression figuring out how to create negative test cases - to test and verify error cases - that run automatically and accurately figuring out the edge cases in the spec, the boundary conditions, the possible off-by-one errors Developers tend to focus on positive execution paths and often don't worry about boundary conditions (yes, they should!).
So, as a developer, take some time to think about life on the other side of the looking glass. Think about test cases. Think about how you would plan all those test cases. Think about automating those tests.
author - seancorfield