Thursday, November 15, 2007

Psychology of Software Testing

Software Testing-Psychology of Software Testing

The purpose of this section is to explore differences in perspective between tester and developer (buyer & builder) and explain some of the difficulties management and staff face when working together developing and testing computer software in Software Testing.

Different mindsets?
We have already discussed that none of the primary purposes of testing is to find faults in software i.e., it can be perceived as a destructive process. The development process on the other hand is a naturally creative one and experience shows that staff working in development has a different mindset to that of testers.We would never argue that one group is intellectually superior to another, merely that they view systems development from another perspective. A developer is looking to build new and exciting software based on user's requirements and really wants it to work (first time if possible). He or she will work long hours and is usually highly motivated and very determined to do a good job.A tester, however, is concerned that user really does get a system that does what they want, is reliable and doesn't do thing it shouldn't. He or she will also work long hours looking for faults in software but will often find the job frustrating as their destructive talents take their tool on the poor developers. At this point, there is often much friction between developer and tester. Developer wants to finish system but tester wants all faults in software fixed before their work is done.

In summary
Developers
-Are perceived as very creative - they write code without which there would be no system! .
-Are often highly valued within an organization.
-Are sent on relevant industry training courses to gain recognized qualifications.
-Are rarely good communicators (sorry guys)!
-Can often specialize in just one or two skills (e.g. VB, C++, JAVA, SQL).

Testers
-Are perceived as destructive - only happy when they are finding faults!
-Are often not valued within the organization.
-Usually do not have any industry recognized qualifications, until now
-Usually require good communication skills, tack & diplomacy.
-Normally need to be multi-talented (technical, testing, team skills).

Communication b/w developer and tester
It is vitally important that tester can explain and report fault to developer in professional manner to ensure fault gets fixed. Tester must not antagonize developer. Tact and diplomacy are essential, even if you've been up all night trying to test the wretched software

Counts