21
Chaining the Beast Testing Wonder Applications in the Real World Ray Kiddy, DynEd International 1

Chaining the Beast - Testing Wonder Applications in the Real World

Embed Size (px)

Citation preview

Page 1: Chaining the Beast - Testing Wonder Applications in the Real World

Chaining the BeastTesting Wonder Applications in the Real World

Ray Kiddy, DynEd International1

Page 2: Chaining the Beast - Testing Wonder Applications in the Real World

• We enjoy the pain.

• We talk about it so we do not have to do more of it.

• We do not talk about it very often.

2

Why Talk About Testing?

Page 3: Chaining the Beast - Testing Wonder Applications in the Real World

3

Regressions New Features

MisConfig WTF?

Appearance

View

Controller

Model

Data

Page 4: Chaining the Beast - Testing Wonder Applications in the Real World

• MVC - everyone should know what this is about...

• Data Source - likewise...

• Appearance - Does the application actually look right to human eyes?

4

Page 5: Chaining the Beast - Testing Wonder Applications in the Real World

• Catch Regressions - something is true today, should be tomorrow also.

• Check New Features - if something is new, it might not be perfect.

• Expect Problems - Murphy’s Law.

• WTF?

5

Page 6: Chaining the Beast - Testing Wonder Applications in the Real World

• Data import is not always correct.

• Input is not always sensible

• Page responses are too slow

• Not a lot of time to work on it, suckiness.

6

WOLeg

Page 7: Chaining the Beast - Testing Wonder Applications in the Real World

Methodologies

• With apologies to Frank Zappa

7

Page 8: Chaining the Beast - Testing Wonder Applications in the Real World

Information is not Knowledge

• Do you trust your data source?

• Tests executing at launch, every time.

• Check data schemas against expected.

• Runs every single launch, except when it does not.

8

Page 9: Chaining the Beast - Testing Wonder Applications in the Real World

Knowledge is not Truth

• Verify Models

• Manipulate (?) to match reality

• Tests of business logic using model info only!

9

Page 10: Chaining the Beast - Testing Wonder Applications in the Real World

Truth is not Wisdom

• KVC is your friend

• KVC will kill you

• Abstraction is power but also causes ignorance.

10

Page 11: Chaining the Beast - Testing Wonder Applications in the Real World

Wisdom is not Beauty

• Info display is good, but what about interactivity?

11

Page 12: Chaining the Beast - Testing Wonder Applications in the Real World

Beauty is not Love

• Verify the appearance of the application.

12

Page 13: Chaining the Beast - Testing Wonder Applications in the Real World

Love is not Music

• How to make sure testing gets done.

• Code will grow, get buy-in early.

13

Page 14: Chaining the Beast - Testing Wonder Applications in the Real World

In-Application Testing

• “Up side” - it is always available

• “Down side” - it is always available

• Drove choices via properties AND “marker” files

14

Page 15: Chaining the Beast - Testing Wonder Applications in the Real World

15

DEMO

Page 16: Chaining the Beast - Testing Wonder Applications in the Real World

16

• IAT should always be visible.

• IAT should also be invisible.

• Results checked by engineering/build engine AND qa.

Page 17: Chaining the Beast - Testing Wonder Applications in the Real World

17

Selenium for Fun and Profit

Page 18: Chaining the Beast - Testing Wonder Applications in the Real World

DEMO

18

Page 19: Chaining the Beast - Testing Wonder Applications in the Real World

Building Invariant Pages

19

• Find visible fault areas in the application

• Find browser-specific problems

• Use the cloud

Page 20: Chaining the Beast - Testing Wonder Applications in the Real World

20

DEMO

Page 21: Chaining the Beast - Testing Wonder Applications in the Real World

Q&A

Questions? No Questions? Good.21