ios testing with frank

Post on 08-May-2015

6.792 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Stewart Gleadow of Thoughtworks presents Frank at the February Melbourne Cocoaheads meetup. Frank is an automated iOS User Interface Testing tool.http://www.melbournecocoaheads.com/

TRANSCRIPT

Friday, 18 February 2011

TestingiOS apps

with Frank

Stewart Gleadow

Friday, 18 February 2011

why have tests?

Friday, 18 February 2011

why have tests?

Friday, 18 February 2011

Testing Approaches

Friday, 18 February 2011

Friday, 18 February 2011

“It seems to be working”

Friday, 18 February 2011

“Nothing is obviously broken”

Friday, 18 February 2011

Testing iPhone Apps

iPhone App

Friday, 18 February 2011

iPhone App

Server

Friday, 18 February 2011

iPhone App

ServerDone

Friday, 18 February 2011

Does MVC help?

Friday, 18 February 2011

UIView

UIViewController

Model

ServerFriday, 18 February 2011

UIView

UIViewController

Model

ServerFriday, 18 February 2011

UIView

UIViewController

Model

ServerFriday, 18 February 2011

UIView

UIViewController

Model

Server

Done

Friday, 18 February 2011

UIViewUIViewController

Friday, 18 February 2011

UIViewUIViewController

50% of iPhone code?

Friday, 18 February 2011

Potential Testing Tools

hmmm...

Friday, 18 February 2011

Potential Testing Tools

• Frank and UISpec hmmm...

Friday, 18 February 2011

Potential Testing Tools

• Frank and UISpec

• Sikuli

hmmm...

Friday, 18 February 2011

Potential Testing Tools

• Frank and UISpec

• Sikuli

• FoneMonkey

hmmm...

Friday, 18 February 2011

Potential Testing Tools

• Frank and UISpec

• Sikuli

• FoneMonkey

• Brominet or iCuke

hmmm...

Friday, 18 February 2011

Potential Testing Tools

• Frank and UISpec

• Sikuli

• FoneMonkey

• Brominet or iCuke

• UIAutomation

hmmm...

Friday, 18 February 2011

UISpec

Friday, 18 February 2011

UISpec

- (void)itShouldHaveDefaultUsers;{ [[app.tableView.label text:@"User"] should].exist;}

Friday, 18 February 2011

UISpec

Friday, 18 February 2011

Cucumber

Friday, 18 February 2011

Cucumber

Friday, 18 February 2011

Scenario: [name of the scenario]

Cucumber

Friday, 18 February 2011

Scenario: [name of the scenario]

Given [some statement]

Cucumber

Friday, 18 February 2011

Scenario: [name of the scenario]

Given [some statement]

When [some action]

Cucumber

Friday, 18 February 2011

Scenario: [name of the scenario]

Given [some statement]

When [some action]

Then [some expected result]

Cucumber

Friday, 18 February 2011

Scenario: [name of the scenario]

Given [some statement]

When [some action]

Then [some expected result]

And [another expectation]

Cucumber

Friday, 18 February 2011

to be perfectly Frank...

Friday, 18 February 2011

Tests

iPhoneApp

Friday, 18 February 2011

Tests

iPhoneApp

UISpecCucumber / Ruby

?

Friday, 18 February 2011

FrankServerTests

iPhoneApp

UISpecCucumber / Ruby

Friday, 18 February 2011

FrankDriver

FrankServerTests

iPhoneApp

UISpecCucumber / Ruby

Friday, 18 February 2011

FrankDriver

FrankServerTests

iPhoneApp

UISpecCucumber / Ruby

“frankly”

Friday, 18 February 2011

Frankusesaccessibilitylabels

Friday, 18 February 2011

frankly.my_dear do |i| dont_give_a_damn!end

Friday, 18 February 2011

UISpec

UIQuery

Frank

Frankly

frankly.my_dear do |i| dont_give_a_damn!end

Friday, 18 February 2011

[app.tableView.label text:@"User"];

UISpec

UIQuery

Frank

Frankly

frankly.my_dear do |i| dont_give_a_damn!end

Friday, 18 February 2011

[app.tableView.label text:@"User"];

UISpec

UIQuery

Frank

Frankly app tableView label text:’User’

frankly.my_dear do |i| dont_give_a_damn!end

Friday, 18 February 2011

Friday, 18 February 2011

Frank Steps

Scenario: default users should be present at startup

When I start the app

Then I should see “Users”

Friday, 18 February 2011

Frank Steps

Scenario: default users should be present at startup

When I start the app

Then I should see “Users”

Then /^I should see "([^\"]*)"$/ do |expected_mark|

check_element_exists("view marked:'#{expected_mark}'")

end

Friday, 18 February 2011

Demo

Friday, 18 February 2011

The RoadAhead

Friday, 18 February 2011

Stewart Gleadow

sgleadow@thoughtworks.com

@stewgleadow

Friday, 18 February 2011

References• github.com/moredip/frank & http://groups.google.com/group/frank-discuss

• code.google.com/p/uispec & http://groups.google.com/group/uispec

• softnoise.wordpress.com/2010/11/14/ios-setting-up-a-test-environment/

• cukes.info

• cuke4ninja.com

• The RSpec Book

Friday, 18 February 2011

top related