본문 바로가기

iOS/Testing5

[iOS] Xcode를 이용한 UI 테스트 - 3. 테스트 녹화 이번 글은 UI 테스트 코드를 조금 더 쉽게 작성할 수 있는 방법인 UI Recording에 대해 알아보려 합니다. 테스트에 사용한 프로젝트는 Github에서 다운받으실 수 있습니다. UI Recording? UI Recording은 사용자의 기기, 시뮬레이터, macOS의 유저 인터렉션을 코드로 생성해주는 기능을 지원합니다. 이 기능을 활용하면 UI 테스트를 위한 테스트 코드를 만들거나, 기존의 테스트를 확장하는 데 큰 도움이 됩니다. 🤩 그럼 Xcode를 사용해서 UI Recording 하는 방법을 알아보겠습니다! Xcode에서 녹화하기 iOS 프로젝트의 UI Recording을 하는 방법은 매우 간단합니다. 우선 시뮬레이터로 앱을 실행한 뒤 테스트 코드가 들어가야 할 위치를 선택합니다. 그리고 디버.. 2019. 12. 5.
[iOS] Parallel UI Testing 뤼이드의 iOS 챕터는 '산타토익' iOS 앱을 배포하기 전에 사용자가 주로 사용하는 기능 위주로 문제가 없는지 확인하는 체크리스트가 있습니다. 이 체크리스트는 기본적으로 사람이 하나하나 확인해야 하지만, iOS 챕터에서는 체크리스트 테스트를 자동화하여 개발자의 리소스를 확보하고, 다른 일에 더 투자할 수 있는 환경을 만들기 위해 노력하고 있습니다. 지금까지 20개의 UI 테스트를 만들었으며, 이 테스트가 완료되기까지 약 1시간 정도의 시간이 소요됩니다. 개발자가 각자의 커밋을 올리게 되면(PR) 빌드머신의 큐에 쌓이게 되고, 빌드가 완료되기까지 최소 1시간 이상을 기다려야 한다는 얘기입니다. 뤼이드의 iOS 챕터는 제품의 안정성과 업무의 효율성을 높이기 위해 앞으로도 더 많은 테스트 코드.. 2019. 12. 3.
[iOS] Xcode를 이용한 UI 테스트 - 2. 테스트 케이스 작성 이번 글에서는 iOS 앱의 UI 테스트 케이스를 어떻게 작성하는지 알아보려 합니다. 이전 글과 이어지는 내용이므로 아직 이전 글을 보지 않으셨다면 아래 링크를 눌러 이전 글을 먼저 보는 것을 추천합니다. 2019/11/30 - [iOS/Testing] - [iOS] Xcode를 이용한 UI 테스트 - 1. 시작하기 [iOS] Xcode를 이용한 UI 테스트 - 1. 시작하기 개발을 하다 보면 테스트의 중요성에 대해 많이 듣게 됩니다. 잘 작성된 테스트 코드는 서비스의 확장성, 안정성을 확보할 수 있고, 나아가 유지 보수도 쉬워진다는 매우 큰 장점이 있습니다. 하지만, 테스트 코드.. mildwhale.tistory.com 이제 미리 준비된 프로젝트를 실행해 보고, 테스트 케이스 작성 전에 알아두면 좋은 .. 2019. 12. 2.
[iOS] Xcode를 이용한 UI 테스트 - 1. 시작하기 개발을 하다 보면 테스트의 중요성에 대해 많이 듣게 됩니다. 잘 작성된 테스트 코드는 서비스의 확장성과 안정성을 확보할 수 있고, 나아가 유지 보수도 쉬워진다는 매우 큰 장점이 있습니다. 하지만, 테스트 코드를 작성해보려니 어렵고 복잡할 것 같아 망설였던 적도 있고, 눈에 보이는 결과물을 먼저 만들어야 하는 업무 환경 때문에 테스트 코드 작성은 대부분 낮은 우선순위를 가지게 되었습니다. 최근 UI 테스트를 작성하면서 얻은 경험을 정리하고, UI 테스트를 작성하기 위해 필요한 기본적인 방법을 소개하기 위해 이 글을 작성하려 합니다. 시작부터 이론적인 내용만 있으면 지루할 수 있으니, 이번 글에서는 테스트에 사용 할 프로젝트와 테스트 케이스에 대해 알아보겠습니다. 테스트 프로젝트 UI 테스트를 위해 간단한 .. 2019. 11. 30.
[iOS] Xcode 에서 비동기 테스트 작성하기 Xcode를 이용한 Test(Unit, UI)를 구현할 때, 비동기 작업이 완료될 때까지 기다려야 하는 상황이 있습니다. 특히, 네트워크 통신이 필요한 요즘의 앱에서는 필수적이죠. 예를 들면, 서버에서 데이터를 받아오는 것을 테스트한다거나, 받아온 데이터를 가공하고 다음 동작을 테스트를 하는 케이스가 있을 것입니다. 이번 글에서는 비동기 API를 테스트하는 방법과, Property의 값 변화를 기다렸다가 처리하는 방법에 대해서 알아보려고 합니다. 비동기 API 테스트 APIProvider의 asyncTask 함수의 호출 결과를 검증하기 위한 간단한 테스트 코드입니다. 하지만, 이 테스트는 반드시 실패하게 됩니다. 왜냐하면 asyncTask 함수가 비동기 함수이기 때문에, 테스트의 마지막 줄에서 Asser.. 2019. 11. 22.