7 Habits of Highly Effective Testers
They uncover error in the code, not in the person.
They find fault in the code, not in the persons. Anybody can make errors. Even
tested systems are not error-free!
They know that part testing is no testing.
There is nothing like 50% or 80% testing. Can we say that a program runs
correct 50% or 80%?
Having failed to uncover errors in 99% of the testing area, they do not leave
out the remaining 1%, knowing that the probability of finding errors in it
would be all the more.
They test with both valid and invalid inputs.
They exercise the system with valid inputs; and they exercise the system with
They test with reasonable data and they test with unreasonable data.
They input normal data, extreme data, boundary value data, and data beyond
They check if system is doing what it should, and also if it is
doing what it should not.
Test system from all angles. They test to check if the system is indeed doing
what it is supposed to do.
They test to check if the system is not doing what it is supposed to do.
They test to check if the system is doing what it is not supposed to do.
They know that their job is to find errors.
They know that they get paid to uncover errors, whether or not that makes them
They design test-cases to maximise quality and minimise quantity.
They know that a genuine tester is known by his/her creativity and the quality
of the test-cases he/she creates; and not be the quantity or volume of humdrum
test-cases. In fact the goal of a tester is to maximise quality and minimise
quantity, so that testing can be done faster.
They automate as much as possible, and as early as possible.
They know that the real job of a tester is to create test-cases, not to execute
tests. Test execution can be done even by a person other that a tester – or, it
can be automated. A tester knows that the time saved on regressive testing through
automation can be put to better use in creating test-cases – the real job.