Chaining the BeastTesting Wonder Applications in the Real World
Ray Kiddy, DynEd International1
• 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?
3
Regressions New Features
MisConfig WTF?
Appearance
View
Controller
Model
Data
• MVC - everyone should know what this is about...
• Data Source - likewise...
• Appearance - Does the application actually look right to human eyes?
4
• 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
• 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
Methodologies
• With apologies to Frank Zappa
7
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
Knowledge is not Truth
• Verify Models
• Manipulate (?) to match reality
• Tests of business logic using model info only!
9
Truth is not Wisdom
• KVC is your friend
• KVC will kill you
• Abstraction is power but also causes ignorance.
10
Wisdom is not Beauty
• Info display is good, but what about interactivity?
11
Beauty is not Love
• Verify the appearance of the application.
12
Love is not Music
• How to make sure testing gets done.
• Code will grow, get buy-in early.
13
In-Application Testing
• “Up side” - it is always available
• “Down side” - it is always available
• Drove choices via properties AND “marker” files
14
15
DEMO
16
• IAT should always be visible.
• IAT should also be invisible.
• Results checked by engineering/build engine AND qa.
17
Selenium for Fun and Profit
DEMO
18
Building Invariant Pages
19
• Find visible fault areas in the application
• Find browser-specific problems
• Use the cloud
20
DEMO
Q&A
Questions? No Questions? Good.21