SlideShare a Scribd company logo
Test-driven Development
on iOS
idiel@osxdev.org
Agenda
- What we’re going to learn...
- The very basic to the TDD for iOS
- Gate to the OSXDev Codingdojo
- <= 30min
Agenda
- Test-driven Development
- Overview
- TDD for iOS
- OSXDev Client
- Unit Testing Framework
Test-driven Development
- What is it?
- Software Development Process
- repetitive short development cycle
add
test
run
tests
write
code
run
tests
refactor
code
- Software Development Process
- Waterfall
Test-driven Development
Requirements
Specification
Development
Test
Deployment
Test-driven Development
- Software Development Process
- Agile
- based on iterative and incremental development
- XP
- TDD
- FDD
Test-driven Development
- Benefits
- Lower cost of fixing bugs
Test-driven Development
- Benefits
- Lower cost of fixing bugs
Test-driven Development
- Techniques for TDD
- Test First
- Red, Green, Refactor
- Designing a Test-Driven App
- Refactoring
- YAGNI(You Aren’t Gonna Need It)
- Testing Before, During, and After Coding
TDD for iOS
- OSXDev Client
- Requirements
- Account: Login/Logout/Signup
- Thread/Post: Read/Write post
- Users: Lookup/Message
- OSXDev Rest API
- Supported Actions
- authenticate
- getactions, getuser, getavatar, getusers, getgroup,
TDD for iOS
- OSXDev Client
- Simple User Search App
TDD for iOS
- Testing Preview
- Microfeatures
- Models
- View
- Controllers
TDD for iOS
- OCUnit
- Developed by Sen:Te
- Xcode Integration
- Test Fixture
- setUp
- tearDown
- SenTestingKit
- SenTestCase
- method prefix “test”
- Editing Schemes
- Automatic Test after Build
TDD for iOS
- OCUnit
- STAssert... Macros
STFail
STAssertNil
STAssertNotNil
STAssertTrue
STAssertFalse
STAssertEquals
STAssertEqualObjects
STAssertEqualsWithAccuracy
STAssertThrows
STAssertThrowsSpecific
STAssertThrowsSpecificNamed
STAssertNoThrow
STAssertNoThrowSpecific
STAssertNoThrowSpecificNamed
STAssertTrueNoThrow
STAssertFalseNoThrow
TDD for iOS
- Alternative Unit Testing Tools
- Google Toolkit for Mac (GTM)s
- GHUnit
- CATCH
- OCMock
- http://ocmock.org
- http://alexvoller.com/posts/2010/06/28/making-fun-of-things-with-
ocmock
TDD for iOS
- Getting Started
TDD for iOS
- Model testing sample
- ODCUser
- ODCForumGroup
- ODCForum
- ODCThread
OSXDev Coding Dojo
- Coming soon...
- visit http://osxdev.org

More Related Content

PPTX
Test Early, Test Often, Test Left
PPTX
SonarQube - The leading platform for Continuous Code Quality
PPTX
Test parallelization using Jenkins
PPTX
Hp fortify source code analyzer(sca)
PPTX
Rapid software testing and conformance with static code analysis
KEY
Best practices for writing good automated tests
PPTX
Track code quality with SonarQube - short version
PPTX
Test Early, Test Often, Test Left
SonarQube - The leading platform for Continuous Code Quality
Test parallelization using Jenkins
Hp fortify source code analyzer(sca)
Rapid software testing and conformance with static code analysis
Best practices for writing good automated tests
Track code quality with SonarQube - short version

What's hot (10)

