SlideShare ist ein Scribd-Unternehmen logo
1 von 74
Downloaden Sie, um offline zu lesen
LinkedIn
Github
Test-Driven Development XCTest Unit Testing
Getting Started TDD 

in iOS, Swift
SESAC weekly seminar
DOY KIM
DOY KIM
iOS Developer
iOS앱<연뮤로그>,<한미연합사전>출시

독립출판인
고양이집사5년차 

킴디
Table OF CONTENTS
01
TDD

테스트주도개발
1)tDD의정의

2)사용해야하는이유

3)장단점

4)TDD방법
02
XCTest

iOS에서의TDD
1)XCTest란

2)작성할수있는테스트

3)setUp,tearDown

03
UNITTEST

XCTest로테스트하기
1)XCTest세팅

2)테스트작성방법

3)테스트할기능미리보기

4)단위테스트해보기
04
epliogue

덧붙이는말
1)TDD잘하는방법

2)참고문헌및링크

3)감사의말
01
TDD

테스트 주도개발
tDD의 정의 - 사용해야하는 이유 - 장단점 - TDD 방법
DOY KIM
TDD의 정의
01 TDD 테스트 주도개발
XP(Extreme programming), Kent Beck
개발을 하면서 의사결정(Decision)과 피드백(Feedback) 사이의 

간극(Gap)을 인지하는 것. 그리고 그 간극을 제어하는 테크닉.
DOY KIM
결정(Decision) 어떤 식으로 코드를 설계할지

피드백(Feedback) 성공, 실패
DOY KIM
TDD를 왜 사용하나요
01 TDD 테스트 주도개발
좋은 객체지향 프로그래밍

결합도(coupling)  

응집도(cohesion)
좋은 객체지향 프로그래밍

결합도(coupling)  

응집도(cohesion)
DOY KIM
TDD를 왜 사용하나요
01 TDD 테스트 주도개발
좋은 객체지향 프로그래밍

결합도(coupling)  

응집도(cohesion)
좋은 객체지향 프로그래밍

결합도(coupling)  

응집도(cohesion)
DOY KIM
시간이 흐를수록 

설계의 퀄리티는 낮아지고 

유지보수도 그만큼 어렵고 

비용이 높아짐.
DOY KIM
이런 문제를 피하기 위해

여러 방식을 통해서 

설계 품질을 검증하는 

과정을 거쳐야함.
DOY KIM
TDD가 좀 더 간단하고 유지가능한 

설계를 작성하는데 도움을 준다는 

사실은 여러 연구를 통해서도 

밝혀져있음.
DOY KIM
TDD의 장·단점
01 TDD 테스트 주도개발
TDD 개발자들은 블랙박스

기능테스트를 더 통과

하는 . 그러나

개발에 드는
18%
높은 품질의 코드
시간은 16% 더
An Initial Investigation 

of Test Driven Develop-

ment in Industry
DOY KIM
DOY KIM
DOY KIM
How Test-Driven Development Influences Class Design: 

A Practitioner’s Point of View
DOY KIM
TDD 방법
01 TDD 테스트 주도개발
Extreme Programming Explained

- Kent Beck

UI Testing Your iOS App - iOS Academy
DOY KIM
처음에는 테스트를 작성함.

아직 구현이 없기 때문에 

무조건 실패 할 테스트가됨.
DOY KIM
테스트를 빠르게 통과 하는 

최소한의 코드를 구현
처음에는 테스트를 작성함.

아직 구현이 없기 때문에 

무조건 실패 할 테스트가됨.
DOY KIM
이를 기반으로 리팩토링  

→ 테스트케이스가 있으므로 

안심하고 코드를 작성할 수 

있다.
테스트를 빠르게 통과 하는 

최소한의 코드를 구현
처음에는 테스트를 작성함.

아직 구현이 없기 때문에 

무조건 실패 할 테스트가됨.
DOY KIM
이를 기반으로 리팩토링  

→ 테스트케이스가 있으므로 

안심하고 코드를 작성할 수 

있다.
테스트를 빠르게 통과 하는 

최소한의 코드를 구현
처음에는 테스트를 작성함.

