티스토리 뷰

반응형

WWDC 2018 - What's New in Testing 의  Parallel Testing 내용을 기록 ✏️

 

 

[1] Parallel Testing이란

 

XCODE9 부터 Parallel Destination Testing을 지원한다. 

 

 

 

 

예전에는 테스트를 디바이스별로 나눠서 돌리는게 아니라 

디바이스1에서 모든 테스트 다 돌고, 디바이스2에서 모든 테스트 다 돌고 했었는데 

 

 

 

 

이제는 진짜 parallel하게 테스트를 나눠서 돌아서 테스트 시간이 훨씬 줄었다. 

 

 

 

 

자세히 살펴보자!

엑스코드는 각 uitest도는 앱(Runner라고 표현)에게 테스트를 나눠준다. 

 

 

 

 

정확히 말하면 XCode는 각 Runner에게 테스트 클래스를 나눠준다.

(각각의 테스트 메소드를 나눠주는게 아님)

 

 

 

 

그래서 꿀팁을 주셨는데 코드가 많은 클래스를 쪼개라고 하셨다. 

 

 

 

 

왜냐면 클래스별로 나눠서 돌리니까 테스트 메소드가 많으면 (주황색 클래스)

테스트가 오래 걸리는데 

 

 

 

 

두개로 쪼개면  더 빨리 테스트가 끝나기 때문이다. 

 

 

 

 

 

[2] Demo

 

paralell testing으로 

test가 14초에서 5초로 줄어들어서 박수받는 데모를 보여주셨다. 

 

Edit Scheme > Execute in parallel 켜고 

 

 

 

테스트 돌리면 

 

 

 

 

XCODE는 시뮬레이터의 multiple clones를 만든다.

 

 

 

 

참고로 실제 돌려보니까 4개의 클론이 떴고 

 

Clone 1 of iPhone 12

Clone 2 of iPhone 12...

 

이런식으로 네이밍이 표시 되었다. 

 

 

 

 

 

아무튼 14초에서 5초로 줄었다!! 

 

 

 

 

 

[3] xcodebuild 옵션 설정 

 

터미널 명령어 xcodebuild로 했을때 다음과 같은 옵션을 지정할 수 있다. 

 

1) Runner(worker)의 갯수를 정할수있다. 

 

 

 

 

2) parallel 할지말지를 정할 수 있다. 

 

 

 

 

 

반응형
댓글