Testing is one of the few places in technology where people can come into the field without a college degree. Yet the door to get in is unclear. There is no direct path into becoming a software tester; no undergraduate degree, and no vocational school. When most people talk about their beginnings as a software tester, they say it happened by accident, they fell into it — they took the back door or a window.
People who work in software testing often complete undergraduate degrees in English, Art History, or Philosophy, and then start job hunting. Some are college dropouts. James Bach, arguably one of the most famous software testers in the world, is a high school dropout. Cem Kaner, another famous tester, has both a PhD in Experimental Psychology and a Jurist Doctorate (Law) Degree. Neither Bach nor Kaner specialized in computers, but somehow, they ended up testing software for a living.
So if you’ve made a decision that you want to get into software testing, what’s the best place to start? What non-accidental paths are available for people that don’t have a degree or relevant experience?
Get TestRail FREE for 30 days!
Software testing classes work two angles — they offer some baseline information and skill to people that have no exposure to software testing, and they also offer some sort of credential to people on the hiring side. There are many options to choose from however, some online and some in person, and it is easy to get lost in a bewildering array of choices.
What price is reasonable? Which classes are any good? Most importantly: Will the course really help me get a job?
My personal favorite is the Black Box Software Testing course (BBST for short). This is a skill based course where students can participate in hands on exercises that help develop the skills a software tester needs. You can get an older version of the curriculum for free at testingeducation.org. There are also workbooks available for each class available in bookshops, and there are facilitated classes available online through the Association for Software Testing* and Altom. The website and workbooks are great for independent study. A prospective tester could walk through each step of the program independently if they wanted — reading all the material, watching the videos, taking the quizzes, answering questions, and sitting the final exam. Doing this alone would set you apart from most testers whether they are trying to break into the job market, or have been there for a while.
Taking the facilitated online course will get you something special: a feedback loop. It includes not only doing the exercises, but peer feedback (you’ll have your answers reviewed by others, and you’ll review theirs). Each stage of the course is designed to help refine a particular skill, or your understanding of a testing theme.
There are a variety of alternatives out there for training and certification. Some focus on testing skill, some on skill with tools and technology. Explore the options and see what works for you and your goals.
Open Source Projects
Software companies like Mozilla, LibreOffice, and MediaWiki depend on volunteer contributors to their open source projects. Anyone with a passing interest in helping to make these products better can create an account and report bugs they have discovered. Someone with no software experience at all, could use open source projects to develop experience and break into the industry.
Like any other software development project, these open source products work to release cycles. A person with a day job and no software or technology experience could join an open source testing team and participate a little bit each day, or just on weekends and days off as they have time. There are testing lessons that can be extracted from these open source projects that people undertaking a computer science degree might miss. Testers working in open source projects will get a full view of the software release cycle — how a release feels, how testing work changes at different points in the release, what happens when the team is ready to push to production.
Oh, and you also get to test real, live software. People working as a volunteer tester for these projects are getting real experience that matches commercial software development. Releases start with an organized and prioritized list of features that need to be made before the next release. Each of these features is broken into tasks that will be done by a developer. At some point, that developer will ask what you think of the change. You go to a special URL, or get a new build of the product, and carry out some testing — focusing on how the product might make a user happy, how it might fail, and what is missing.
Throughout this process, you will be talking with developers and product managers, asking questions, reporting bugs, and investigating fixes. Just like a real software tester.
What you get from working on open source projects is real software testing experience that can go on a resume. When you get to the interview, instead of talking about how you think software testing works, you can share stories based on real experiences.
This last option is a sneak attack from within. Starting in a support department is a great way to learn about software and demonstrate expertise. You’ll have access to job openings before the public do, and be a “known quantity”; a low risk hire to bring into the testing group, rather than someone from the outside the company.
I would even go so far as to claim that support is a testing role in disguise. Each day, customers call or email with some sort of problem. Support agents sooth the customer while working their way to a solution. Sometimes they offer a workaround that allows the customer to bypass the problem. Sometimes, the support agent explains a hard to use part of the software, which may eventually lead to a design change for better usability. Where testers explore the product looking for problems, support agents begin with a problem and work their way to a solution.
Along the way support people gain skills that are directly related to, and useful for software testing.
An average day for a support person might start by checking the customer feedback tool for something important. At the top of their to-do list is a vague report from a customer saying that the submit form button is broken. No other information, just “button is broken”. The support agent looks at their local test environment, fills out the form and clicks the submit button. Everything seems to work fine. Next they look at the logs and notice the platform. The customer is using an unsupported browser. They explain to the customer that this product will only work in the most recent two versions of Internet Explorer. Once that’s done, they submit a feature request to the development team, asking for a warning message for when people use unsupported browser versions.
In that small amount of time, the support agent performed experiments, used tools to search through product logs, and discovered a missing feature. Each of these activities correlates with skills that testers use every day to discover and report problems during a development cycle.
The Choice is Yours
Getting into a technology career is easy if you can take the traditional path. Go to a good school, do a Computer Science program and get a good degree. Traditional paths don’t work for everyone though, and even if they did it might not be a good thing. If you haven’t done so lately, consider revisiting your options – in software testing training, in open source projects, and alternative paths into testing like support. Trying some of those options out, just might get you in the door.
This is a guest posting by Justin Rohrman. Justin has been a professional software tester in various capacities since 2005. In his current role, Justin is a consulting software tester and writer working with Excelon Development. Outside of work, he is currently serving on the Association For Software Testing Board of Directors as President helping to facilitate and develop various projects.
*Justin Rohrman is on the the board of the Association for Software testing but receives no compensation for that role or for speaking about the Black Box Software Testing course.