• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Software testing _mod_9
 

Software testing _mod_9

on

  • 1,230 views

It all about software testing

It all about software testing

Statistics

Views

Total Views
1,230
Views on SlideShare
1,176
Embed Views
54

Actions

Likes
1
Downloads
30
Comments
1

1 Embed 54

http://blogs.msdn.com 54

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • (from Cambridge International Dictionary of English) conjecture ANTAKELSE / HYPOTESE verb, noun   (to form) a guess or judgment, based on the appearance of a situation rather than on proof   We'll never know exactly how she died. We can only conjecture.   [I] He conjectured that the company would soon be in financial difficulties.   [+ that clause] There's been a lot of conjecture in the papers recently about the royal marriage.   [U] It's pure conjecture. Nobody knows the facts.   [U] conjectural adjective   refute “BEVIS” verb   [T]   FORMAL OR LAW   to say or prove that (a person, statement, opinion, etc.) is wrong or false   to refute a person/theory/argument The barrister used new evidence to refute the charges and clear the defendant. refutation noun   [C/U]   FORMAL OR LAW  
  • (from Cambridge International Dictionary of English) conjecture verb, noun   (to form) a guess or judgment, based on the appearance of a situation rather than on proof   We'll never know exactly how she died. We can only conjecture.   [I] He conjectured that the company would soon be in financial difficulties.   [+ that clause] There's been a lot of conjecture in the papers recently about the royal marriage.   [U] It's pure conjecture. Nobody knows the facts.   [U] conjectural adjective   refute verb   [T]   FORMAL OR LAW   to say or prove that (a person, statement, opinion, etc.) is wrong or false   to refute a person/theory/argument The barrister used new evidence to refute the charges and clear the defendant. refutation noun   [C/U]   FORMAL OR LAW  
  • Testing is done in context Rather than looking for The One True Way to run a test group, we should recognize that the testing group is a service organization and that its work is done in a context. Life cycles, testing group missions, testing techniques must fit within the overall organization. We should look at / for relevant factors (perform a requirements analysis ) to guide our decisions.

Software testing _mod_9 Software testing _mod_9 Presentation Transcript

    • Module 9
    • QUALITIES OF GOOD TESTERS
  • What’s Special about a Tester’s Brain?
  • 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.
  • 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.
  • Tunnel-Vision is Our Great Occupational Hazard
    • invisible
    • problems
    Problems you can find with your biases… invisible problems
  • 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 testers are hard to fool.
  • Testing is done in Context
    • The value of any practice depends on its context.
    • There are good practices in context, but there are no best practices.
    • People, working together, are the most important part of any project's context.
    • Projects unfold over time in ways that are often not predictable.
    • The product is a solution. If the problem isn't solved, the product doesn't work.
    • Good software testing is a challenging intellectual process.
    • 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.
    • 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………
    • 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 .
    • 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 .
    • 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.
  • Importance of Soft Skills
      • Software 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
  • 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.  
  • Soft Skills
    • Reading 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.  
  • Soft Skills
    • Negative 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.
  • Soft Skills
    • Communication 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.
  • Soft Skills
    • Time 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.
    •  
  • Soft Skills
    • Attitude  
    • 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.
  • Thank You….. Any Questions ???