아직 구현이 없기 때문에 

무조건 실패 할 테스트가됨.
이 프로세스의 반복이 

TDD
02
XCTest

iOS에서의 TDD
XCTest란 - XCTest에서 작성할 수 있는 테스트 - SetUp, TearDown
DOY KIM
XCTest란?
02 XCTest: iOS에서의 TDD
Xcode 5.0+ 부터 제공되는 프레임워크.

여러 추상화단계의 테스트를 작성하는데 편의성을 더해줌.
DOY KIM
단위 테스트

앱의 로직을 테스트
단위 테스트

앱의 로직을 테스트
WWDC 2019
DOY KIM
단위 테스트

앱의 로직을 테스트
단위 테스트

앱의 로직을 테스트
통합 테스트

서로 연결된 작은 

파트들을 테스트
통합 테스트

서로 연결된 작은 

파트들을 테스트
WWDC 2019
DOY KIM
단위 테스트

앱의 로직을 테스트
단위 테스트

앱의 로직을 테스트
통합 테스트

서로 연결된 작은 

파트들을 테스트
통합 테스트

서로 연결된 작은 

파트들을 테스트
UI 테스트

사용하는 방식의

정확한 동작을

체크하는 테스트
UI 테스트

사용하는 방식의

정확한 동작을

체크하는 테스트
WWDC 2019
DOY KIM
XCTest로 작성할 수 

있는 테스트 종류
02 XCTest: iOS에서의 TDD
단위테스트 통합테스트
UI테스트 성능테스트
DOY KIM
단위테스트
iOS Test-Driven Development, Pablo Villar
코드의 한 단위를 테스트

일반적으로 클래스 안의 

메서드와 함수를 테스트.

단위 테스트는 테스트를 

진행하는 시스템에서 

이루어짐.
DOY KIM
Preparation 준비: 

Execution 실행 :
Verification 검증: 

given - 초기 조
 

when - 코드를 실행하는 상태, 조건, 환
then - 어떤 결과를 기대하는지
단위테스트
DOY KIM
통합테스트
통합테스트는 더 큰 서브 시스템의 동작방식이나, 또는 

클래스와 함수를 합쳐서 테스트한다.
예를 들어 컨트롤러로부터 받은 

값을 제대로 모델에 저장하는지, 

네트워크 요청 오류가 생겼을 때 

UI에 잘 표시하는지 여부 등

ART OF TESTING
DOY KIM
UI테스트
developer.apple.com (testing-your-apps-in-xcode)

앱의 코드를 직접 

실행하지 않고 

앱의 UI를 실제 

사용자처럼 사용

하는 식으로 테스트. 이를 통해 사용자가 앱을 사용하면서 

특정 태스크를 완수할 수 있는지를 판단,결정함.
DOY KIM
성능테스트
코드 단위의 실행동안 걸린 시간, 

메모리 사용량 등의 정보를 확인

할 수 있다. 여러번 코드를 실행, 

측정함. 베이스라인을 세팅할 수 

있고 측정 값이 베이스라인보다 

현저히 안 좋을 경우 테스트 실패
chimehq - xctest-performance
DOY KIM WWDC 2019
DOY KIM
SetUp, TearDown
02 XCTest: iOS에서의 TDD
WWDC 2019

XCTestCase 는 

setUp() 

tearDown() 

메서드를 가지고 있다
DOY KIM
setUp() tearDown()
테스트케이스가 

실행되기 전에 

실행되는 메서드
테스트케이스가 

실행된 후에 호출. 

클린업.
DOY KIM
WWDC 2019
03
UNITTEST

XCTest로 테스트하기
XCTest 세팅 - 테스트 작성 방법 - 테스트할 기능 미리보기 - 단위테스트 해보기
DOY KIM
TDD의 중요한 법칙
작성하려는 코드의 테스트를 작성할 수 없다면? 

독립적인 방식으로 클래스를 테스트하는 것이 어렵다면 

설계에 문제가 있는 것
DOY KIM
XCTest 세팅
03 UNIT TEST: XCTest로 테스트하기
프로젝트를 만들 때 

