Hi Marcus,
Thanks for sharing your experiences in regards to TDD and some of the
pitfalls as well.
In regards to you first remark, experienced developers remaining stuck
with their traditional approach, I don't think that's a big problem.
It's all about having a different mindset and choosing a strategy and
approach which is a best fit for as well the team, management as the
customer.
If developers aren't acquanted with testing strategies, they can learn
it on the job, through knowledge sharing with developers familiair
with the approach and trail-and-error. I do think, when you start
using TDD or testing approaches, you will soon experience the benefits
as well in project duration as stability in terms of new releases,
change in team-members, etc.
When you're familiar with a certain way of thinking, working ... it's
always a little bit hard to think outside of the box and give another
approach a try, but the main goal will always be to build up the
knowledge and experience in the team and to reach your deadlines in
team. I think TDD, continious integration and regression testing will
always be an added value ...
I fully agree with your second remark, TDD will guide you in designing
your application as well. When you've implemented business logic
inside backing beans, you won't be able to test your business logic
E2E at the business level and will only show up during your selenium
tests or at the presentation level.
Thanks again for sharing these insights!
Kind regards,
nathalie