What kind of automation skills should testers have, and what’s the best way to get them?
Programming skills are helpful for testers, and I encourage everyone to get some basic experience. Pick up a book such as Brian Marick’s Everyday Scripting with Ruby and work through it, or take a programming course. However, test automation is the responsibility of the entire development team, which already should have enough programmers to automate the tests. The whole team must think continually about how they will test the software, so they can write the code in ways that make it easier to test. The tester’s main contribution to test automation is identifying the test cases needed, both by collaborating with business experts and programmers in advance of coding, and by doing manual exploratory testing as code is delivered to learn more about how it should work. In my experience, good testers tend to ask questions that nobody else thinks of, and think about how a particular piece of functionality will impact other parts of the system.
Test frameworks such as FitNesse and RobotFramework encourage testers and programmers to work together to automate tests. Testers can write test cases in a tabular or narrative format without needing to know how to write production code. Programmers can write the fixtures that automate the tests. It’s a huge advantage, because it forces team members to communicate and collaborate, and get a shared understanding of what the customers want.
I started out my software career as a programmer, but I have to continually grow my skills. I’ve learned a lot about good test design by pairing with programmers. I also pair with the other tester on my team and we often refactor our automated tests to make them more maintainable. I read articles and blog posts all the time to get new ideas on good ways to automate tests. I also try new tools and frameworks often, both as a learning exercise and to see if they might offer value for my team. Many open source tool developer communities offer free online tutorials, and will even help you one-on-one to get started.
Take responsibility for your own education. Talk with your teammates to see what skills might help the team most right now. If you’re looking to change jobs and want to know what skills will make you more marketable, join a testing community such as a local user group or an online group such as the Software Testing Club and find out what others find useful. Learn which training providers have a good reputation and offer practical courses. Follow your passion. If test automation doesn’t interest you, there are many other skills that will make you a valued team member.
Dig Deeper on Topics Archive
Related Q&A from Lisa Crispin
Agile leader Lisa Crispin explains a more organic, more Agile approach to test reporting. Continue Reading
When it comes to Agile planning, average time over many iterations is a more important metric than individual story estimates. Continue Reading
Most inexperienced Scrum teams overcommit on what they will deliver, and when. Agile leader Lisa Crispin says that does more harm than good. Continue Reading