Experience-Based Testing Techniques

Jul 3, 2024

Experience-Based Testing Techniques

Introduction

  • Module: 4, Session: 5
  • Topic: Experience-based testing techniques
  • Focus on: Two techniques, their advantages, and disadvantages

Key Concepts

  • Testing should be: Rigorous, thorough, and systematic
  • Experience-based testing: Uses tester's knowledge and experience
  • Non-systematic approaches: Play an essential role, complement systematic testing
  • Domain expertise: Crucial for effective testing

Importance of Experience-Based Testing

  • Some defects: Hard to find through systematic approaches
  • Experienced testers: Can find hard-to-detect defects
  • Complementary to formal testing: Not a replacement

Techniques Discussed

  1. Error Guessing
  2. Exploratory Testing

Error Guessing

  • Definition: Uses tester’s experience to find potential defects
  • Approach: Based on skills, intuition, and past experiences
  • Process:
    • No formal rules
    • Experience-driven
    • Targets components where defects are likely
  • Complementary: Should enhance systematic testing, not replace

Advantages

  • Complement: Systematic testing techniques
  • Identifies: Unique tests that formal techniques might miss

Disadvantages

  • Unstructured: Not systematic
  • Dependence: On tester’s skills and experience

Common Test Cases

  • Division by zero
  • Submitting forms without entries
  • Entering incorrect data
  • Null in mandatory fields
  • Special characters in web forms
  • Quotes in data input fields

Approach to Design

  • Doubtful scenarios: Consider them
  • Structured list: Possible errors and test cases
  • Examples:
    • Blank customer data submission
    • Future date as date of birth

Exploratory Testing

  • Definition: Hands-on, minimum planning, maximum execution
  • Process:
    • Tester learns software quickly
    • Decisions on-the-fly about what to test
    • Focus: How software actually works
  • Documentation: Minimal, mainly notes during execution
  • Test logging: Concurrent with test execution
  • Useful: When requirements are incomplete or deadlines are tight

Advantages

  • Effective: No/little specification documentation
  • Rapid feedback: About software quality
  • Skill enhancement: Helps tester learn software quickly
  • Serious defects: Likely to be uncovered
  • Complement: Formal testing methods

Disadvantages

  • Unstructured: No scripted approach
  • Dependence: On tester’s skills

Conclusion

  • Learned Techniques: Error guessing and exploratory testing
  • Advantages & Disadvantages: For both techniques
  • Approach to Design: Error guessing test cases