If you live your life as a QA tester—specifically by testing software packages as they wend their way toward release—you’re probably hearing a lot about the need to double down on your coding skills. Especially as automation takes on a wider role in QA efforts, many an expert has declared that knowing how to code will soon be a requirement for anyone involved in software testing.
At the same time, some developers and QA testers argue that building software is a team effort, and each member of the team makes their own contribution with their own unique skills. While automation is particularly important in some areas—such as regression testing, load testing and security—these tech pros point out that prioritizing which areas to test, or stress-testing a product’s UI, require the kind of imagination that machines simply don’t possess.
“Writing code and debugging is the developer’s job,” said the authors of Guru99, a technology education web site. However, good testers should have “good knowledge of programming skills” and at least some familiarity with certain languages, depending on the type of testing they’re involved with.
The specifics will depend who you’re working for and the project you’re working on. The QA tester methodologies used vary “according to the need and specifications of the web site, app or application functionality,” said Bob Weber, president of the development firm Weblications in Princeton, N.J.
QA Testers: Knowing How to Think is Key
While he believes developers should act as the first level of QA, “unfortunately, developers don’t like to test their code,” Weber said. He doesn’t see that changing anytime soon: “That’s why QA testers need to create clever automated tests that run many permutations of data entry, links and such to capture problems that can then be fixed by the developers.”
Weber notes that QA tester processes are becoming more complex and automated. As that evolution proceeds, he said, “script programming becomes increasingly important.” While some applications can be tested manually, automation is becoming more common and “requires a level of programming to get that job done.”
In particular, he believes QA testers should be able to create tests and automated processes that can “thoroughly and quickly evaluate an application.” As time goes on, “testers will need to be fluent in several scripting languages to effectively perform their job.”
Learning to Code, Learning to Test
For many QA tester veterans of the field, knowing how to code is important for anyone working in technology. “Learning to code,” Eggleston said, “will help you understand the possibilities in your role, manage and work with other teams and take your career to the next level.”