Include Tests 

체크하거나
DOY KIM
기존 프로젝트에서 추가

하려면 Xcode 왼쪽에

테스트 네비게이터에서

New Unit Test Target

을 선택
DOY KIM
테스트 작성방법
03 UNIT TEST: XCTest로 테스트하기
01 테스트 타겟에 XCTestCase의 서브클래스를 생성
01 테스트 타겟에 XCTestCase의 서브클래스를 생성
02 테스트 메서드를 클래스 안에 선언
02 테스트 메서드를 클래스 안에 선언
03 테스트 Assertion을 테스트 메서드 안에 선언
03 테스트 Assertion을 테스트 메서드 안에 선언
DOY KIM
테스트 메서드는 XCTestCase 서브 클래스의 인스턴스 메서드
파라미터와 반환값이 없고, 이름은 반드시 소문자 test로 시작해야한다
테스트 메서드는 Xcode의 

XCTest 프레임워크에 의해 자동으로 탐지된다
WWDC 2019
DOY KIM
테스트할 기능 

미리보기
03 UNIT TEST: XCTest로 테스트하기
휴대전화번호를 

입력하면 포맷에 맞게 

‘-’를 적절한 위치에 

넣어주는 기능
DOY KIM
전화번호를 포맷에 맞게 바꿔주는 클래스와 메서드를 

만들기. 컴파일을 성공시키는 게 목적이므로 최소한의 

코드만 작성.

단위테스트 해보기
03 UNIT TEST: XCTest로 테스트하기
DOY KIM
테스트

케이스

작성하기
DOY KIM
빈 마름모에 

마우스를 

가져다대면 

플레이아이콘이 

뜬다. 이걸 클릭

해서 테스트 수행
DOY KIM
FAIL
DOY KIM
통과를 위한 코드 만들기
DOY KIM
PASS
DOY KIM
테스트 통과는 했지만 여러 형태의 

휴대폰 번호에 대응할 수 있어야하므로 

테스트 케이스를 늘려나가볼 것.
DOY KIM
FAIL
DOY KIM
휴대전화번호 11자리에 대시를 잘 넣는 

코드로 바꿔보자. 3자리 뒤에 대시, 4자리 뒤에 대시를 

넣는 코드를 만들면 되지 않을까?
DOY KIM
PASS
DOY KIM
REFACTORING
반복문 말고 정규식

으로 바꿔서 리팩토링

하기. 왜냐하면 위 반복문은 최소 O(11) 작동하므로
DOY KIM
PASS
DOY KIM
우리가 원하는 건, 

11자리 전화번호뿐 

아니라, 텍스트필드

에서 작성중일때도 

양식에 맞춰서 대시를

넣어주는 것
DOY KIM
전화번호가 11자리가 아닌 

테스트 케이스를 추가하기
DOY KIM
전화번호가 11자리가 아닌 

테스트 케이스를 추가하기
DOY KIM
FAIL
DOY KIM
그렇다면 11자리가 되지 않는 숫자를 

조건을 걸어서 정규식을 적용해주면 어떨까?
DOY KIM
PASS
DOY KIM
7자리가 넘어가는 케이스와 

3자리 케이스를 추가해서 돌려보았다.

FAIL
DOY KIM
11자리보다 작지만 7자리보다 클 경우 

FAIL이 되므로 다시 코드를 수정해준다.
DOY KIM
PASS
DOY KIM
REFACTORING
우리가 만든 테스트케이스를 모두 통과할 경우 해당 

코드는 원하는 목표를 달성한 것이기 때문에 

리팩토링을 맘 놓고 편안하게 할 수 있다.
추가적으로 리팩토링 할 수 있는 지점
String Extensio
중복되는 코드 수정하
등등....
추가적으로 리팩토링 할 수 있는 지점
String Extensio
중복되는 코드 수정하
등등....
DOY KIM
그 외에 추가해야되는 테스트 케이스
숫자 외에 문자가 들어가는 문자열이라면
숫자 사이에 다른 문자가 들어간다면
010과 같은 전화번호 형식이 아니라면?
그 외에 추가해야되는 테스트 케이스
숫자 외에 문자가 들어가는 문자열이라면
숫자 사이에 다른 문자가 들어간다면
010과 같은 전화번호 형식이 아니라면?
이런 루틴을 반복해가며 테스트 주도 개발을 

