PyCon UK 2011 - Testing Workshop - Part 1

download PyCon UK 2011 - Testing Workshop - Part 1

If you can't read please download the document

Transcript of PyCon UK 2011 - Testing Workshop - Part 1

Testing Workshop

A crash(-free) courseon testing with Python

Prerequisites

Basic Python knowledge

That's it!

Feel free to...

...ask questions...code along...eat, drink and be merry

We will aim to have a break!

Plan

Part 1: Introduction to Testing

Part 2: Testing with PythonREPL / Interpreter

Doctests

Unittest

Part 3: Mocking

Part 1: Introduction to Testing

http://www.flickr.com/photos/dopey/123646856/

What is testing?

Any ideas?

"Testing means checking it works"

Source: a younger, less experienced me.

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

Validation:

Are we building the software right?

Verification:

Are we building the right software?

Validation:

Unit testing

Component testing

Integration testing

Performance testing

Load testing

Security testing

Verification:

Functional testing

Exploratory testing

Usability testing

Acceptance testing

Prototypes

Simulations

Functional TestsPrototypesSimulations

Exploratory TestsUsability TestsAcceptance Tests

Performance TestsLoad TestsSecurity Tests

Unit TestsComponent TestsIntegration Tests

Business-FacingTechnology-FacingSupport the TeamCritique the Product

Credit goes to "Agile Testing" by Lisa Crispin and Janet Gregory...

Functional TestsPrototypesSimulationsPerformance TestsSecurity Tests

Manual & Automated

Business-facing

Tests against specification

Mock-ups and prototypes

Exploratory TestsUsability TestsAcceptance Tests

Unit TestsComponent TestsIntegration Tests

Manual

Business-facing

Critique the product

Elicit feedback

Unit TestsComponent TestsIntegration Tests

Manual & Automated

Technology-facing

Critique the product

Often overlooked!

Performance TestsLoad TestsSecurity Tests

Exploratory TestsUsability TestsAcceptance Tests

Performance TestsSecurity Tests

Unit TestsComponent TestsIntegration Tests

Automated

Technology-facing

Support the team

Internal quality checking!

Time for a break?