Software Testing: The Psychology Of Testing

.
Software Testing / Chapter 01 01 / 07

The
Psychology
of Testing.

Independence · Mindset · Communication
Testers and developers think in different ways.
◉ ISTQB FOUNDATION · SECTION 1.9
The blind spot · creator's relationship 02 / 07
Why independence matters

Flaws in the created object are rendered invisible to the creator.

Testing can be more effective if it is not undertaken by the individual who wrote the code. The nature of that relationship is such that the creator has a special bond with the created object.

Of course we want the developer to debug and even attempt to test it, but we accept that testing done by that individual cannot be assumed to be complete.

Developer tests own codeINCOMPLETE
Requires mindset changeDIFFICULT
Separate individualsNO CONFLICT
Someone other than the creator should test the object. This approach is called test independence.
The scale · levels of independence 03 / 07
Listed in order of increasing independence

Independence comes at a price.

It is much more expensive to use a testing consultancy than to test a program oneself. But greater independence brings a fresh perspective — the ability to see what the creator cannot.

L/01
Those who wrote the code
L/02
Same development team
L/03
Independent test team
L/04
Different company (outsourced)
The mindsets · developer versus tester 04 / 07
Testers and developers think in different ways
Developer Mindset

Prove
it works.

The goal is producing acceptable software by certain dates. Any testing is aimed towards that goal. As soon as problems are discovered, they can be fixed without extensive error logs.

versus
Tester Mindset

Show
it does not
work.

Trying to find where the software fails. A constructive destructive intent. If there are separate individuals involved, there are no potential conflicts of interest.

The human factor · criticism and ego 05 / 07
If a defect is found

The software author may see this as criticism.

People and projects have objectives, and we all modify actions to blend in with the goals. If a developer has a goal of producing acceptable software by certain dates, then any testing is aimed towards that goal.

Testers need to use tact and diplomacy when raising defect reports. The mistake may be in the code, or in one of the documents upon which the code is based.

Rule of thumb

Raise defects
against the software.

Not against the individual who made the mistake. When we raise defects in a constructive way, bad feeling can be avoided.

The bridge · constructive communication 06 / 07
Working together with the joint target of better quality systems

Communication needs to be objective and expressed in impersonal ways.

Principle 01

Focus on
quality.

The aim is to work together rather than be confrontational. Keep the focus on delivering a quality product, not on who made the error.

Principle 02

Non-personal
language.

Results should be presented in a non-personal way. The work-product may be wrong, so say this in a non-personal way — without pointing fingers.

Principle 03

Empathy &
understanding.

Attempt to understand how others feel. It is possible to discuss problems and still leave all parties feeling positive about the outcome.

Principle 04

Confirm shared
meaning.

At the end of discussions, confirm that you have both understood and been understood. Restate what you have heard to verify agreement.

Conclusion · the joint target 07 / 07
Testers and developers are not opposed

Working together.

— PRINCIPLE / 01
Independence
— PRINCIPLE / 02
Mindset
— PRINCIPLE / 03
Tact
— PRINCIPLE / 04
Communication
One of our goals is better quality systems delivered in a timely manner. Good communication between testers and the development teams is one way that this goal can be reached.
.