When I was going through the process of transitioning from a games tester to a software tester, I couldn’t find any material on it.\n\nSo, to save others from the headache I endured, I decided to create a guide to doing just that.\n\nIn this guide, I want to highlight the difference between the two paths in testing, what I did to prepare for this sideways career move, and what I had already done that made the transition easier.\n\nTo clarify, in this post I’ll use the term software testing to distinguish the difference between games testing and testing done outside the games industry. Although this could mean testing software, it could also mean testing desktop and mobile websites, web-based applications, or mobile apps.\n\n
My Life as a Games Tester
\n\n
\n\nWhen I worked as a games tester and told someone what I did for a living, they almost always said, “So, do you just play games all day?”\n\n“I wish!” I thought.\n\nBeing a games tester is one of the most challenging jobs that I’ve had in my life (and I’ve been working for 15 of the 31 years I’ve been alive!). It challenges your perseverance, your attention to detail, the attention to your job, and your love of games.\n\nAfter eight hours of driving the same Honda Civic-style car in doughnuts, watching to see if it spontaneously combusts after the 14th loop, you may start to feel your passion ebbing.\n\nYes, this means you may have to test the same part of a game for days on end (depending on the complexity). It’s clearly not all fun and games.\n\nGames testing is only now utilizing small amounts of automation, but it is project, team, and company specific—not an industry standard. Most of games testing is done manually. When you test manually, it means you have to work through the test without aid from programmed automation scripts. Often, an experienced (maybe a lead or senior) tester will write out a test plan and distribute the work to their team.\n\nA single test is referred to as a test case. Working through a test case is also known as running a test case. The length of a test case depends on the project, but they are generally short, and test one section of the game at a time. This helps to isolate issues within specific areas of the game.\n\n
What Is Different About Software Testing?
\n\nUnlike games testing, software testing greatly utilizes automation scripts, and yes, you test software, not games. These scripts can be created before or after producing written test cases, as either can be used to supplement the testing of the other. A number of tools and frameworks have been developed to make automation quicker, as setting up automation scripts can initially be very time consuming.\n\nAs software testing makes greater use of automation scripts, this generally means that the job of a software tester is more technical than a games tester. For example, being a software tester, you may need to be able to use tools to query databases. Still, it depends on the testing methodologies used by each company and what they’re testing.\n\nThe field of software testing is usually seen as a more skilled profession than games testing, even though the skills required to be a games tester are exactly the same as those needed as a manual software tester.\n\n
Qualifications Needed
\n\nSo what background and experience do you need to get a job in each?\n\nFor software testing, you usually need a degree in computer science, software engineering, math, or anything technical, really.\n\nFor games testing, a degree may be useful, but it’s not always necessary. A love of games, attention to detail, and a strong work ethic can usually get you into the field.\n\n
Testing Platforms
\n\nFor games testing, the platforms you can test on are:\n\n
- \n
- PC (including Steam), and desktop
- Consoles
- Web – online games like MMOs, HTML5, and Facebook
- Mobile
\n
\n
\n
\n
\n\nFor software testing, you have:\n\n
- \n
- Web
- Software
- Mobile
\n
\n
\n
\n\n
Types and Specialties
\n\nThe platforms and content you test are the most obvious differences between the roles of a software and games tester.\n\nThese differences across the different platforms and between the content lead to diverse specialties within each role.\n\n
Games Testing
\n\nManual\n\nThis involves going through every test case by hand (no matter how many times you need to run it).\n\nPerformance\n\nThis ensures that the game runs at or above the required frames per second.\n\nCompatibility\n\nIf you’re testing a browser game, you may need to test the game’s functionality, usability, and accessibility across different browsers. This ensures players have the same quality of experience, no matter what browser they use to play.\n\nExploratory\n\nThis is where you can show your real skill. Exploratory testing is where you’re doing whatever you can to come across flaws and issues in the game. Once you’ve found an issue, you need to make sure you can recall the exact steps to reproduce it, so the developers can fix it.\n\nCertifications\n\nIn games testing, you may work across a number of different platforms like the latest consoles from Nintendo, Sony, or Microsoft. Each of these have different certification standards tests that games on their consoles are required to pass.\n\n
Software Testing
\n\nCompatibility\n\nIn software testing, specifically web testing, you may have to test whether the product is compatible with all the current versions of web browsers. In this situation, you would be classified as a specialist at compatibility testing.\n\nPerformance\n\nWith performance testing, you’re trying to determine how a system performs in terms of responsiveness and stability under a particular workload. Performance testing is a field that has a number of specialties within itself.\n\nAutomation\n\nAutomation involves creating test scripts that can be used repeatedly to allow testers to devote time to other tasks.\n\nFunctional\n\nFunctionality focuses on the inputs and outputs of the system and its behaviour. It can also be known as black box testing.\n\nNon-Functional\n\nAny non-functional tests focus on how the system operates, rather than how it behaves. It can also be known as white box testing.\n\nRegression\n\nWhen you perform regression testing, you run through the entire functionality of a product to ensure that nothing has changed since a new feature was introduced.\n\nIntegration Testing\n\nIntegration testing requires testing more than one component of the system at once, and making sure the way they are interacting is as expected.\n\nUnit Testing\n\nThis is testing individual components of the system. You must make sure their inputs and outputs are as expected.\n\nSanity Testing\n\nSanity testing is sometimes known as smoke testing. This is doing the bare minimum over a cross section of the product to ensure all the functionality is still intact.\n\nSystems Testing\n\nWhen you perform systems testing, you work to ensure that all the components of the system work together at once and as expected.\n\nEnd-to-End Testing\n\nFinally, end-to-end testing requires a test of the full cycle of the system from when the first object is produced or when the first customer interacts with it until the end state.\n\n
Automation Tools in Software Testing
\n\n
\n\nI’ve learned that a task can only be as fun as the tool you’re using to perform it.\n\nWhen I first started automation it was painful—we used WaTiN. I look back now and realize that if we didn’t begin with this tool, I might not have learned C# as deeply as I did, so silver linings and all that. But I let out a little scream of joy when our team was finally authorised to use Selenium. It’s the most popular automation tool—at the time of writing—for web and mobile testing (with plugins).\n\nSelenium offers two ways to automate: IDE and WebDriver.\n\nIDE is a desktop app that allows the user to create automated scripts using simple commands to detail the command, the target, and the value. No knowledge of programming is required, just how to navigate the Direct Object Model (DOM) of websites.\n\nIn contrast to IDE, Selenium WebDriver is a library that you install and use within your testing project. Utilizing several languages like Java, C#, Python, JavaScript, PHP, Perl, and Ruby, you can create automation scripts. Programming knowledge is needed for this tool, but you don’t need to be an expert. Once you get used to the methods of Selenium, writing tests is a lot more enjoyable.\n\n
Training and Certifications
\n\nCertifications from Foundation to Advanced level exist to extend and show your knowledge within software testing.\n\nThere’s currently no equivalent within games testing, although there’s nothing stopping a games tester from gaining a software testing certificate. In fact, it will probably help to strengthen the skills of that individual.\n\nThese certifications are currently offered by the BCS, Microsoft MTA, and MCSD.\n\nGames testing courses are available, but aren’t recognised as a necessary qualification for entry into the field.\n\n
Points to Consider When Moving from Games to Software Testing
\n\n
\n\nWhen you decide to move from games testing to software testing you should consider the following:\n\n
Positives
\n\nMore Money\n\nGenerally, software testers earn more money than games testers because, as I mentioned, the role could be more technical.\n\nBetter Quality of Life\n\nThe deadlines you work to aren’t usually as high pressured as games industry projects. Although there may be some overtime, there’s generally less of it, and it’s often compensated. With less overtime, you have more time to be you and enjoy life, so you can work to live—not the other way around.\n\nImprovement in Technical Expertise\n\nYour programming skills will improve depending on how much automation you perform, but your exposure to tools that are used in the backend will also increase. You may work on a daily basis with databases improving your SQL skills, working closely with developers so you’ll learn how to speak ‘dev talk’, and also debugging problems to a certain degree.\n\n
Negatives
\n\nGet Technical\n\nYou’ll have to make the time to learn automation, or demonstrate some technical ability, if you want a good chance at getting a role. If you want to get more technical, this could be a positive!\n\nStarting from the Bottom\n\nNo matter where you were as a games tester, you’ll have to start from the beginning as a software tester. This can hurt your pride a bit, but remember, juniors get a lot more leniency when it comes to making mistakes. It’s best to revel in this time, make your mistakes, learn lots, find your niche, then work your way up.\n\nThere may be more points to consider as the decision to switch careers is a personal one and your motivations are not something I can account for, but these were my main ones.\n\nWhen I looked at the pros and cons, the pros definitely outweighed the cons, so I switched.\n\n
Making the Transition Smoother
\n\nIn order to make switching career paths as easy as possible, I created small automated tools to assist me during the mundane testing tasks. I also bought and began reading the book, Software Testing: An ISTQB-BCS Certified Tester Foundation. To help you as you explore, I’d suggest doing these things:\n\nRead the Foundation Software Testing Book\n\nThis book covers all the basics of software testing and prepares you for any questions you may be asked about testing during your interview.\n\nLearn the Basics of Any Programming Language\n\nBy picking up a programming language, you will make the hurdle of automation a slightly shorter jump. As you read earlier, Selenium can be programmed in a wide range of languages, so I’d recommend choosing one of these.\n\nPlay Around with Selenium\n\nTo be honest, you don’t need a vast knowledge of a programming language to be able to understand the basics of Selenium. The commands are written in a readable way, so what you read is basically what you’re telling the browser to execute. For example:\n\ndriver.Navigate().GoToUrl(“https://simpleprogrammer.com”);\n\nWhat do you think that means?\n\nMove Forward One Percent at a Time\n\nStart doing small things. Anything to build up your knowledge one step at a time, one day at a time.\n\nAfter 30 days of doing this, you’ll find that you have gained a lot more knowledge than you would’ve thought. Try reading a page from a book like the ISEB Foundation Software Testing, complete a small Selenium problem a day, or execute a small C# tutorial.\n\nWhatever you choose, make sure it moves you forward towards your goal of building your software testing knowledge.\n\n
So What’s Your Next Step?
\n\nMoving from games to software testing can seem very daunting, but if that’s what you’re considering, then you should jump in with both feet.\n\nLearning alongside your current job will be tough, but it’s definitely worth it. The benefits of this career move outweigh the short term drawbacks. You only need to have patience, be self motivated, and believe you can do it.\n\nGood luck!\n\n