Becoming a Better Software Tester

Uploaded on


  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Becoming a Better Software Tester Bernie Berger Test Assured, Inc. [email_address] Pace University “ Code Detectives” Student Seminar Series Tuesday, October 17, 2006
  • 2. Becoming a Top Software Tester
    • Software Testers are in high demand
      • Especially on Wall Street
    • Top Testers are well compensated
    • You can learn how to become a Top Tester
    • My Background
  • 3. Immediate & Lasting Benefits
    • Better tested programs are more valuable
    • Good testers make better developers
    • Better marketability
  • 4. Key Point #1
    • Average Testers only consider simple, happy users when testing.
    • Top Testers consider multiple stakeholders of the product.
  • 5. Multiple Stakeholders
    • Different kinds of Users
      • Lazy
      • Impatient
      • Stupid
      • Malicious
      • Disabled
    • Other Stakeholders
      • Deployment & Installation
      • Admin & Support
      • Bugs & Enhancements
    “ No one would do that” really means… “ No one, who I like, would do that on purpose” - J. Bach
  • 6. Key Point #2
    • Average Testers use simplistic boundary checks in input fields.
    • Top Testers think about new and different ways to cross boundaries .
  • 7. Crossing Boundaries
    • Are there boundaries within a range?
    • Example: Stock Price Alert
      • Up/Down?
      • Repeat?
      • Up/Up and Down/Down?
      • Which variable changes?
    • Example: Loops
  • 8. Key Point #3
    • Average Testers test sequentially.
    • Top Testers test concurrently .
  • 9. Concurrency Testing
    • Test Multi-Process Synchronization
    • Test for Atomic Operations
    • Deadlocks
      • When multiple actions are waiting for each other to finish, and thus none ever does (wikipedia)
    • Timing Issues
      • Just before, during, just after
  • 10. Key Point #4
    • Average Testers test per specification.
    • Top Testers construct market-triggered test scenarios .
  • 11. Market-Triggered Scenarios
    • Corporate Actions: Splits
    • Interest Rates
    • Unemployment Reports
    • Other News
    • Average Testers learn what they are taught.
    • Top Testers challenge what they are taught and do not believe a word until they reconstruct the ideas for themselves .
  • 13. The 7 Principles of Context-Driven Testing
    • 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.
    • Source:
  • 14. Summary
    • Consider Multiple Stakeholders
    • Think of new boundaries to test
    • Test Concurrently
    • Test Market-Triggered Scenarios
    • Rethink whatever you’ve been taught to believe about software in your own way. Be skeptical of everything.
    • Message: Top Testers Think Outside the Box
  • 15. Thank You!!
    • Questions???
  • 16. Bonus Slide – Recommended Reading
    • Thinking like a tester means thinking “out of the box” and the first step in thinking out of the box is thinking, period. Here are some books and other resources I like that helped me think better.
    • Thinking and Deciding , by Jonathan Baron
    • The Logic of Failure , by Dietrich Dorner
    • Lessons Learned in Software Testing , by Cem Kaner, James Bach, and Bret Pettichord
    • How to Break Software , by James Whittaker
    • Read anything written by Gerald Weinberg
    • Study Lateral Thinking Puzzles
    • Play “20 Questions”
    • Watch the movie “The Pentagon Wars”