Chaining the Beast
Testing Wonder Applications in the Real World
Ray Kiddy, DynEd International
1
• 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

Chaining the Beast - Testing Wonder Applications in the Real World

  • 1.
    Chaining the Beast TestingWonder Applications in the Real World Ray Kiddy, DynEd International 1
  • 2.
    • We enjoythe 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.
  • 4.
    • MVC -everyone should know what this is about... • Data Source - likewise... • Appearance - Does the application actually look right to human eyes? 4
  • 5.
    • 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
  • 6.
    • Data importis 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
  • 7.
  • 8.
    Information is notKnowledge • 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
  • 9.
    Knowledge is notTruth • Verify Models • Manipulate (?) to match reality • Tests of business logic using model info only! 9
  • 10.
    Truth is notWisdom • KVC is your friend • KVC will kill you • Abstraction is power but also causes ignorance. 10
  • 11.
    Wisdom is notBeauty • Info display is good, but what about interactivity? 11
  • 12.
    Beauty is notLove • Verify the appearance of the application. 12
  • 13.
    Love is notMusic • How to make sure testing gets done. • Code will grow, get buy-in early. 13
  • 14.
    In-Application Testing • “Upside” - it is always available • “Down side” - it is always available • Drove choices via properties AND “marker” files 14
  • 15.
  • 16.
    16 • IAT shouldalways be visible. • IAT should also be invisible. • Results checked by engineering/build engine AND qa.
  • 17.
  • 18.
  • 19.
    Building Invariant Pages 19 •Find visible fault areas in the application • Find browser-specific problems • Use the cloud
  • 20.
  • 21.