Becoming a Testing Expert

Size: px
Start display at page:

Download "Becoming a Testing Expert"

Transcription

1 Becoming a Testing Expert James Bach, Satisfice, Inc. james@satisfice.com By expert tester I mean any of the following Someone who s really good at testing. Someone who s good enough at testing. Someone who s considered to be an expert. Someone who s good at becoming good at testing. You may already be an expert tester. What I want to do is help you become even better, according to whatever standard that matters to you.

2 Testing is Testing is the unregulated art of evaluating the invisible against the ambiguous so as to avoid the unthinkable happening to the anonymous. Expert Performance is Situational. Expertise is situated socially. psychologically. If your clients and peers don t like your work, you won t be able to function as an expert in their eyes. If you re tired, angry, or indifferent, you won t perform well. technically. If you don t know anything about databases, for instance, you will be limited in how well you test them.

3 Some Cool Things That the Best Experts Have and Do Experts have Situational awareness Confusion confidence Colleague networks Client empathy Trained reflexes Calculated limitations Background Knowledge Experts do Exploratory Modeling Forward/backward thinking Distributed cognition Analogical reasoning Self-programming Self-testing Trap avoidance I can A Personal Vision of Testing Expertise test anything under any conditions in any time frame... HOW IS IT POSSIBLE?! AMAZING CLAIM!

4 A Personal Vision of Testing Expertise Relative to my standing in the local process culture... how much I want to succeed my technical insight I can test anything under any conditions in any time frame... oh that s do-able. A Personal Vision of Testing Expertise Relative to my acceptance within the local process culture......i can how much I want to succeed test anything my technical insight such that, under any conditions in any time frame... I deliver useful results in a usable form. I perform at least as well as any other expert would. I choose methods that fit the situation. I can explain and defend my work on demand. I collaborate effectively with the project team. I make appropriate use of available tools and resources. I advise clients about the risks and limitations of my work. I advise clients about how they can help me do better work. I faithfully and ethically serve my clients.

5 Think Like a Tester Turn over which cards to test third rule? E 4 V 7 These are cards. There is a letter on one side and a number on the reverse side. If there is a vowel on one side, there will be an even number on the reverse side. Think Like a Tester Consider cost vs. value. VALUE Coverage. The extent to which the test exercises the product. Power. When a problem exists in the area covered, the test will reveal it. Validity. When the test reveals what looks like a problem, it is a real problem. Importance. When the test reveals a real problem, it is an important problem.. Pop. The potential for it to reveal unanticipated problems by challenging assumptions. COSTS (remember that time = money) Opportunity Cost. Performing it may prevent you from doing other tests. Development. The cost of getting ready to perform the test. Execution. The cost of performing it as needed. Transfer. The cost of getting someone else ready to run that test. Maintenance. The cost of keeping it running.

6 Test Strategy Model Project Environment Test Techniques Quality Criteria Product Elements Perceived Quality Seven Big Problems of Testing Agency Problem & Logistics Problem Oracle Problem Pesticide Problem & Stopping Problem Coverage Problem Reporting Problem

7 Thirty-Four Testing Heuristics Customers Information Developer relations Team Equipment & tools Schedule Test Items Deliverables Structures Functions Data Platforms Operations Capability Reliability Usability Scalability Performance Installability Compatibility Supportability Testability Maintainability Portability Localizability Function testing Domain testing Stress testing Flow testing Scenario testing Claims testing User testing Risk testing Automatic testing