There have been many articles written about software craftsmanship, mostly from a context of "development". I should know, I've written a few of them. As such, I think most people understand the importance and value of ensuring our programmers are at the top of their game, and focusing on the best possible application of their skill. I wonder though, if we've been missing a very important element. What about the importance of Craftsmanship in the world of test? We all know testing is at least as important as "coding", yet we seldom talk about it as a craft in its own right. How can we move forward in this extremely vital area?
The advent of Continuous Delivery and DevOps has brought a lot of attention to the value and need for extensive and comprehensive test automation. It would be very difficult, bordering on irresponsible, to continuously deliver software that hasn't been thoroughly tested, and if we want to do this as frequently as we need, those tests must be automated.
Which leads me to some conversations I and my colleague have had with test professionals. The general gist of it is that there just doesn't seem to be enough support for automation in the business world for testers. Either the company buys an expensive tool that is supposed to record the test, then play it back ad infinitum, or they hire a specialist whose sole job is test automation. Usually one automator for several teams. This is unsustainable. If test automation is so valuable, and it has been proven to be so, then why shouldn't all testers be automators also? This allows people who are very well practiced at the craft of testing expand their skills, and apply their knowledge to creating the best possible tests, which then enables true continuous integration and continuous deployment.
Like all other skills, good automation is something than needs to be learned and practiced to be valuable. It is just as important for automators to have a high level of craftsmanship and professionalism as any other part of the development team. It is no easier for a tester to "just learn as you go" than it is for a programmer to "just jump right in to a new language". Yes, you can learn the basics, but to be truly professional, you need more. So lets invest in our testers. Not only is it good for them and for their morale, it is also good, no actually vital, to the ongoing health of your development efforts and deployed syste
Shameless plug: The Rocky Mountain Programmers Guild will be providing a workshop for automators in August. Check out this link for more information: Codecraft Workshops for Professional Automators