SlideShare a Scribd company logo
1 of 17
Download to read offline
409 - TESTING IN XCODE
Gavin Thomas
ippoippo-software@ippoippo-eco.com
@IppoippoSftware
www.ippoippo-software.com

Sunday, 20 October 13
WHO AM I?
• Previously

an Enterprise Java developer for 15 years for
my day job

• Now

work as Ruby developer for my day job

• Mac

user since 2006, iOS devices since 2008.

• Dabbled

with Obj-C since 2008, but started investing
more time from start of this year.

Sunday, 20 October 13
WHY?

Sunday, 20 October 13
WHY?
G nd
IN a
RN tion
A a
W lis
es
a otyp
er re
en te
G
S

Sunday, 20 October 13
WHY?

Sunday, 20 October 13
WHY?
•

The Ruby development world has a strong testing ethos, typically ‘spec’ (or human
readable) orientated. Leads the way, but sometimes tooling is fragile.

•

Enterprise Java development world was slower to catch on, but JUnit is used heavily now.
However, the tooling is solid.

•

Despite xUnit coming from Smalltalk, historically Unit Testing was never big in ‘old’
Objective-C world.

•

New generation of Obj-C devs are driving Unit Testing with 3rd party tools (Kiwi, Expecta,
OCMock, OCMockito, Specta)

Sunday, 20 October 13
WHAT’S THE MAIN TOPIC IN THE
VIDEO?
• Unit

Testing basics (why and what) 04:14 to 07:15

• New

Frameworks and Tools (XCTest and XCode
updates) 07:15 to 33:20

• Continuous

Sunday, 20 October 13

Integration 33:20 to 45:00
WHAT KIND OF VALUE FROM
WATCHING IT?
• New

Objective-C developers who have not experienced
Unit Testing elsewhere get an overview of the ‘why’?

• Understand

that Apple is adopting ‘best practice’ as
used elsewhere in the industry.

• For

experienced ‘unit testers’, understand what
improvements Apple has added to tools (and to
understand what is still missing)

Sunday, 20 October 13
MOST INTERESTING POINTS?

• 1:18

- “Why Test?” According to Apple

• Catch

‘crashers’ - No1 reason why apps are rejected.

• Helps

development in teams

Sunday, 20 October 13
MOST INTERESTING POINTS?

• 7:09

- “Where to start
testing”

• Using

out of the box XCode
tools, Models and Controllers
are ‘easier’ to test.

Sunday, 20 October 13
MOST INTERESTING POINTS?

• 10:25
• For

- Test Navigator

previous IntelliJ,
RubyMine, Eclipse etc
users... IDE tools

Sunday, 20 October 13
MOST INTERESTING POINTS?
• 20:00

- Checklist for what
you should test for

• For

people experience in
Unit Testing in other
languages, but new to
Objective-C...

• The

failures to check for list
is very useful as Objective-C
specific

Sunday, 20 October 13
MOST INTERESTING POINTS?
• 21:22

- setUp

• ‘shim’

==> Ohh, you mean a
mock object!

• So,

XCTest comes with
Mocking support, No?
Dammit!

• We

rely on 3rd-parties still,
like OCMock, or OCMockito
(or Kiwi)

Sunday, 20 October 13
MOST INTERESTING POINTS?

• 23:35
• If

- iOS6

you want to support iOS6,
you need to use the older
OCTest still!

Sunday, 20 October 13
MOST INTERESTING POINTS?
• 33:20

- CI with an Apple
flavour

• Relies

on OS X Server, rather
than support for existing tools
(like Jenkins etc).

• Allows

testing of software on

•

Multiple connected iOS Devices

•

Multiple iOS Sims

•

Multiple iOS Versions

Sunday, 20 October 13

Failing on iPad mini iOS6,
working on iPhone iOS7
MOST INTERESTING POINTS?
• 46:42

- Already have CI
(example, company doing
non Obj-C work as well as
iOS Apps)?

• Use

the command line tools,
and integrate that way rather
than rely on OS X Server

Sunday, 20 October 13
OTHER RESOURCES
• http://iosunittesting.com
• http://qualitycoding.org
• http://pragprog.com/magazines/2012-10/its-not-about-

the-unit-tests
•

“iOS developers generally don’t unit test. So why then do they as a community seem to
enjoy a reputation for quality? No unit tests. No continuous integration. No TDD.”

•

An out of date quote now? Unit Testing does not guarantee quality. However, it’s a tool
that helps you get there if you are already in the right ‘quality’ mindset.

Sunday, 20 October 13

More Related Content

Similar to Tokyo iOS Meetup - 409 - Testing In XCode

AOTB2014: Agile Testing on the Java Platform
AOTB2014: Agile Testing on the Java PlatformAOTB2014: Agile Testing on the Java Platform
AOTB2014: Agile Testing on the Java PlatformPeter Pilgrim
 