PDF
EVOLVE'15 | Enhance | Rene Ugarte | AEM Quality Assurance
PPTX
Java Code Quality Tools
PDF
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
PDF
Apex triggers i
PDF
Introduction to Automated Testing
PDF
Joe Cisar - Everything I Know About TDD - Agile Midwest 2019
PDF
Continuous Inspection of Code Quality: SonarQube
PPTX
Building a high quality+ products with SCA
PPTX
How To Improve Quality With Static Code Analysis
PPTX
Test Automation Framework with BDD and Cucumber
EVOLVE'15 | Enhance | Rene Ugarte | AEM Quality Assurance
Java Code Quality Tools
КОСТЯНТИН НАТАЛУХА «Setup and run automated test framework for Android applic...
Apex triggers i
Introduction to Automated Testing
Joe Cisar - Everything I Know About TDD - Agile Midwest 2019
Continuous Inspection of Code Quality: SonarQube
Building a high quality+ products with SCA
How To Improve Quality With Static Code Analysis
Test Automation Framework with BDD and Cucumber
Ad

Similar to 2013.02.02 지앤선 테크니컬 세미나 - iOS 테스팅 이야기(OSXDEV) (20)

PDF
Common Challenges & Best Practices for TDD on iOS
PDF
Test Driven iOS Development (TDD)
PDF
TDD anche su iOS
PDF
Test Driven Development
PPS
Unit testing_pps
PPT
Introduction to Test Driven Development
PPT
Unit Testing in iOS
PPTX
Cleaner Code Through Test-Driven Development
PPTX
Understanding TDD - theory, practice, techniques and tips.
PDF
A Comprehensive Guide to Efficiently Writing and Implementing iOS Unit Tests.pdf
PPTX
Test Driven Development on Android (Kotlin Kenya)
PPTX
Test Driven Development (TDD) with FlexUnit 4 - 360|Flex San Jose preso
PPTX
Test Driven Development (TDD) Preso 360|Flex 2010
PDF
Tokyo iOS Meetup - 409 - Testing In XCode
ODP
MobileCity:Introduction to IOS
PPTX
Test-Driven Development In Action
PPT
Presentation_TDD
PDF
Test driven development : software process
PPT
Test Driven Development
PPT
Test-Driven Development
Common Challenges & Best Practices for TDD on iOS
Test Driven iOS Development (TDD)
TDD anche su iOS
Test Driven Development
Unit testing_pps
Introduction to Test Driven Development
Unit Testing in iOS
Cleaner Code Through Test-Driven Development
Understanding TDD - theory, practice, techniques and tips.
A Comprehensive Guide to Efficiently Writing and Implementing iOS Unit Tests.pdf
Test Driven Development on Android (Kotlin Kenya)
Test Driven Development (TDD) with FlexUnit 4 - 360|Flex San Jose preso
Test Driven Development (TDD) Preso 360|Flex 2010
Tokyo iOS Meetup - 409 - Testing In XCode
MobileCity:Introduction to IOS
Test-Driven Development In Action
Presentation_TDD
Test driven development : software process
Test Driven Development
Test-Driven Development
Ad

More from JiandSon (7)

PDF
2015.03.25 테크니컬 세미나 - SonarQube를 활용한 코드 품질 시각화(김모세)
PDF
2015.03.14 Piday in Korea 지앤선 라즈베리 미트업(박종건)
PDF
2013.02.02 지앤선 테크니컬 세미나 - Xcode를 활용한 디버깅 팁(OSXDEV)
PDF
2013.02.02 지앤선 테크니컬 세미나 - 하둡으로 배우는 대용량 데이터 분산처리 기술(이현남)
PDF
2014.07.26 KSUG와 지앤선이 함께하는 테크니컬 세미나 - 나의 첫번째 자바8 람다식 (정대원)
PDF
2014.07.26 KSUG와 지앤선이 함께하는 테크니컬 세미나 - 씹고 뜯고 맛보고 즐기는 스트림 API(박용권)
PDF
2014.07.26 KSUG와 지앤선이 함께하는 테크니컬 세미나 - 자바8 람다 나머지 이야기 (박성철)
2015.03.25 테크니컬 세미나 - SonarQube를 활용한 코드 품질 시각화(김모세)
2015.03.14 Piday in Korea 지앤선 라즈베리 미트업(박종건)
2013.02.02 지앤선 테크니컬 세미나 - Xcode를 활용한 디버깅 팁(OSXDEV)
2013.02.02 지앤선 테크니컬 세미나 - 하둡으로 배우는 대용량 데이터 분산처리 기술(이현남)
2014.07.26 KSUG와 지앤선이 함께하는 테크니컬 세미나 - 나의 첫번째 자바8 람다식 (정대원)
2014.07.26 KSUG와 지앤선이 함께하는 테크니컬 세미나 - 씹고 뜯고 맛보고 즐기는 스트림 API(박용권)
2014.07.26 KSUG와 지앤선이 함께하는 테크니컬 세미나 - 자바8 람다 나머지 이야기 (박성철)

