Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News How Testers Can Become More Technical

How Testers Can Become More Technical

Testers who are able to successfully apply technical techniques of the testing craft during testing are more valuable; they increase both the quality and productivity of their teams. To become more technical, testers can learn something about code, and they should know how to manipulate and parse text files and how to use the most important analysis tools for their application platform.

Alan Page, director of quality for unity services, gave a keynote on tangible truths about technical testing at the Spring Online Testing Conference 2017. InfoQ is covering the conference with Q&As, summaries and articles.

The initiative to organize an online testing conference started in 2016; the 2017 spring edition is the second event which took place on June 13 and 14:

OnlineTestConf is an initiative to bring all the advantages of attending professional QA related conferences: personal learning, networking etc. without the shortcomings of scheduling, expenses and travel. Attendance at OnlineTestConf is free and meant for anyone who sees themselves involved in testing and the testing community.

InfoQ interviewed Alan Page after his talk about technical testing.

InfoQ: What is technical testing?

Alan Page: This is one of those, "ask 10 people, get 11 different answers" questions. To me, technical testing merely means to successfully apply techniques of the testing craft during the process of testing. Of course, this means using tools, but also can include other test design approaches like model-based testing, or customer usage analysis.

InfoQ: Why should testers be more technical? What’s the benefit for the organization, and for them?

Page: Simply put, testers who can use more techniques are / will become more valuable members of their teams. The most valuable testers I’ve worked with create tools or processes (e.g. load testing tools, or code review guidelines) that increase both the quality and productivity of their teams.

Knowledge work in general isn’t a field for people who only want deep specialization in one thing. Testers especially, over all other contributors to a software engineering team, need to know a lot about a little, and a little about a lot - i.e. be specializing generalists in software testing and quality.

InfoQ: What can organizations do if they want their testers to become more technical?

Page: Encourage and support both learning and mistakes. Create an environment where experiments are encouraged, and where learning and retrospective on all efforts is encouraged and rewarded. Create a framework or process so employees know what’s expected, and then get out of their way, and let them learn and innovate.

InfoQ: Which tools and techniques do you recommend?

Page: The list is endless. In general though, I think I can narrow it down to these three categories.

  1. Learn something about code. You don’t need to be a super-coder, but you should have an idea of how it works (and doesn’t work). The value in being able to write a few scripts or read simple functions alone is immense.
  2. Know how to manipulate and parse text files. This includes knowing tools like grep (or in some cases excel), and in knowing how to use a text editor to manipulate and analyze files. For example, your web server may generate a gig or more of data logs during a day - or even in an hour. At a minimum, you could write a quick script to pull the strings with the word "error" and post them to a web site or email address - or look for specific sequences of actions leading to an error condition. The alternative of looking for error strings within a massive log file is an exercise in futility (and eye strain).
  3. Know how to use the most important analysis tools for your application platform. If you are building a desktop app for windows, install the sysinternals suite and learn how to use tools like procmon to figure out what your application is doing. If you’re working on a web app, learn how to use fiddler or the F12 debugger to understand what’s happening. You don’t need to be a wizard, but you do need to be able to understand what’s happening beyond the user interface.

Find out what tools your developers use and look for tutorials online. Use twitter or sites like to find other testers working on applications similar to yours, and ask what tools they use. Good testing is a role that requires constant learning and one that benefits those who seek to discover what they don’t know they don’t know.

InfoQ: What can testers do to become more technical?

Page: Always be learning, and always be experimenting with different tools. Learn how (and when) to apply these tools to make your testing (and your team) more efficient.

Rate this Article