
I recently started to work with a new development team. The team is very experienced and has all the right tools to adopt very quickly to SpeedDevelopment methods, or so I thought.
SpeeDevelopment is all about speed and all about development, two things that every developer would like to have. Why, then, should it be difficult to get developers do it?
Problem #1 - "I'm not QA"
QA and writing tests are considered to be the lowest rank of software developers. When you are a student you start working as QA, gather some experience, and then you are "promoted" to become a developer. Now it is the time for the new "greenies" to write tests, and you can focus on the fine art of writing "real" code.
Problem #2 - "I can't write tests for this code"
If you managed to overcome problem #1 and try to write tests for your code, you see that it is not easy. You don't know which testing framework to use (JUnit, TestNG, JMock, EasyMock...), you don't know how to use the framework well, you don't know how to write good tests (as you are costumed to think positively and not like a tester), and the worst thing is that your code is not testable at all. All you want to do it call a simple method and check its output, and you find yourself writing mountains of code of constructors, initializers, DB connections and other "minimal requirements" for this single method to work.
Problem #3 - "I don't have time for testing"
When the task of the developer is to write code and the task of the QA is to write and run tests, the developer has no time to write tests. You can explain that the development work in not done until all tests are "Green" and that working against a specific and well defined set of tests, decreases the development time and other logical arguments. But the bottom line is that the feeling in the beginning is that the tests are an overhead that only takes a lot of time and gives nothing in return.
Don't despair, all these problems have solutions, which we will discuss in the next posts.
No comments:
Post a Comment