What is it that we’re trying to achieve with the software development process? Most people agree that roughly speaking we’re trying to maximise the quality of our product or solution, within some constraints (money/time/people/etc.). That’s all well and good, but what is quality?
Oxford says: Quality – The standard of something as measured against other things of a similar kind; the degree of excellence of something.
Ok, but not that helpful if you’re trying to maximise it. And it turns out that when you try to define it down more tightly, you rapidly run into strong differences; For example, in Korea, quality is “Brand new, cutting edge”, which is a very different thing to optimise for from the UK “Solid, lasts, doesn’t break”. (For more examples, try this interesting post.)
Jerry Weinberg has a good definition, which I’ve heard around a few times now: Quality is value to some person who matters. It sounds a bit trite, but I love it because you can do things with it. Identify who matters. Find out what they value. Then you can start optimising that.
 I use “software development process” as a whole rather than “testing” to sidestep the “Why do we test?”, “Are testers trying to improve quality?” question. That’s probably worth a separate post at some point. Regardless, as a tester, you’ll make better decisions if you have the context of what your overall team and organisation are trying to achieve.