Brandon Holloway is a Quality Assurance Engineer at ThreeWill. He has over 10 years of QA experience in requirements gathering, risk analysis, project planning, project sizing, scheduling, testing, defect/bug tracking, management, and reporting.
I’ve been a software tester for over a decade but haven’t had much actual coding experience since college. Last month I decided to stretch my wings and attempt to earn a basic software development certification. I’m happy to say that I recently passed Microsoft’s 98-361 exam to earn the MTA: Software Development Fundamentals certification. I thought it may be helpful to share some areas where my testing experience helped me on the exam, and in turn, where gaining some new knowledge has helped me to become a better tester. Hopefully, it will do the same for you!
Understanding Core Programming / Understanding Object-Oriented Programming
– Error Handling – This is one of the most common things to test in any application, so you likely have at least some basic knowledge here.
– Data Types and Decision Structures – Being a tester (or just working in IT in general), you probably have a basic understanding of these even if you’ve never done any actual programming.
– Object-Oriented Programming Concepts – This was probably the most foreign section to me, but I still understood some of the most basic things just from working so closely with developers over the years. If you’ve done any object-oriented programming at all, you’re already ahead of where I was going in.
Understanding General Software Development
– Application Life-Cycle Management – With testing being such an important part of the application life cycle, you should already have a pretty good understanding here. There may even be a question or two directly related to testing.
– Interpreting Specifications – Specs are a critical part of developing test plans and test cases for most testers, so this section shouldn’t be foreign at all.
Understanding Web Applications
– Web Hosting/Web Services – If you aren’t testing these directly, you’re likely still well aware of them and how they work if you’re experienced in testing web apps.
Understanding Desktop Applications
– Windows Apps/Console-Based Applications/Windows Services – Most testers interact with at least some of these areas on a daily basis, whether testing them directly or using them to support their testing efforts.
– Database Query Methods/Database Connection Methods – If you have database testing experience, such as with SQL Server, you’ll have a head start in these areas. There may be some questions around basic SELECT statements.
How can the knowledge gained from this certification help you become a better tester?
Although this is just a fundamentals test, it gives you a taste of the complexity developers deal with behind the scenes. If you begin to better understand how the actual code works, it may help you test more efficiently, find edge cases, and write better test cases, among other things. One of the big things I took from it is simply understanding more of the developer terminology that I heard all the time, but sometimes didn’t fully understand. It also strengthens your grasp of knowledge you already have (see areas listed above). At the very least it should earn you a few brownie points from your fellow devs.