Posted by IN / 3 responses

Why Offer TDD in Java? – Reason #1

6 February 2017

Why are we offering Test Driven Development in Java starting February 27? This week I’ll post 3 reasons (read Reason #2 & Reason #3)…

Learn TDD in Java

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?

Certainly, I could focus on hard skills like WebDriver and Selenium. I could offer training in test drivers like Cucumber and RobotFramework or languages like Java, C#, Python, Javascript, or Ruby. I could focus on soft-skills like communications and process maturation – use of CI and such. Much of this I do already in our free monthly webinars (signup for email list here). Over time, we intend to facilitate those learnings as well. But for now, let me tell you, my love of testing started with TDD. Its approach and the lessons I learned as a by product, have done more for me and the clients I work with than any other technique.

Fundamentals

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.

Exposure

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.

Perspective

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.

About the Author

Paul Merrill

Paul Merrill is Principle Software Engineer in Test and Founder of Beaufort Fairmont Automated Testing Services. Paul works with clients every day to accelerate testing, reduce risk, and to increase the efficacy of testing processes. You’re Agile, but is your Testing Agile? An entrepreneur, tester, and software engineer, Paul has a unique perspective on launching and maintaining quality products. He also hosts Reflection as a Service, a podcast about software development and entrepreneurship. Follow Paul on Twitter @dpaulmerrill.

3 responses to Why Offer TDD in Java? – Reason #1

Leave a Reply

Your email address will not be published. Required fields are marked *