Why Offer TDD in Java? – Reason #1
Reason #1: Better test automation engineers
One of my goals is to push the discipline of test automation forward. To do this, I like to help test automation engineers grow. I look forward to the day when test automation engineers have all the background and skills of developers and are similarly respected.
For that happen, we as test automation engineers must continue to grow our understanding of the practice of software development. We must explore and understand developers’ perspectives. What are they doing to make a positive impact on the quality of products?
TDD fundamentally assists developers in building exceptional code while lowering the labor required for its maintenance. It has by-products, like the development of highly testable code and the design of loosely coupled, tightly cohesive code. Both the original intent of TDD and the by-products are very helpful for test automation engineers to know. It can help in the development of test frameworks and test automation utilities. The technical practices and exposure to this technique for developing software is helpful almost daily to me in working with clients and test automation. It can be for you and your team, too.
So, the first reason I have for teaching this course, is exposing test automation engineers to practices I’ve found elemental. The techniques involved in TDD aide in the production of test automation code. The exposure to what Test Driven Development is can help aid in decisions test automation engineers make. Further, knowing the effort involved in a practice like this can help with discussions between test automation engineers and developers. Conversations (the defect-prone interface between wetware and wetware) after all, are fundamental to good software development.
Learning Test Driven Development from a developer’s perspective fills in the gaps of where BDD, ATDD, and other practices like CI, CD and “shift left” originate. Awareness of TDD is fundamental to a clear understanding of strong development organizations. If test automation engineers do not understand this, teams can still be successful, but with significantly more effort.
Join me for TDD in Java, starting February 27.