You see job listings for them everywhere: QA Tester, QA Engineer, Software Tester, Mobile Tester. But these descriptions are all ways of referring to jobs that involve testing code. Code testers examine existing code for flaws and suggest improvements. They may do this manually or through the use of script-based tests. They also sometimes develop code or scripts designed to test other sets of code.
Code testers play an integral role in how projects reach completion. They’re one of the last stops on the quality assurance train before the public gets their hands on a release version. Whether that’s a piece of software, a mobile game, or an ecommerce website doesn’t really matter. What does it that these code testers are comfortable in the oft-times disorienting places where code is messy, uncommented, and bracket-less.
In fact, code testers get their hands dirty a lot and can be likened to another set of professionals tasked with unearthing something—paleontologists.
Don’t believe me? Let’s take a look at the similarities in how both code testers and paleontologists get to work.
Preparation Before Entering the Field
Paleontologists obviously need to do some work before they get to work. Some of this has to do with preparing for a trip to a remote location. The location is often in a desert somewhere. Or even in an isolated cave. These scientists must plan their trip, accordingly. This means acquiring the appropriate attire, booking a flight and accommodations, and assembling a team. It also means doing some mapping out of where the dig will take place.
Code testers work similarly. While they more often than not don’t have to leave the comfort of their own home (or office chair), they still need to do some prep before getting down to business. This means doing some research on the project they’re going to start (or reviewing provided notes and summaries) and creating a plan of action. What part of the code will they tackle first? What issues will they attempt to identify? Knowing what you’ll be looking for is an essential part of being an effective code tester.
Acquire the Appropriate Tools
Before heading out into the field and digging up dinosaur bones, paleontologists need to gather the appropriate tools to get the job done right. I mean, heading off for an extended trip without bothering to pack your bag with the right tools to do your work would be silly, right? Paleontologists will often pack things like a rock pick, a variety of hammers, chisels, tweezers, trowels, sieves, magnifying glasses, dust brushes, and a sturdy backpack to hold it all in. They also need to bring along things like a camera, compass, map, labels, containers, newspaper, and writing materials. This is just a general overview of items required and some paleontologists may need more or less depending on the type of dig they’ll be going to.
Code testers might not need a bulky set of excavation tools, but they still need tools all the same to get to the hard work of testing code. An up-to-date computer is a must, of course, as is a reliable Internet connection. They might also need the right piece of software to conduct code testing and this will vary depending on the type of code being tested. For instance, if you’ll be testing PHP, something like PHP Sandbox will help you to analyze the code and evaluate for vulnerabilities. Working with JavaScript? JSLint will help. There’s even a slew of websites that allow you to test code, like Codepad, CSSDesk, and the Practice Environments at Lynda.com.
Excavation Begins
This is where the real dirty work starts. And while paleontologists literally get dirt under their fingernails, code testers also have to truly engage if they want to see results. Even with tools, code testing requires a sharp eye and precise focus. It’s easy to miss a small detail when the code feels miles long.
Paleontologists use their tools to unearth fossils. They break away bits of rock using hammers then use chisels to remove smaller pieces from around the fragile bones. From there, they use dust brushes to remove bits of sand and rock powder to reveal the finer details. As you can imagine, one imprecise move could result in the fracturing of a priceless treasure.
If a code tester messes up, they aren’t compromising a piece of history, but the success of the project could be in jeopardy. That’s why careful attention to detail and an ability to concentrate are key attributes of the very best code testers.
Careful Evaluation and Cleaning
Once paleontologists are done in the field, it’s time to carefully pack up their fossils and go back to the lab where they’ll spend years cleaning and examining their discoveries. This painstaking work is a true labor of love, all in the name of science and exploration. The dedication with which these workers pore over their findings is inspiring.
And once they’re done cleaning the bones, they make casts of them. These exact replicas are what you most often see on display in museums as reconstructed skeletons, supported by wires. The casts themselves are works of art.
Code testers don’t work on projects for as long but a required skill set is certainly that of evaluation. It’s not enough to run a code scanner and call it a day. A good code tester knows how to run the test and then evaluate the results and even suggest possible solutions. In some smaller operations, code testers know how to code themselves and can even implement the fixes.
Once changes to the code have been made, the tests must be performed again to ensure the modifications didn’t break anything else. Test, fix, test, fix is a common pattern and the only one that results in the best quality end-product possible.
Putting the Work on Display
When a paleontologist is finally done with her work; when the excavating, cleaning, and casting of fossils is completed, she puts that work on display in a museum for all to see. While code testers might not be involved with the official launch of a project they are integral for both its existence and its success. Without code testers, every piece of software, every app, and every website would be buggy at best and non-functional at worst.
Have you ever worked as a code tester? What was the experience like? Do you find the comparison to the work paleontologists do apt? Or is another analogy better? Please share your thoughts below.
Image sources: Mike Beauregard, Dallas Krentzel, Bureau of Land Management Oregon and Washington, Ryan Vaarsi
4 Comments