18
Test-driven Development on iOS [email protected]

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

Embed Size (px)

Citation preview

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

Agenda- What we’re going to learn...- The very basic to the TDD for iOS

- Gate to the OSXDev Codingdojo

- <= 30min

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

Agenda- Test-driven Development- Overview

- TDD for iOS- OSXDev Client

- Unit Testing Framework

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

Test-driven Development- What is it?- Software Development Process- repetitive short development cycle

addtest

run tests

writecode

run tests

refactorcode

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

- Software Development Process- Waterfall

Test-driven Development

Requirements

Specification

Development

Test

Deployment

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

Test-driven Development- Software Development Process- Agile- based on iterative and incremental development

- XP

- TDD

- FDD

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

Test-driven Development- Benefits- Lower cost of fixing bugs

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

Test-driven Development- Benefits- Lower cost of fixing bugs

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

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

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

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,

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

TDD for iOS- OSXDev Client- Simple User Search App

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

TDD for iOS- Testing Preview- Microfeatures- Models

- View

- Controllers

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

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

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

TDD for iOS- OCUnit- STAssert... Macros

STFailSTAssertNilSTAssertNotNilSTAssertTrueSTAssertFalseSTAssertEqualsSTAssertEqualObjectsSTAssertEqualsWithAccuracySTAssertThrowsSTAssertThrowsSpecificSTAssertThrowsSpecificNamedSTAssertNoThrowSTAssertNoThrowSpecificSTAssertNoThrowSpecificNamedSTAssertTrueNoThrowSTAssertFalseNoThrow

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

TDD for iOS- Getting Started

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

TDD for iOS- Model testing sample- ODCUser

- ODCForumGroup

- ODCForum

- ODCThread

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

OSXDev Coding Dojo- Coming soon...- visit http://osxdev.org