CH01. L05. The Psychology of Testing

MaharaTech - ITI MOOCA
19 Nov 201703:59

Summary

TLDRThis video script explores the distinct mindset of testers compared to developers, emphasizing the importance of independent testing at various levels, from in-house to external. It addresses common misconceptions about testing and highlights the value in identifying defects to save time, money, and reputation. The script also underscores the need for constructive communication skills among testers to foster a cooperative environment and improve the overall development process.

Takeaways

  • πŸ€” The mindset of a tester differs from that of a developer, emphasizing the importance of distinct perspectives during the software development lifecycle.
  • πŸ” Testing should ideally be conducted by someone other than the developer to ensure unbiased identification of defects and failures.
  • πŸ”„ There are varying levels of dependency in testing, ranging from the developer testing their own code to external bodies or outsourced testers.
  • πŸ‘₯ Effective communication is crucial between testers and other team members, including analysts, designers, and developers.
  • 🚫 Misconceptions about testing, such as it being a destructive activity, should be addressed to foster a positive team dynamic.
  • πŸ’‘ Testers possess unique skills like curiosity, professional pessimism, and attention to detail, which are essential for thorough testing.
  • πŸ› οΈ Finding defects during testing saves time and money that could be lost if the product were released with issues.
  • πŸ›‘οΈ Discovering defects improves the product's quality and reduces risks to its reputation.
  • πŸ’Ό Testers contribute to the enhancement of developers' skills by identifying mistakes that can be learned from.
  • 🀝 Personal skills for constructive communication are vital for testers to maintain positive relationships within the team.
  • πŸ“‹ Test results should be communicated in a neutral, non-accusatory manner to ensure they are constructive and beneficial to the team.

Q & A

  • Why is it important for testing to be done by someone other than the developer?

    -Testing should be done by someone other than the developer to ensure an unbiased perspective. This separation helps the developer focus on creating the software, while the tester can find defects and failures more objectively.

  • What are the different levels of dependency on a different person in testing?

    -The levels range from the developer testing their own code (least independent) to having an external company or outsourced tester (most independent). This helps in maintaining objectivity and thoroughness in the testing process.

  • Why is independent testing beneficial for software development?

    -Independent testing allows for a more critical and unbiased examination of the software. It helps in identifying defects and failures that the original developer might overlook, thus improving the quality of the final product.

  • At what levels of testing can independent testing be executed?

    -Independent testing can be executed at any level of testing, including unit testing, integration testing, system testing, and acceptance testing.

  • What are some misconceptions about testing and testers?

    -Some common misconceptions include the belief that testers are always delivering bad news, finding defects that criticize the product and the developer, and that testing is a destructive activity.

  • How can testers avoid negative perceptions from others in the team?

    -Testers can avoid negative perceptions by communicating in a constructive way, focusing on the benefits of finding defects early, and emphasizing the role of testing in improving the product and the developer's skills.

  • What are some key skills required for a tester?

    -Key skills for a tester include curiosity, professional pessimism, a critical eye, attention to detail, and the ability to predict potential errors based on past experiences.

  • How can defects found during testing save time and money?

    -Finding defects during testing can save time and money by preventing the release of a faulty product. It also reduces the risks associated with product failure and damage to the product's reputation.

  • What are some personal skills that testers should have for effective communication?

    -Testers should have personal skills such as believing in cooperation over conflict, understanding others' feelings and reactions, ensuring mutual understanding in communication, and presenting test results in a neutral and constructive manner.

  • How should the results of the testing process be communicated to the team?

    -The results of the testing process should be communicated to the whole team in a neutral and constructive way, without criticizing or accusing anyone. The focus should be on how the findings can help the team improve the product.

  • What is the importance of revising the content of the testing process?

    -Revising the content of the testing process in a text form is important for better comprehension and clarity. It helps in ensuring that all team members understand the testing process and its outcomes.

Outlines

00:00

πŸ€– The Duality of Minds: Developer vs. Tester

This paragraph discusses the distinction between the mindset of a developer and a tester during software development and testing. It emphasizes the importance of independent testing, suggesting that a tester who is not the developer can be more effective. The paragraph outlines different levels of testing independence, from the developer testing their own code to external audits by a different company or outsourced professionals. It also touches on the benefits of separating the roles of development and testing, such as improved focus and defect detection.

πŸ—£οΈ Communication Strategies in Software Testing

