lasse koskela what does it do does it work

Post on 06-May-2015

874 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

(c) 2008 Lasse Koskela

What does it do?Does it work?

QCon London 2008 - An XpDay Sampler

Lasse Koskela

(c) 2008 Lasse Koskela

(c) 2008 Lasse Koskela

(c) 2008 Lasse Koskela

(c) 2008 Lasse Koskela

(c) 2008 Lasse Koskela

What does it do?Does it work?

QCon London 2008 - An XpDay Sampler

Lasse Koskela

(c) 2008 Lasse Koskela

•how do we specify systems?

•how do we test them?

(c) 2008 Lasse Koskela

how do we test systems?

(c) 2008 Lasse Koskela

developer testing bliss

• xUnit frameworks and patterns

• mock object libraries, reflection capabilities

• language as common denominator

(c) 2008 Lasse Koskela

customer testing misery

• no standard toolset

• tooling generally not sufficient

• common denominator?

(c) 2008 Lasse Koskela

surely there are at least some commonalities...

(c) 2008 Lasse Koskela

tools for customer testing

•text vs. tabular

•imperative vs. descriptive

tool systemgluetest

(c) 2008 Lasse Koskela

connecting to the system

• there are certain high-level patterns for

• interacting with the system, and

• observing side effects

(c) 2008 Lasse Koskela

3+2

(c) 2008 Lasse Koskela

1end to end

(c) 2008 Lasse Koskela

2crawling under the skin

(c) 2008 Lasse Koskela

3exercising the internals

(c) 2008 Lasse Koskela

+2

(c) 2008 Lasse Koskela

4stubbing out the irrelevant

(c) 2008 Lasse Koskela

5using testing backdoors

(c) 2008 Lasse Koskela

how do we specify systems?

(c) 2008 Lasse Koskela

analysis

design

implementation

specification

testing

(c) 2008 Lasse Koskela

(c) 2008 Lasse Koskela

agile specification

• happens during each iteration

• adds detail incrementally over time

• eventually evolves into automated tests

(c) 2008 Lasse Koskela

tests as specification

• running tests are ultimately the most accurate description of the system (excluding the system itself)

• translation steps between a specification and tests introduces translation errors

(c) 2008 Lasse Koskela

acceptance testdriven development

select feature specify tests

implement feature

automate tests

(c) 2008 Lasse Koskela

who does what?

(c) 2008 Lasse Koskela

when does it happen?

(c) 2008 Lasse Koskela

in other words...

• testers and programmers need to collaborate more closely

• development team and customer need to collaborate more closely

• we need a shared language and medium for doing this!

(c) 2008 Lasse Koskela

we need an interface...

test systemtoolX

...that lets us specify tests in our shared language

(c) 2008 Lasse Koskela

3 guiding principles

(c) 2008 Lasse Koskela

1Avoid turbulent interfaces

(c) 2008 Lasse Koskela

2Focus on meaning

(c) 2008 Lasse Koskela

3Involve people

(c) 2008 Lasse Koskela

thank you

top related