software testing _mod_9

19
Module 9 QUALITIES OF GOOD TESTERS

Upload: hellosashi

Post on 01-Nov-2014

3 views

Category:

Technology


2 download

DESCRIPTION

It all about software testing

TRANSCRIPT

Page 1: Software testing _mod_9

Module 9

QUALITIES OF GOOD TESTERS

Page 2: Software testing _mod_9

What’s Special about a Tester’s Brain?

Page 3: Software testing _mod_9

Epistemology – the Study of Knowledge

Epistemology is the study of how we know

what we know. The philosophy of science

belongs to Epistemology.

All good testers practice Epistemology.

Page 4: Software testing _mod_9

Basic Skills of Epistemology

Ability to pose useful questions.

Ability to observe what’s going on.

Ability to describe what you perceive.

Ability to think critically about what you know.

Ability to recognize and manage bias.

Ability to form and test conjectures.

Ability to keep thinking despite already knowing.

Ability to analyze someone else’s thinking.

Page 5: Software testing _mod_9

Tunnel-Vision is Our Great Occupational Hazard

invisible

problems

Problems you

can find with your

biases…

invisible

problem

s

Page 6: Software testing _mod_9

A Tester’s Attitude

Cautious

Jump to conjectures, not conclusions.

Practice admitting “I don’t know.”

Have someone check your work.

Curious

What would happen if…?

How does that work?

Why did that happen?

Critical

Proceed by conjecture and refutation.

Actively seek counter-evidence.

Good testersare hard to fool.

Page 7: Software testing _mod_9

Testing is done in Context1. The value of any practice depends on its context.

2. There are good practices in context, but there are no best practices.

3. People, working together, are the most important part of any project's context.

4. Projects unfold over time in ways that are often not predictable.

5. The product is a solution. If the problem isn't solved, the product doesn't work.

6. Good software testing is a challenging intellectual process.

7. Only through judgment and skill, exercised cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products.

Page 8: Software testing _mod_9

Know at least some programming. There’s a popular myth that testing can be

staffed with people who have little or no programming knowledge.

Since they’re testing software, without knowing some programming, they can’t have

any real insights into the kinds of bugs that come into software and the likeliest

place to find the same.

Know the application. The ideal tester has deep insights into how the users will

exploit the program’s features and the kinds of cockpit errors that users are likely to

make.

Intelligence. The single most important quality for testers (just as for programmers)

is raw intelligence, good testers, just as programmers, are smart people.

Something More………

Page 9: Software testing _mod_9

Hyper-sensitivity to little things. Good testers notice little things that others miss or ignore.

Testers see symptoms, not bugs.

Tolerance for chaos. People react to chaos and uncertainty in different ways. If the tester waits

for all issues to be fully resolved before starting test design or testing, he won’t get started until

after the software has been shipped. Testers have to be flexible and be able to drop things when

blocked and move on to another thing that is not blocked.

Testers always have many irons in the fire.

People skills.  You can be an effective programmer even if you are hostile and anti-social; that

won’t work for a tester. Testers can take a lot of abuse from outraged programmers. A sense of

humour and a thick skin will help the tester survive. Testers may have to be diplomatic when

confronting a programmer with a fundamental goof. Diplomacy, tact, a ready smile- all work to

the independent tester’s advantage.

Page 10: Software testing _mod_9

Organized. There’s just too much to keep track of to trust to memory.

Good testers use files, Databases and all the other accoutrements of an

organized mind.

Sceptical. That doesn’t mean hostile. I mean scepticism in the sense that

nothing is taken for granted and that all is fit to be questioned. Only

tangible evidence in documents, specifications, code and test results

matter. While they may patiently listen to the reassuring words from the

programmers (“Trust me. I know where the bugs are.”) –and do it with a

smile – they ignore such in-substantive assurances.

Page 11: Software testing _mod_9

