+ All Categories
Home > Technology > FuncUnit

FuncUnit

Date post: 25-Jun-2015
Category:
Upload: brian-moschel
View: 3,718 times
Download: 0 times
Share this document with a friend
Description:
A Crash Course in JavaScript Functional Testing
Popular Tags:
22
FuncUnit Crash Course in JavaScript Functional Testing by Brian Moschel October 2010
Transcript
Page 1: FuncUnit

FuncUnitCrash Course in JavaScript

Functional Testingby Brian Moschel

October 2010

Page 2: FuncUnit

We’re Gonna Test Srchr

Page 3: FuncUnit

The Testing Landscape

*

Page 4: FuncUnit

What the FuncUnit?

+ + + =

Page 5: FuncUnit

Want to Functional Test Your JS App?

Page 6: FuncUnit

…with FuncUnit?

Page 7: FuncUnit

Testing === Pain

1. Barriers to Entry

2. Completely Foreign APIs

3. Debugging Across Platforms4. Low Fidelity Event Simulation5. QA and Developers Can’t Communicate

Page 8: FuncUnit

arr

Getting Started Is Annoying

Page 9: FuncUnit

arr

Download & Start Testing

Page 10: FuncUnit

arr

You Know I Don’t Speak Spanish!

Page 11: FuncUnit

arr

SystemUtil.Run"iexplore","http://www.yahoomail.com"Set g=Browser("name:=Yahoo.*").Page("title:=Yahoo.*")g.WebEdit("name:=login").Set "aaa"g.WebEdit("name:=passwd").SetSecure "bbb"g.WebButton("name:=Sign In").Clickg.Link("name:=Inbox.*","html id:=WelcomeInboxFolderLink").Clickg.Link("name:=Sign Out").Click

Page 12: FuncUnit

arr

But I Do Speak jQuery

Page 13: FuncUnit

arr

test("JavaScript results",function(){ S('input').click().type("JavaScript")

// wait until we have some results S('.autocomplete_item').visible(function(){ equals( S('.autocomplete_item').size(), 5, "there are 5 results") })});

Page 14: FuncUnit

arr

Cross Platform Debugging?

Page 15: FuncUnit

arr

Firebug, Please

Page 16: FuncUnit

arr

Your Tests Don’t Do What You Think

Page 17: FuncUnit

arr$(“input”).bind(“focus”, function(ev){ if ( $(this).val() == "Search API" ) { $(this).val("").removeClass('notFocused') }})

Page 18: FuncUnit

arr

Accurate Event Simulation: Trust Your Tests

syn.js

Page 19: FuncUnit

arr

QA vs. Developers

Page 20: FuncUnit

arr

QA is Your Friend

Page 21: FuncUnit

arr

A Tested App in 15 Minutes

1. Install2. Learn the API3. Write a test4. Debug tests5. Run tests6. Hand off to QAhttp://github.com/jupiterjs/srchr

Page 22: FuncUnit

arr

Want more?

http://funcunit.comhttp://jupiterjs.comhttp://javascriptmvc.com

[email protected]@jupiterjs@brianmoschel@funcunit