A project is like a road trip. Some projects are simple and routine, like driving to the store in broad daylight. But most projects worth doing are more like driving a truck off-road, in the mountains, at night. Those projects need headlights. As the tester, you light the way.
Software testing? Quality assurance?
Contrary to popular belief, your job is not about:
- Pissing people off with silly bugs and edge cases.
- Making fun of the company's projects.
- Sitting around and tapping aimlessly without producing value.
Your role is twofold:
- As a software tester, your job is to take a good, hard, intelligent look at whatever software product you're currently working on in order to tease out the bugs, inconsistencies, ugliness and general sloppiness which is part and parcel of software development.
- As a quality assurance engineer, your job is to look above and beyond any particular implementation in order to improve the quality of both the project at hand and the processes leading to it. This is also known as the shift left approach.
Your ultimate goal is to help the company develop and deploy the best possible products within the usual constraints of time, budget, complexity, and client stubbornness.
What are the challenges?
- You will constantly battle the unknown. A huge part of your job is to get and share valuable information, be it client expectations, human or technical bottlenecks, technical knowledge, risks, specifications, builds, deadlines, etc.
- You will constantly battle imperfection and failure. Software development is hard and a lot of things can go wrong at any particular moment. Stay wary of that fact and carry on.
- You will be blamed at times. Your job is to report as many issues as possible and influence quality to the utmost of your ability. However, the burden of quality doesn't lie solely on your shoulders - quality is always a team effort, your job is to drive that effort forwards.
- You will soon realize that a tester's work is never done. Bugs are always lurking in the shadows, but experience will help you judge when to call it a day and move on.
You should strive to be
- With project managers; who will sometimes push to get things done faster than you would find comfortable.
- With developers; who might get sick and tired of fixing bug after bug.
- With the product; which might look like a duct-taped mess for a long, long time into development.
- With yourself; because your job can get repetitive and bugs have nasty faces.
- You should see the forest for the trees and the trees for the forest: big bugs come first, but small bugs are important too.
- Constantly improving
- Lazy testers will be replaced by automated tests, it is your innate ability to empathize, adapt and learn that sets you apart from machines and allows you to spot what tests miss.
- Positive and teamspirited
- More often than not, you are the bringer of bad news, so don't make them any worse than they already are.
- Think of yourself as a QA analogue of Sherlock Holmes. Your job is to investigate both projects and products by constantly asking questions and getting to the bottom of things instead. "This is not my job" is not a part of the QA vernacular.