As software tester, you are in bug business. In order to become successful Agile software tester, you first need to know what is a software bug. This definition of Black Box Software Testing has answer on this question.
What Are We Really Testing For?
Quality is value to some person (Weinberg) that matters (Bach addition).
Notice that this is general definition of quality that could be applied everywhere. Lets take an example. You bought new iPhone XR to your grandma. For you, this is high quality product because it has excellent phone camera, you can use Slack, WhatsApp and numerous other popular apps. You delivered phone to your grandma, give basic usage introduction, and went home. Next morning, you called her, but there was voice message: Customer turned off its phone. You are back at her place, and she thanked you for you gift with words: “I need a phone which battery lasts for 7 days”.
Different person has different quality attributes about same product.
Quality is inherently subjective. Different stakeholders will perceive the same product as having different levels of quality. Testers look for different things for different stakeholders.
Software Error (Aka Bug)
Here is James Bach definition:
Software bug is any threat to the value of the product to any stakeholders who matters.
Or in pictures, for you bug is:
and for your grandma bug is:
Software error (aka bug) is attribute of your product. It is a feature that:
- reduces product value to favored stakeholder
- increases product value to disfavored stakeholder
- without a sufficiently large countervailing (same value amount for both stakeholders) benefit
It is important to know that software error could not only be coding or functional error. Remember that design and architectural errors are bugs to.