Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Testing Workshop - Part 1 (PyConUK 2011)

Testing Workshop - Part 1 (PyConUK 2011)

John Chandler

September 25, 2011
Tweet

More Decks by John Chandler

Other Decks in Programming

Transcript

  1. Plan • Part 1: Introduction to Testing • Part 2:

    Testing with Python • REPL / Interpreter • Doctests • Unittest • Part 3: Mocking
  2. Software testing can be stated as the process of validating

    and verifying that a software program/application/product: 1. meets the requirements that guided its design and development; 2. works as expected; and 3. can be implemented with the same characteristics. http://en.wikipedia.org/wiki/Software_testing
  3. Validation: • Unit testing • Component testing • Integration testing

    • Performance testing • Load testing • Security testing
  4. Verification: • Functional testing • Exploratory testing • Usability testing

    • Acceptance testing • Prototypes • Simulations
  5. Functional Tests Prototypes Simulations Exploratory Tests Usability Tests Acceptance Tests

    Performance Tests Load Tests Security Tests Unit Tests Component Tests Integration Tests Business-Facing Technology-Facing Support the Team Critique the Product
  6. Functional Tests Prototypes Simulations Performance Tests Security Tests Manual &

    Automated Business-facing Tests against specification Mock-ups and prototypes
  7. Exploratory Tests Usability Tests Acceptance Tests Unit Tests Component Tests

    Integration Tests Manual Business-facing Critique the product Elicit feedback
  8. Unit Tests Component Tests Integration Tests Manual & Automated Technology-facing

    Critique the product Often overlooked! Performance Tests Load Tests Security Tests
  9. Exploratory Tests Usability Tests Acceptance Tests Performance Tests Security Tests

    Unit Tests Component Tests Integration Tests Automated Technology-facing Support the team Internal quality checking!