chaining the beast - testing wonder applications in the real world
TRANSCRIPT
![Page 1: Chaining the Beast - Testing Wonder Applications in the Real World](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/2.jpg)
• 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](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/3.jpg)
3
Regressions New Features
MisConfig WTF?
Appearance
View
Controller
Model
Data
![Page 4: Chaining the Beast - Testing Wonder Applications in the Real World](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/4.jpg)
• 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](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/5.jpg)
• 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](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/6.jpg)
• 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](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/7.jpg)
Methodologies
• With apologies to Frank Zappa
7
![Page 8: Chaining the Beast - Testing Wonder Applications in the Real World](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/12.jpg)
Beauty is not Love
• Verify the appearance of the application.
12
![Page 13: Chaining the Beast - Testing Wonder Applications in the Real World](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/15.jpg)
15
DEMO
![Page 16: Chaining the Beast - Testing Wonder Applications in the Real World](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/17.jpg)
17
Selenium for Fun and Profit
![Page 18: Chaining the Beast - Testing Wonder Applications in the Real World](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/18.jpg)
DEMO
18
![Page 19: Chaining the Beast - Testing Wonder Applications in the Real World](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/20.jpg)
20
DEMO
![Page 21: Chaining the Beast - Testing Wonder Applications in the Real World](https://reader033.vdocuments.us/reader033/viewer/2022052410/555a6a41d8b42a972b8b4adb/html5/thumbnails/21.jpg)
Q&A
Questions? No Questions? Good.21