The second paragraph focuses on the communication between testers and other team members, including analysts, designers, and developers. It addresses common misconceptions about testing and testers, portraying them as bearers of bad news. The paragraph suggests that constructive communication can alleviate negative perceptions and improve collaboration. It highlights the unique skills required for effective testing, such as curiosity and attention to detail, and argues that finding defects is beneficial for saving time, money, and improving the product's reputation. The paragraph concludes with personal communication tips for testers to foster a cooperative environment and present test results in a neutral, constructive manner.

Mindmap

Keywords

πŸ’‘Testing Process

The testing process refers to the systematic approach taken to evaluate a software product to ensure it meets the specified requirements and is free from defects. It is central to the video's theme, emphasizing the importance of a different mindset from that of a developer during this phase. The script mentions that the tester's mind is distinct from the developer's, highlighting the need for a separate individual to execute testing to ensure a more objective and thorough evaluation.

πŸ’‘Developer's Mind

The developer's mind represents the perspective of the person creating the software, which is focused on implementation and problem-solving from a design and coding standpoint. In the script, it is contrasted with the tester's mind, indicating that developers might overlook certain issues due to their close involvement with the creation process, thus necessitating an independent tester.

πŸ’‘Tester's Mind

The tester's mind is the mindset of an individual whose role is to scrutinize and evaluate the software for any potential faults or failures. It is crucial for identifying issues that developers might miss. The video script discusses the importance of this mindset being different from that of a developer to ensure unbiased and comprehensive testing.

πŸ’‘Dependency Levels

Dependency levels in testing refer to the varying degrees of separation between the developer and the tester. The script outlines four levels of independence in testing, ranging from the developer testing their own code to having an external entity perform the testing. This concept is key to understanding the video's argument for the benefits of independent testing.

πŸ’‘Independent Testing

Independent testing is the practice of having someone other than the original developer evaluate the software. The video script advocates for this approach to increase the likelihood of discovering defects and to allow developers to focus on other tasks. It is presented as a best practice across different testing levels, from unit to acceptance testing.

πŸ’‘Communication

Communication is highlighted in the script as a vital aspect of the testing process, particularly in how testers interact with other team members such as analysts, designers, and developers. Effective communication can dispel misconceptions and foster a collaborative environment, which is essential for the success of the testing phase.

πŸ’‘Misconceptions

Misconceptions about testing and testers refer to the false beliefs or negative perceptions that other team members might have about the role of testers. The script points out that some view testers as bearers of bad news, which can lead to a destructive rather than a constructive dynamic. Addressing these misconceptions is part of promoting better communication and understanding within the team.

πŸ’‘Constructive Communication

Constructive communication is a method of interacting that focuses on providing feedback in a way that is helpful and solution-oriented, rather than critical or negative. The video script emphasizes the importance of this approach in the context of testing, suggesting that it can mitigate negative feelings and promote a more cooperative team environment.

πŸ’‘Personal Skills

Personal skills in the context of the video refer to the individual abilities that testers or test leaders should possess to effectively communicate and collaborate with others. These skills are essential for fostering a positive and productive testing process, as illustrated by the script's discussion on the importance of understanding others' perspectives and ensuring mutual comprehension.

πŸ’‘Cooperation

Cooperation is the concept of working together towards a common goal, as opposed to working in competition or isolation. The script promotes the idea of cooperation over conflict in the testing process, suggesting that a collaborative approach can lead to better outcomes and a more harmonious team dynamic.

πŸ’‘Critical Eye

A critical eye refers to the ability to carefully scrutinize and analyze a situation or product, often with the aim of identifying potential issues or areas for improvement. In the script, it is one of the skills attributed to testers, highlighting the importance of this attribute in the process of finding and addressing defects in software.

Highlights

The mindset of testers differs from that of developers during the software development process.

Testing should not solely depend on the developer due to the distinct thinking processes involved.

Different levels of dependency on a separate tester can be identified in the testing process.

Developers can still test their own code, but assigning testing to a different tester can lead to better focus and defect detection.

Independent testing can be applied at various testing levels, including unit, integration, system, and acceptance tests.

There are four levels of independence in testing, ranging from the developer testing their own code to external certification.

The first level of testing independence is the developer testing their own code.

The second level involves another team member from the development team conducting the testing.

The third level of independence is when someone from a different group or department within the same company tests the code.

The fourth level of independence is achieved when an external entity, such as a different company or an outsourced tester, performs the testing.

Communication between testers and other team members, including analysts, designers, and developers, is crucial.

Misconceptions about testing and testers need to be addressed to foster better team communication.

Testers are often viewed as bearers of bad news, which can create negative perceptions within the team.

Constructive communication can help mitigate negative feelings between testers and other team members.

Testers possess unique skills such as curiosity, professional pessimism, a critical eye, and attention to detail.