Self-sufficient and tough If they need love, they don’t expect to get it on the job. They can’t be looking for interaction between them and programmers as a source of ego-gratification and/ or nurturing. Their ego is gratified by finding bugs, with few misgivings about the pain (in the programmers) that such finding might engender.

Cunning Systematic test techniques such as syntax testing and automatic test generators have reduced the need for much cunning, but the need is still with us and undoubtedly always will be because it will never be possible to systematize all aspects of testing. There will always be room for that off-beat thinking that will lead to a test case that exposes a really bad bug.

Technology hungry They hate dull, repetitive work; they’ll do it for a while if they have to, but not for long. The silliest thing for a human to do, in their mind, is to pound on a keyboard when they’re surrounded by computers.

Honest Testers are fundamentally honest and incorruptible. They’ll compromise if they have to, but they’ll righteously agonize over it. This fundamental honesty extends to a brutally realistic understanding of their own limitations as a human being.

Page 12: Software testing _mod_9

Importance of Soft SkillsSoftware testers have two kinds of skills:

Technical Skills – to perform basic duties at work Teach to meet the expectations of the job

Soft Skills - skills used to approach work teach one to succeed, and to exceed expectations

Page 13: Software testing _mod_9

Soft Skills Discipline and Perseverance 

Testing can be extremely repetitive and may require a lot of manual effort-

Result-get tired of the job . Soft skills include the psychological tools to

persevere, and to find ways to make effort more productive and interesting. This attitude difference helps a tester maintain focus and higher levels of quality work.  

Page 14: Software testing _mod_9

Soft SkillsReading Skills 

Testers, routinely encounter large quantities of data to read and comprehend specially At the requirements review stage, when testers have to review hundreds of pages of requirements

 Use structured and scientific approach to reading, with improved retention and concentration

Result: Requirements specification that would otherwise take a

tester eight hours to read and comprehend, would take around four hours with improved reading.  

Page 15: Software testing _mod_9

Soft SkillsNegative Thinking 

Negative thinking can be the useful ally of a tester if it is applied at the right time.

For a new product, a tester is working to create a QA plan or a master test plan. While mentioning the risks involved in the project, a tester has to consider all the things that can go wrong during the lifecycle of project. Training the mind to think negatively in such situations helps testers develop an efficient contingency plan.   For the test-design phase.

An important part of test coverage and design are the tests that represent the way the application under test could fail

negative thinking helps testers derive the negative user scenarios. Thus, negative testing is a skill.

A word of caution : this type of thinking is only for specific situations.

Page 16: Software testing _mod_9

Soft SkillsCommunication and Interpersonal

Skills 

For a tester, both verbal and written communication are crucial. A tester communicates a defect in a program to the developer.

This communication includes written as well as verbal communication. This moment of communication instantly decides the rapport, which a tester enjoys with developers.

During the lifecycle of product, a tester is asked to present the

product and testing status either via verbal presentation or written data, e.g. by emails to management.

Page 17: Software testing _mod_9

Soft SkillsTime Management and Effort Prioritization 

Time management and effort prioritization define the importance given to each task and hence the sequence in which they should be performed.

help a tester manage work better and eliminate time involved in the tasks that are low priority, thus enhancing productivity. 

Situations That require managing time efficiently are:

A tester is involved in Exploratory testing. In such a case, a tester may be testing, creating test cases, documenting results, and creating test metrics all in a day.

A Tester may be involved in more than one project or modules at the same time. The priority of work may vary.

one needs to give special attention to effort prioritization even before venturing into multiple projects.

Collect all the information that helps one prioritize the efforts. 

Page 18: Software testing _mod_9

Soft SkillsAttitude 

A positive attitude is not accidental. It is something that is developed by training one's self

Every situation we face offers us the chance to choose either to react positively or negatively.

Perform a regular attitude checkup.

Attitude is a soft skill, and it is a central cause in a tester's ability to develop other effective soft skills.

Page 19: Software testing _mod_9

Thank You…..Any Questions ???