Americas

  • United States

Why programming classes need to cover software testing, too

Analysis
Mar 05, 20135 mins
Enterprise ApplicationsOpen Source

Education in software programming needs to become more readily available and expansive, if students are going to learn applicable skills.

This guest post was submitted by Lorinda Brandon, Director of Strategy at Smartbear Software

You might have noticed the recent publicity blitz on behalf of code.org. Or, you might be living under a rock. Code.org was formed in January 2013 with the goal of providing young people with mentorship and education in the computer science industry. There are a number of organizations like code.org – Girls Who Code, coderdojo.com, codecademy.com, to name a few – and their goal is admirable.

Software has become a necessity, rather than a luxury. Software powers everything from banking to education, from shopping to socializing, and we now have a dependency on it that is as strong as our dependency on power grids and fossil fuel. And, just like those resources, we have an urgent need to find and harvest the talent to keep that infrastructure running.

I have said it before and will say it again (and probably again, even): There is no better time to be in software than now. The amount of innovation and imagination in tech circles is boundless, largely powered by the “open” movements in various areas of the industry: open source, open data, open API’s. Money is flowing freely again from investors who are interested in funding the “next great thing” and, while many software enterprise organizations are still tightening their belts and hiring overseas, more young talent graduates every day and leads us where we didn’t think to go on our own.

From the local level to the global level, organizations like code.org recognize the need for educating and advocating in the high-tech industry. Their celebrity sponsors are sounding the call for more involvement and it will be interesting to see how people respond.

I found one recent article by Kim Burgess called Teach Kids To Farm, in which she explores her father’s perspective as a developer-turned-farmer. I won’t go into the details because you should read her post for yourself, but I will say that I found it food for thought (pun intended). At various times, we have heard the call for more teachers, more nurses, more doctors, more family farmers. This is the first time I have heard the rallying cry for more developers, but it is coming at a time when we have a shortage of some skills (try to hire a Java developer these days, for example) and a greater dependency on software than ever before. In fact, those teachers/nurses/doctors/farmers are all tapping into technology just to accomplish their daily tasks.

If anything is missing from this initiative, in my opinion, it is a focus on the sister discipline of software testing. It’s an area that is often underrated by some organizations, that is, until they try to use a buggy tool or an unstable API. If we are going to rely so heavily on software as the infrastructure for the finance, medical, government, and education sectors, it’s important that we build quality software those industries can rely on. I would prefer that my doctor have bug-free access to my medical records and that my banking transactions get posted accurately. And, with all due respect to programmers, I like to think that those applications are thoroughly inspected by professional testers before they hit production.

Software testing has been on a path toward convergence with programming for some time, especially when it comes to test automation. At the same time, many vendors have tried to create tools that allow non-programmers to exercise code in ways they would not know how to do by themselves. It’s surprising how slowly this discipline has evolved over the last two decades – often because it has all the overhead of code maintenance without any associated direct revenue. And yet, the benefits of having well-maintained automated tests in a continuous integration environment can’t be understated. At the same time, software testers provide much-needed input and perspective from exploratory testing and user acceptance testing. In my opinion, nothing can replace the “human perspective” as part of the quality assurance cycle.

So, sponsors and mentors, let’s put our shoulders behind movements like code.org, but let’s also put some energy into building the next generation of software testers as well.

About Lorinda Brandon, Director of Solutions Strategy at SmartBear

For more than 25 years, Lorinda Brandon has worked in various management roles in the high-tech industry, including customer service, quality assurance and engineering. She is currently Director of Solutions Strategy at SmartBear Software, a leading supplier of software quality tools. She has built and led numerous successful technical teams at various companies, including RR Donnelley, EMC, Kayak Software, Exit41 and Intuit, among others. She specializes in rejuvenating product management, quality assurance and engineering teams by re-organizing and expanding staff and refining processes used within organizations. She has a bachelor’s degree in art history from Arizona State University. Follow her on Twitter @lindybrandon.