해볼 수 있을 것이다.
04
Epilogue

덧붙이는 말
TDD 잘하는 방법 - 참고문헌 및 링크 - 감사의 말
DOY KIM
TDD를 잘 하려면..
04 Epilogue: 덧붙이고 싶은 말
단위테스트에 실패하지 않으려면
DOY KIM
테스트를 안 만들면 된다 ^^
단위테스트에 실패하지 않으려면
DOY KIM
는 아니고

좋은 개발자들도 좋은 테스트를 만드는 것을 

어려워하는 경우가 많으니 기죽지 말자
프로덕트를 만들 때 배운 규칙을 기계적으로 

테스트를 작성할 때도 적용하기 때문.
DOY KIM
mtlynch.io/good-developers-bad-tests/
그래서 

해변가의 별장을  

도심속 고층건물로

짓는 것처럼

테스트를 만들게 됨
DOY KIM
좋은 테스트를 작성하기 위해서는 

시켜야 한다. 


추상화를 최소화하면서 

단순성을 최대화해야한다는 것.

테스트코드의 목적과 

엔지니어링에 관한 의사결정을 

일치
DOY KIM
테스트를 잘 만들기 

위해서 다음과 같은 

순서로 숙련해볼

수 있겠다.
Let’s TDD - 전수열
Design patterns: elements of reuseable object-oriented software, E.Gamma, et al
How Test-Driven Development Influences Class Design: A Practitioner’s Point of View, M. F. Aniche, et al
An Initial Investigation of Test Driven Development in Industry, B.George, et al
Extreme Programming Explained, Kent Bec
https://developer.apple.com/documentation/xctes
https://developer.apple.com/documentation/xcode/testing-your-apps-in-xcod
https://developer.apple.com/videos/play/wwdc2019/413
https://www.testresults.io/blog/what-is-black-box-testing-and-how-to-use-it-in-functional-tests
https://mtlynch.io/good-developers-bad-tests
https://youtu.be/meTnd09Pf_
https://youtu.be/ECuc3qoRm9
https://www.slideshare.net/PabloVillar5/ios-testdriven-development
참고문헌 및 자료
감사합니다
들어주셔서
저희고양이

보세요
DOY KIM

Weitere ähnliche Inhalte

Ähnlich wie iOS개발에서 TDD 해보기 - XCTest, Unit Test

Devon 2011-b-5 효과적인 레거시 코드 다루기
Devon 2011-b-5 효과적인 레거시 코드 다루기Devon 2011-b-5 효과적인 레거시 코드 다루기
Devon 2011-b-5 효과적인 레거시 코드 다루기Daum DNA
 
엔지니어의 학습, 그리고 테스트 코드
엔지니어의 학습, 그리고 테스트 코드엔지니어의 학습, 그리고 테스트 코드
엔지니어의 학습, 그리고 테스트 코드Mijeong Park
 
TDD&Refactoring Day 02: TDD
TDD&Refactoring Day 02: TDDTDD&Refactoring Day 02: TDD
TDD&Refactoring Day 02: TDDSuwon Chae
 
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018Kenneth Ceyer
 
TDD.JUnit.조금더.알기
TDD.JUnit.조금더.알기TDD.JUnit.조금더.알기
TDD.JUnit.조금더.알기Wonchang Song
 
테스트 자동화의 원칙
테스트 자동화의 원칙테스트 자동화의 원칙
테스트 자동화의 원칙codevania
 
Clean code chapter9
Clean code chapter9Clean code chapter9
Clean code chapter9ukjinkwoun
 
TDD - 테스트 주도로 개발하기
TDD - 테스트 주도로 개발하기TDD - 테스트 주도로 개발하기
TDD - 테스트 주도로 개발하기현승 배
 
TDD&Refactoring Day 03: TDD
TDD&Refactoring Day 03: TDDTDD&Refactoring Day 03: TDD
TDD&Refactoring Day 03: TDDSuwon Chae
 
