본문 바로가기
카테고리 없음

Testing - End-to-End

by 살길바라냐 2023. 2. 8.

end-to-end(E2E) 테스트란?

사용자 관점으로 디바이스를 사용해서 (또는 시뮬레이터, 에뮬레이터)
app 예측대로 잘 작동하는지 확인하는 작업이다. 

이 작업은 release 형태로 앱을 빌드하고
이것에 대한 테스트를 실행하여 수행된다.

E2E 테스트 에서는
더이상
React components, React Native APIs, Redux stores or any business logic.
대해 생각할 필요가 없다.

React components, React Native APIs, Redux stores or any business logic
는 E2E 테스트에 대한 목적이 아니다. 

그리고 E2E 테스팅으로 접근 조차 불가능 하다. 

대신에 너의 app의 스크린에서 element를 
찾거나 제어가 가능하다. 

좀더 쉽게 예를 들어서 말하면: 

실제로 사용자가 버튼을 누르거나, 
TextInput에 text를 넣는 경우

app화면에 element가 존재하는 여부
보여지는 여부 텍스트가 포함됬는지 여부를
확인 할수 있다. 

 

E2E  테스트는 app이 정상적으로 작동가능 하다는
높은 가능성과 자신감을 너에게 하사한다

장단점은 아래와 같다:


- 다른 테스트 타입을 비교할 경우 좀더 많은 시간이 필요 하다.

- 실행이 좀 느리다

- 좀 뻑나기 쉽다
( 'flaky' 테스트는 코드의 모든 변화 간혹 패스 또는 실패 한다.

E2E test로 app의 중요한 부분을 보호할 수 있다:
authentication flow, core functionalities, payments 중요한 부분을 제외한
중요하지 않은 부분은 JS로 빠르게 test가능 하다. 

높은 자부심을 갖기 위해 좀더 테스트를 하기 위해  중요한 부분을 추가한다면
좀더 유지 운영에 많은 시간이 필요하다.

장단점을 잘 고려해서 최선을 방법을 선택하면 된다.

몇가지 E2E 테스팅이 가능한 툴이 있는데 :

React Native community에서, Detox 가 공식적인 framework이다.
React Native app에 맞게 되어 있어서

다른 공식적인 라이브러리는 Appium.이 있다
네이티브에 특화되어 있다 물론 React Native app 가능하지만 다루기가 쉽지 않다. 

728x90
반응형