Inland Empire JUG Presentation 12/11
Inland Empire JUG Presentation 12/11Inland Empire JUG Presentation 12/11
Inland Empire JUG Presentation 12/11Michael Kennedy
 
From Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDEFrom Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDEintelliyole
 
Hello YellowJS
Hello YellowJSHello YellowJS
Hello YellowJSYellowJS
 
Counterclockwise past present future
Counterclockwise  past present futureCounterclockwise  past present future
Counterclockwise past present futurelolopetit
 
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)Murat Yener
 
Hadoop Summit 2013 : Continuous Integration on top of hadoop
Hadoop Summit 2013 : Continuous Integration on top of hadoopHadoop Summit 2013 : Continuous Integration on top of hadoop
Hadoop Summit 2013 : Continuous Integration on top of hadoopWisely chen
 
PhoneGap in 60 Minutes or Less
PhoneGap in 60 Minutes or LessPhoneGap in 60 Minutes or Less
PhoneGap in 60 Minutes or LessTroy Miles
 
Thucydides - a brief review
Thucydides - a brief reviewThucydides - a brief review
Thucydides - a brief reviewCristian COȚOI
 
(final version) KIDS, RUBY, FUN! - Introduction of the Smalruby and Ruby Pro...
(final version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyPro...(final version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyPro...
(final version) KIDS, RUBY, FUN! - Introduction of the Smalruby and Ruby Pro...宏治 高尾
 
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF Session
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF SessionJavaOne 2013 "Using Java to Build Java: Betterrev" BOF Session
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF SessionDaniel Bryant
 
Enterprise Strength Mobile JavaScript
Enterprise Strength Mobile JavaScriptEnterprise Strength Mobile JavaScript
Enterprise Strength Mobile JavaScriptTroy Miles
 
Challenges of moving a java team to scala
Challenges of moving a java team to scalaChallenges of moving a java team to scala
Challenges of moving a java team to scalaJoão Cavalheiro
 
Understand Java for Android the Hard Way
Understand Java for Android the Hard WayUnderstand Java for Android the Hard Way
Understand Java for Android the Hard WayGlobalLogic Ukraine
 
Don't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobileDon't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobilePhilip Brechler
 
The Cowardly Test-o-Phobe's Guide To Testing
The Cowardly Test-o-Phobe's Guide To TestingThe Cowardly Test-o-Phobe's Guide To Testing
The Cowardly Test-o-Phobe's Guide To TestingTim Duckett
 

Similar to Tokyo iOS Meetup - 409 - Testing In XCode (20)

Spock testing
Spock testingSpock testing
Spock testing
 
AOTB2014: Agile Testing on the Java Platform
AOTB2014: Agile Testing on the Java PlatformAOTB2014: Agile Testing on the Java Platform
AOTB2014: Agile Testing on the Java Platform
 
Inland Empire JUG Presentation 12/11
Inland Empire JUG Presentation 12/11Inland Empire JUG Presentation 12/11
Inland Empire JUG Presentation 12/11
 
From Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDEFrom Renamer Plugin to Polyglot IDE
From Renamer Plugin to Polyglot IDE
 
Hello YellowJS
Hello YellowJSHello YellowJS
Hello YellowJS
 
Counterclockwise past present future
Counterclockwise  past present futureCounterclockwise  past present future
Counterclockwise past present future
 
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)
 
Hadoop Summit 2013 : Continuous Integration on top of hadoop
Hadoop Summit 2013 : Continuous Integration on top of hadoopHadoop Summit 2013 : Continuous Integration on top of hadoop
Hadoop Summit 2013 : Continuous Integration on top of hadoop
 
PhoneGap in 60 Minutes or Less
PhoneGap in 60 Minutes or LessPhoneGap in 60 Minutes or Less
PhoneGap in 60 Minutes or Less
 
Thucydides - a brief review
Thucydides - a brief reviewThucydides - a brief review
Thucydides - a brief review
 
(final version) KIDS, RUBY, FUN! - Introduction of the Smalruby and Ruby Pro...
(final version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyPro...(final version) KIDS, RUBY, FUN! - Introduction of the Smalruby and RubyPro...
(final version) KIDS, RUBY, FUN! - Introduction of the Smalruby and Ruby Pro...
 
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF Session
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF SessionJavaOne 2013 "Using Java to Build Java: Betterrev" BOF Session
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF Session
 
Enterprise Strength Mobile JavaScript
Enterprise Strength Mobile JavaScriptEnterprise Strength Mobile JavaScript
Enterprise Strength Mobile JavaScript
 
Challenges of moving a java team to scala
Challenges of moving a java team to scalaChallenges of moving a java team to scala
Challenges of moving a java team to scala
 
20170613 tech easy
20170613 tech easy20170613 tech easy
20170613 tech easy
 
Understand Java for Android the Hard Way
Understand Java for Android the Hard WayUnderstand Java for Android the Hard Way
Understand Java for Android the Hard Way
 
Don't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobileDon't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobile
 
Intro to kotlin
Intro to kotlinIntro to kotlin
Intro to kotlin
 
The Cowardly Test-o-Phobe's Guide To Testing
The Cowardly Test-o-Phobe's Guide To TestingThe Cowardly Test-o-Phobe's Guide To Testing
The Cowardly Test-o-Phobe's Guide To Testing
 
History of Java 2/2
History of Java 2/2History of Java 2/2
History of Java 2/2
 

Recently uploaded

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Recently uploaded (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Tokyo iOS Meetup - 409 - Testing In XCode

  • 1. 409 - TESTING IN XCODE Gavin Thomas ippoippo-software@ippoippo-eco.com @IppoippoSftware www.ippoippo-software.com Sunday, 20 October 13
  • 2. WHO AM I? • Previously an Enterprise Java developer for 15 years for my day job • Now work as Ruby developer for my day job • Mac user since 2006, iOS devices since 2008. • Dabbled with Obj-C since 2008, but started investing more time from start of this year. Sunday, 20 October 13
  • 4. WHY? G nd IN a RN tion A a W lis es a otyp er re en te G S Sunday, 20 October 13
  • 6. WHY? • The Ruby development world has a strong testing ethos, typically ‘spec’ (or human readable) orientated. Leads the way, but sometimes tooling is fragile. • Enterprise Java development world was slower to catch on, but JUnit is used heavily now. However, the tooling is solid. • Despite xUnit coming from Smalltalk, historically Unit Testing was never big in ‘old’ Objective-C world. • New generation of Obj-C devs are driving Unit Testing with 3rd party tools (Kiwi, Expecta, OCMock, OCMockito, Specta) Sunday, 20 October 13
  • 7. WHAT’S THE MAIN TOPIC IN THE VIDEO? • Unit Testing basics (why and what) 04:14 to 07:15 • New Frameworks and Tools (XCTest and XCode updates) 07:15 to 33:20 • Continuous Sunday, 20 October 13 Integration 33:20 to 45:00
  • 8. WHAT KIND OF VALUE FROM WATCHING IT? • New Objective-C developers who have not experienced Unit Testing elsewhere get an overview of the ‘why’? • Understand that Apple is adopting ‘best practice’ as used elsewhere in the industry. • For experienced ‘unit testers’, understand what improvements Apple has added to tools (and to understand what is still missing) Sunday, 20 October 13
  • 9. MOST INTERESTING POINTS? • 1:18 - “Why Test?” According to Apple • Catch ‘crashers’ - No1 reason why apps are rejected. • Helps development in teams Sunday, 20 October 13
  • 10. MOST INTERESTING POINTS? • 7:09 - “Where to start testing” • Using out of the box XCode tools, Models and Controllers are ‘easier’ to test. Sunday, 20 October 13
  • 11. MOST INTERESTING POINTS? • 10:25 • For - Test Navigator previous IntelliJ, RubyMine, Eclipse etc users... IDE tools Sunday, 20 October 13
  • 12. MOST INTERESTING POINTS? • 20:00 - Checklist for what you should test for • For people experience in Unit Testing in other languages, but new to Objective-C... • The failures to check for list is very useful as Objective-C specific Sunday, 20 October 13
  • 13. MOST INTERESTING POINTS? • 21:22 - setUp • ‘shim’ ==> Ohh, you mean a mock object! • So, XCTest comes with Mocking support, No? Dammit! • We rely on 3rd-parties still, like OCMock, or OCMockito (or Kiwi) Sunday, 20 October 13
  • 14. MOST INTERESTING POINTS? • 23:35 • If - iOS6 you want to support iOS6, you need to use the older OCTest still! Sunday, 20 October 13
  • 15. MOST INTERESTING POINTS? • 33:20 - CI with an Apple flavour • Relies on OS X Server, rather than support for existing tools (like Jenkins etc). • Allows testing of software on • Multiple connected iOS Devices • Multiple iOS Sims • Multiple iOS Versions Sunday, 20 October 13 Failing on iPad mini iOS6, working on iPhone iOS7
  • 16. MOST INTERESTING POINTS? • 46:42 - Already have CI (example, company doing non Obj-C work as well as iOS Apps)? • Use the command line tools, and integrate that way rather than rely on OS X Server Sunday, 20 October 13
  • 17. OTHER RESOURCES • http://iosunittesting.com • http://qualitycoding.org • http://pragprog.com/magazines/2012-10/its-not-about- the-unit-tests • “iOS developers generally don’t unit test. So why then do they as a community seem to enjoy a reputation for quality? No unit tests. No continuous integration. No TDD.” • An out of date quote now? Unit Testing does not guarantee quality. However, it’s a tool that helps you get there if you are already in the right ‘quality’ mindset. Sunday, 20 October 13