6. Sample from Chapter "7 Habits of Highly Effective Testers"

7 Habits of Highly Effective Testers

1)        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!

2)        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.

3)        They test with both valid and invalid inputs.
They exercise the system with valid inputs; and they exercise the system with invalid inputs.

They test with reasonable data and they test with unreasonable data.

They input normal data, extreme data, boundary value data, and data beyond boundaries.

4)        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.

5)        They know that their job is to find errors.
They know that they get paid to uncover errors, whether or not that makes them popular.

6)        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.

7)        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.