Psychology in Software Testing

Human psychology has significant impact on software testing because Software development, involving software testing, involves human beings.

The mindset used while testing differs from that used while developing software. It becomes essential to consider the psychological aspects when working in mixed teams.

?Some technical general perceptions are:


No alt text provided for this image
No alt text provided for this image

People think software tester’s life is the same as they treat everything per their work approach.

No alt text provided for this image
No alt text provided for this image

?I would be happy to clarify further the perception by telling the following story:

An Indian poet Javed Akhtar's response to Shabana Azmi's question about his romanticism in family life, and his comparison of it to people who work in the circus not always hanging upside down at home, is a symbolic way of saying that just because someone has a certain professional skill or expertise, it doesn't necessarily mean they exhibit that skill or expertise in every aspect of their personal life.

Similarly, his comparison could be applied to software test engineers. Just because they are skilled at identifying defects and ensuring software quality during their work doesn't necessarily mean they do the same in their personal life.

Bias in software testing is an important topic to discuss. Like any other field, software testing can be subject to biases that can impact the quality and fairness of testing outcomes.

Signs of Cognitive Bias:

·????????Perception of Reality is not Equal to Reality

·????????Only pay attention to that is confirming your opinions/perspective.

·????????Blaming outside factors (bad code/No review) when things do not go your way

·????????A tester who tests the good code of a specific developer is more likely to test other codes of that specific developer because of their positive experience with him/her.

·????????Learning a little about a topic and then assuming you know all there is to know about it

No alt text provided for this image


Types of Cognitive Biases in Software Testing

·????????Confirmation bias occurs when a person interprets a situation according to their pre-existing?beliefs or understandings.

·????????We assumed that?one specific developer’s code would have more defects when compared to the others. Therefore,?we would have spent a lot of time testing the module they developed by him.

·????????Being under the influence of these beliefs will tend to increase the risk of?missing out on defects in the modules developed?by others.

·????????Resemblance bias is to judge a situation based on the resemblance of a similar situation.

·????????As testers, we repeatedly have a habit of thinking that the Account Payable module will have similar kinds of errors. In contrast, the Account Receivable module would have similar errors.

·????????Naturally would be looking out only for those similar errors.

·????????Unfortunately, because of this nature, we missed out on the most obvious bugs because our minds did not allow us to think that.

·????????Congruence bias behavior where our mind refuses to think of alternatives.

·????????It means testers have a habit of validating only the?expected behavior,?and as a result, the?negative validations?are missed.

·????????When test cases are being written, cover all the requirements with their expected behaviors and miss out on the negative flows because?not all the negative flows?are mentioned specifically in the requirements.

·????????In-Attentional blindness involves selective processing of visual information

·????????Behavior where testers missed the most obvious defects.

·????????For example, where one of the screens was developed new then it is a natural tendency of the testers to focus on the newly developed screen more and miss out on the other critical integrations.

·????????Commonly occurred in integration testing and regressions as well.

Find the difference: ?

No alt text provided for this image

·????????Negativity bias?gives more weightage to bad experiences than a good

·????????Negativity bias is especially common in QA teams.?

·????????Overconfidence bias is the tendency for a person to overestimate their software testing abilities.

No alt text provided for this image


??????Anchoring bias is a Tester's tendency to rely too heavily on the first piece of requirement information they receive on a topic.

??????Regardless of the accuracy of that information, Tester use it as a reference point to test the application.

??????Example: Customer wanted a four-wheel vehicle. (What is your understanding)

??????User wants this

No alt text provided for this image

Ways to overcome Bias

??????Identify the type of bias

??????Observe the evidence

??????Skip generalizations

??????Avoid assumptions

??????The psychology of testing improves mutual understanding among team members and helps them work towards a common goal

??????Start with Collaboration (Teamwork)

??????Communication of test results in a Constructive Manner.

Muhammad Naeem

Software QA Team Lead at Contour Software(Software Testing | Test Automation | ACP | CSQP | AWS | Azure | Selenium | Selenide | Fireflink

1 年

Good share thanks for sharing Muhammad Kamran .

要查看或添加评论,请登录

Muhammad Kamran ?的更多文章

  • Role of the Scrum Framework in Machine Learning Projects

    Role of the Scrum Framework in Machine Learning Projects

    In the fast-changing field of machine learning, projects can be tough to manage because they are complicated and hard…

  • Behavior Driven Development (Brief Understanding)

    Behavior Driven Development (Brief Understanding)

    Behavior Driven Development is the way for software teams to make effective interactions between business and technical…

  • Overview to Scaled Agile

    Overview to Scaled Agile

    Scaled Agile: Scaled Agile is designed to give a team flexibility and it includes set of Lean Agile Principles…

    2 条评论

社区洞察

其他会员也浏览了