That title has a decent ring to it don’t you think? Perhaps the word “Engineer” reminds you of your early childhood playing with K’nex, Legos, or setting up that model train set that eventually snaked its way through your entire basement. Those are the things I thought of when I was given the title and as a novice tester I did not see myself as having anything in common with an engineer. I wondered why I was given the title, “I’m just a tester… a QA guy…” I pondered. Over the next few months I thought about this quite a bit.
More and more I began to realize my roles as a tester.I have a friend who is a civil engineer. For his senior project he examined the I-5 corridor from Tacoma to Everett coming up with hundreds of projected problems and issues that need to be addressed in the next 10 years. That was very impressive to me, and as I tested applications I realized why I was given the title of “Engineer.” My friend developed ways to survey the I-5 corridor in order to rate its current condition. He found problem areas and pointed them out, and often proposed what he thought would be the best fix. In the same way, I develop testing strategies to test an application’s integrity and usability. I find problem areas and point them out and am often involved in deciding the best way to fix a problem. Staying with this analogy, both I-5 and software provide a way for people to get from point A to B. My duty as a Test Engineer is to make sure people get through the software without running into slow moving traffic, road blocks, traffic accidents, or closures. In addition to this, my friend often had to think about the impact work on the freeway would have on side roads. I too must test the paths less traveled due to the possibility of weak links causing problems with the main application. In addition, there is no one way to get from Everett to Seattle, just as there is no one way to get through an application. All routes must be tested and given priority based on what has happened in the past, what may happen in the future, and other environmental or situational factors.
Different people may take different routes to work due to road conditions, weather, or because of what someone told them about a particular route the day before. Likewise, people use software in different ways because of training (or lack thereof), the task at hand, or the way in which they feel it was designed to be used. To further explain this, imagine giving a very simple application to ten people and explaining to them what it does. Each person will explore different areas for different reasons and each person will find how the application works best for their needs. This is why it is important as a Test Engineer to think as a consumer.