Software development life cycle, V-model, black-box testing, bugs, test cases, test plan. These are some of the words a beginner software tester might find in a software testing dictionary, and I learned about them on my first year of work as a software tester (which totally came as a surprise, I was just desperate in getting a job at the time). Some of these terms I encounter daily on tasks I need to accomplish, others I only got to understand theoretically.
Then years of serious work passed, and, interestingly, I realized that my software testing vocabulary grew while I took part in different projects, while I continued studying software testing concepts. I guess that’s how stuff work when something interests you, when the cat in you gets really curious. I got to know words like agile, context-driven approach, exploratory testing, scrum, test automation, test pyramid, test frameworks, and standardization. These things were being discussed in many places and they were scary at first, especially when I thought about how these seemingly complicated expressions fit in existing testing processes. But that’s part of the adventure. What we don’t know scares us sometimes. At my first job, all I knew were test procedures and bug reports and programmers. Testers outside my country wrote and talked about Selenium and QTP and Watir and JMeter, and suddenly there were a lot more things I needed to know about my job. I blame it all to my love of reading.
It’s been five years since I became a software tester, and it’s still loads of fun understanding new things, trying shiny new tools, learning what works and what does not. I owe everything I know it to the software testing community, to the blogs I follow, and to the software development teams I’ve gladly been a part of. And here are some new terms I didn’t think I would use with software testing: epistemology, Perl, abductive inference, heuristics, cognitive psychology. Cem Kaner, James Bach, and Bret Pettichord however makes a case about studying them.