X unittestpattern 1장_아꿈사
X unittestpattern 1장_아꿈사X unittestpattern 1장_아꿈사
X unittestpattern 1장_아꿈사효원 강
 
깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)Jay Park
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentChangHyeon Bae
 
CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)DONGSU KIM
 
[부스트캠프 Tech Talk]김영근_처음 시작하는 TDD
[부스트캠프 Tech Talk]김영근_처음 시작하는 TDD[부스트캠프 Tech Talk]김영근_처음 시작하는 TDD
[부스트캠프 Tech Talk]김영근_처음 시작하는 TDDCONNECT FOUNDATION
 
TDD in gameserver 발표자료
TDD in gameserver 발표자료TDD in gameserver 발표자료
TDD in gameserver 발표자료Vong Sik Kong
 
xUnitTestPattern/chapter17
xUnitTestPattern/chapter17xUnitTestPattern/chapter17
xUnitTestPattern/chapter17Yoon Hee Hwang
 
Test Driven Development (TDD) basic
Test Driven Development (TDD) basicTest Driven Development (TDD) basic
Test Driven Development (TDD) basicCurt Park
 

Ähnlich wie iOS개발에서 TDD 해보기 - XCTest, Unit Test (20)

Devon 2011-b-5 효과적인 레거시 코드 다루기
Devon 2011-b-5 효과적인 레거시 코드 다루기Devon 2011-b-5 효과적인 레거시 코드 다루기
Devon 2011-b-5 효과적인 레거시 코드 다루기
 
엔지니어의 학습, 그리고 테스트 코드
엔지니어의 학습, 그리고 테스트 코드엔지니어의 학습, 그리고 테스트 코드
엔지니어의 학습, 그리고 테스트 코드
 
TDD&Refactoring Day 02: TDD
TDD&Refactoring Day 02: TDDTDD&Refactoring Day 02: TDD
TDD&Refactoring Day 02: TDD
 
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
 
TDD.JUnit.조금더.알기
TDD.JUnit.조금더.알기TDD.JUnit.조금더.알기
TDD.JUnit.조금더.알기
 
Tdd with JUnit 1
Tdd with JUnit 1Tdd with JUnit 1
Tdd with JUnit 1
 
테스트 자동화의 원칙
테스트 자동화의 원칙테스트 자동화의 원칙
테스트 자동화의 원칙
 
Clean code chapter9
Clean code chapter9Clean code chapter9
Clean code chapter9
 
TDD - 테스트 주도로 개발하기
TDD - 테스트 주도로 개발하기TDD - 테스트 주도로 개발하기
TDD - 테스트 주도로 개발하기
 
TDD&Refactoring Day 03: TDD
TDD&Refactoring Day 03: TDDTDD&Refactoring Day 03: TDD
TDD&Refactoring Day 03: TDD
 
Tdd
TddTdd
Tdd
 
X unittestpattern 1장_아꿈사
X unittestpattern 1장_아꿈사X unittestpattern 1장_아꿈사
X unittestpattern 1장_아꿈사
 
깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)
 
TDD
TDDTDD
TDD
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)
 
[부스트캠프 Tech Talk]김영근_처음 시작하는 TDD
[부스트캠프 Tech Talk]김영근_처음 시작하는 TDD[부스트캠프 Tech Talk]김영근_처음 시작하는 TDD
[부스트캠프 Tech Talk]김영근_처음 시작하는 TDD
 
TDD in gameserver 발표자료
TDD in gameserver 발표자료TDD in gameserver 발표자료
TDD in gameserver 발표자료
 
xUnitTestPattern/chapter17
xUnitTestPattern/chapter17xUnitTestPattern/chapter17
xUnitTestPattern/chapter17
 
Test Driven Development (TDD) basic
Test Driven Development (TDD) basicTest Driven Development (TDD) basic
Test Driven Development (TDD) basic
 

Kürzlich hochgeladen

공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 

Kürzlich hochgeladen (8)

공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 

iOS개발에서 TDD 해보기 - XCTest, Unit Test