Finding defects during testing saves time and money that could be lost if the product was launched with defects.

Discovering defects also reduces risks and improves the developer's skills by identifying their own mistakes.

Testers and test leaders should have personal skills for constructive communication with the team.

Cooperation is emphasized over conflict in the communication process between testers and the team.

Understanding the feelings and reactions of others is key to effective communication.

Ensuring mutual understanding between the tester and the team is crucial for clear communication.

Test results should be presented to the team in a neutral, non-accusatory manner to promote constructive feedback.

Personalizing problems should be avoided to maintain a constructive approach to testing feedback.

Revising the content of the video into a text form is recommended for better comprehension.

Transcripts

play00:05

The tester's mind during the testing process is different

play00:07

in the way of thinking from the developer's mind while developing the software.

play00:10

As there is a difference between them,

play00:12

we will clarify it in this video.

play00:15

why should testing depend on a person who is not the developer?

play00:18

what are the levels of dependency on a different person

play00:21

in testing. Also, as there is a difference between them,

play00:24

we will learn and remember some

play00:27

communication tips with rest of the team.

play00:29

Although any developer is capable of test his own code,

play00:32

but separating this task and assigning it to a different tester

play00:35

is better. Because it will help him more

play00:38

to focus his efforts during testing and

play00:41

the tester can find defects and failures.

play00:44

The independent testing can be executed at any level of testing,

play00:46

whether unit testing , integration, system

play00:49

or acceptance test. There are levels of independence,

play00:52

which can be arranged from the least to the most accurate

play00:55

as follows:

play00:57

The first level : The one who wrote the code is the one to test it.

play01:00

The second level : The one who will test it is another one

play01:03

but still from the developers team. The third level:

play01:06

Another one will test but he is from a different group or department in the same company.

play01:09

The fourth level : The one who test the code is

play01:12

from a different company or he may be an outsource

play01:15

or certification by an external body.

play01:18

Let's move to the second section which is

play01:20

about the communication between the tester and the rest of the team, like:

play01:23

analysts, designers and developers.

play01:26

In the beginning, we need to know the misconceptions about testing and tester

play01:29

in the view of others.

play01:31

It's known about him that he is the person who always has bad news

play01:33

who find defects in our work,

play01:36

in which we did our best and when they

play01:39

find defects or failures in a product, this means

play01:41

that we criticize the product and the developer

play01:44

who wrote its code. Therefore,

play01:47

testing is seen as a destructive activity.

play01:50

we can avoid all the bad feelings

play01:52

between testers and others by communicating

play01:54

in a constructive way.

play01:57

We shall start the constructive communication

play02:00

with some information which you should

play02:03

transfer and correct to those who you work with.

play02:05

The process of finding failures in a system requires

play02:08

some different skills, which is done by the tester.

play02:11

Some of them are: curiosity, professional pessimism,

play02:14

a critical eye, attention to detail.

play02:17

In addition to his experience in

play02:20

adding his own error guessing before starting testing.

play02:23

this results from repeating the testing process

play02:26

to different projects, and expecting which

play02:29

modules or layers that have defects in

play02:32

a system like that. Secondly,

play02:34

the defects we find during testing will save a lot of time

play02:37

and money that we may lose later on

play02:40

if this product was launched with its defects. it will also

play02:43

reduce the risks which may face the product and its reputation.

play02:46

The defects we find, will improve

play02:48

the developer's skills, as he will discover

play02:51

his own mistakes which will improve his skills later.

play02:54

After those three facts about testing, we also,

play02:57

as testers or test leaders, should have

play03:01

personal skills to communicate with others

play03:03

in constructive way.

play03:06

These are some ways we will remember

play03:08

during communication.

play03:11

1. Believe in the concept of cooperation is better than war.

play03:14

2. Give yourself a chance to understand

play03:17

how the other person feels and reasons of his reaction.

play03:20

3. Be sure that the other person

play03:23

has understood my words correctly

play03:25

and you also have understood his.

play03:28

4. The results of testing process should be submitted to

play03:31

the whole team in a neutral way without criticizing any one,

play03:33

or accusing anyone of the team to have a problem.

play03:36

They should be presented in a constructive way that

play03:39

can help the whole team. i.e. we don't

play03:41

personalize the problem. By the end of this video,

play03:44

remember that it's important to revise the content

play03:47

we've summarized in a text form, to be more comprehended.

play03:50

this part you can find in a file named

play03:52

The Psychology of Testing.

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
Software TestingDeveloper MindsetTester MindsetIndependent TestingCommunication SkillsTeamworkQuality AssuranceDefect DetectionConstructive FeedbackTesting Psychology