Recently uploaded (20)

PDF
cuic standard and advanced reporting.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Encapsulation theory and applications.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Electronic commerce courselecture one. Pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Cloud computing and distributed systems.
cuic standard and advanced reporting.pdf
Approach and Philosophy of On baking technology
Encapsulation theory and applications.pdf
Understanding_Digital_Forensics_Presentation.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
NewMind AI Weekly Chronicles - August'25 Week I
Electronic commerce courselecture one. Pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Spectral efficient network and resource selection model in 5G networks
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Machine learning based COVID-19 study performance prediction
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
20250228 LYD VKU AI Blended-Learning.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Review of recent advances in non-invasive hemoglobin estimation
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Cloud computing and distributed systems.

2013.02.02 지앤선 테크니컬 세미나 - iOS 테스팅 이야기(OSXDEV)

  • 2. Agenda - What we’re going to learn... - The very basic to the TDD for iOS - Gate to the OSXDev Codingdojo - <= 30min
  • 3. Agenda - Test-driven Development - Overview - TDD for iOS - OSXDev Client - Unit Testing Framework
  • 4. Test-driven Development - What is it? - Software Development Process - repetitive short development cycle add test run tests write code run tests refactor code
  • 5. - Software Development Process - Waterfall Test-driven Development Requirements Specification Development Test Deployment
  • 6. Test-driven Development - Software Development Process - Agile - based on iterative and incremental development - XP - TDD - FDD
  • 7. Test-driven Development - Benefits - Lower cost of fixing bugs
  • 8. Test-driven Development - Benefits - Lower cost of fixing bugs
  • 9. Test-driven Development - Techniques for TDD - Test First - Red, Green, Refactor - Designing a Test-Driven App - Refactoring - YAGNI(You Aren’t Gonna Need It) - Testing Before, During, and After Coding
  • 10. TDD for iOS - OSXDev Client - Requirements - Account: Login/Logout/Signup - Thread/Post: Read/Write post - Users: Lookup/Message - OSXDev Rest API - Supported Actions - authenticate - getactions, getuser, getavatar, getusers, getgroup,
  • 11. TDD for iOS - OSXDev Client - Simple User Search App
  • 12. TDD for iOS - Testing Preview - Microfeatures - Models - View - Controllers
  • 13. TDD for iOS - OCUnit - Developed by Sen:Te - Xcode Integration - Test Fixture - setUp - tearDown - SenTestingKit - SenTestCase - method prefix “test” - Editing Schemes - Automatic Test after Build
  • 14. TDD for iOS - OCUnit - STAssert... Macros STFail STAssertNil STAssertNotNil STAssertTrue STAssertFalse STAssertEquals STAssertEqualObjects STAssertEqualsWithAccuracy STAssertThrows STAssertThrowsSpecific STAssertThrowsSpecificNamed STAssertNoThrow STAssertNoThrowSpecific STAssertNoThrowSpecificNamed STAssertTrueNoThrow STAssertFalseNoThrow
  • 15. TDD for iOS - Alternative Unit Testing Tools - Google Toolkit for Mac (GTM)s - GHUnit - CATCH - OCMock - http://ocmock.org - http://alexvoller.com/posts/2010/06/28/making-fun-of-things-with- ocmock
  • 16. TDD for iOS - Getting Started
  • 17. TDD for iOS - Model testing sample - ODCUser - ODCForumGroup - ODCForum - ODCThread
  • 18. OSXDev Coding Dojo - Coming soon... - visit http://osxdev.org