# UITest

9개의 포스트
post-thumbnail

xcode testing 2가지

Unit Test (단위 테스트): Unit Test는 소스 코드의 개별적인 유닛(함수, 메소드, 클래스 등)이 의도한 대로 작동하는지를 검증하는 테스트 방법입니다. 각 유닛에 대한 독립적인 테스트 케이스를 작성하여 함수의 입력과 출력을 테스트하고, 코드의 정확성을 검증합니다. Unit Test는 프로그램의 각 모듈을 따로따로 테스트하므로, 코드의 안정성과 기능에 대한 신뢰성을 높여줍니다. 또한, 코드 변경 시 빠르게 문제점을 발견하고 수정할 수 있도록 도와줍니다. Unit Test를 작성할 때는 보통 XCTest 프레임워크를 사용하며, 함수 또는 메소드의 리턴 값과 예상 결과를 비교하거나, 특정 조건에서 예외가 발생하는지 확인하는 등의 테스트를 진행합니다. UI Test (사용자 인터페이스 테스트): UI Test는 앱의 사용자 인터페이스(UI)를 검증하는 테스트 방법입니다. 앱의 사용자 인터페이스를 시뮬레이트하고, 사용자의 실제 조작과 동작을 흉내내어 테스트합니다

2023년 8월 7일
·
0개의 댓글
·

UITest) App Launch할 때 argument 사용하기

이 포스팅은 사내에서 진행한 Tech Talk을 정리한 포스팅입니다. 이번에는 UITest를 할 때 도움이 되는 Launch Argument와 Launch Environment에 대해 알아보도록 하겠습니다. Launch Argument와 Launch Environment SwiftUI의 App 객체 위에는 아래처럼 “@main”로 entry point임을 표시되어 있습니다. 이게 launch argument와 launch environment는 쉽게 말하면 main 함수에 전달하는 parameter라고 이해하시면 될 것 같습니다. Argument는 String으로 Environment는 [String:String]의 key-value로 이루어져 있습니다. Argument와 Environment 전달하기 Edit Scheme 첫 번째는 Edit Scheme를 통해서 전달하는 방법입니다. 직관적인 방법이고 여러개를 관리하기도 편리합니다. 미리 추가해놓고 지금

2023년 6월 15일
·
0개의 댓글
·

UITest) Accessibility

이 포스팅은 사내에서 진행한 Tech Talk을 정리한 포스팅입니다. 이번에는 UITest와 밀접한 관련이 있는 Accessibility라는 개념을 알아보도록 하겠습니다. Accessibility (접근성) Accessibility란 고령자나 장애인처럼 기존의 방법으로는 앱 사용이 어려운 사용자가 앱을 사용할 수 있도록 해주는 앱의 특성을 이야기합니다. iOS의 경우 Voice Over를 예시로 들 수 있는데요. Voice Over라는 기능을 켜게되면 화면을 보지 않고도 음성을 통해서 앱을 인식하고 사용할 수 있게 해줍니다. 개발자들은 이런 사용자들을 위해서 앱을 제작할 때 Accessibility를 감안하여 앱을 제작해야 합니다. Accessibility Inspector Xcode의 개발자 도구 중에는 Accessibility Inspector라는 도구가 있습니다. 이 도구를 통해서 나의 앱 (혹은 현재 실행 중인 앱)의 Accessibility를 알아볼 수

2023년 6월 13일
·
0개의 댓글
·

UITest) Navigation & Image Test 하기

이 포스팅은 사내에서 진행한 Tech Talk을 정리한 포스팅입니다. 이번에는 Navigation을 UITest하는 방법을 알아보도록 하겠습니다. 기능 소개 오늘 테스트할 기능을 소개합니다. 퀴즈를 풀러 들어가면 그림 힌트라는 NavigationLink가 있습니다. 해당 링크를 클릭하면 사과의 그림이 있는 힌트 화면을 볼 수 있게 됩니다. Navigation Test UITest의 경우 화면을 기준으로 테스트합니다. 따라서 Navigation을 통해서 다른 화면으로 이동했을 때 Navigation Stack에 해당 뷰가 쌓여있는지, 다른 View가 init 되었는지 여부를 통해 화면 이동을 확인할 수는 없습니다. 따라서 Navigating을 통해 이동한 화면에 존재하는 UI를 통해서 확인해

2023년 6월 7일
·
0개의 댓글
·

UITest) Alert 테스트 하기

이 포스팅은 사내에서 진행한 Tech Talk을 정리한 포스팅입니다. 이번에는 Alert를 UITest하는 방법을 알아보도록 하겠습니다. 이름 입력 테스트 저번 시간에 이름 입력을 성공하는 테스트를 해보았는데요. 이번에는 실패하는 케이스를 테스트 해보도록 하겠습니다. 5글자 미만의 이름을 작성하면 아래와 같은 alert가 뜨도록 해놓았습니다. 저번에 이름 입력에 성공하는 테스트 코드는 아래와 같은데요. 이 코드를 살짝 수정해서 welcomeMessage가 없는 것으로 실패했음을 확인하도록 만들어보도록 하겠습니다. 이렇게 하면 실패하는 케이스도 테스트를 할 수 있습니다. Alert를 테스트 alert의 존재 확인 위에 있는 코드로도 원하는 테스트를 할 수 있습니다만 앱에

2023년 6월 5일
·
0개의 댓글
·

UITest) UITest 시작하기

이 포스팅은 사내에서 진행한 Tech Talk을 정리한 포스팅입니다. 본격적으로 UITest를 작성하는 법을 소개해보도록 하겠습니다. 테스트할 앱 소개 Tech Talk에 예시로 사용한 앱을 소개하겠습니다. 앞으로 이 앱으로 UITest를 작성하는 법을 소개하겠습니다. 간단한 영어 퀴즈앱인데요. 처음에 앱을 실행하면 자신의 이름을 입력하는 화면이 뜹니다. 이름은 5글자 이상으로 입력해야 합니다. 5글자 이하의 이름을 입력하게 되면 alert로 5글자 이상의 이름을 입력하라는 메시지가 출력됩니다. 이름을 입력하면 앱

2023년 6월 1일
·
0개의 댓글
·

UITest) UITest 와 Unit Test의 차이

이 포스팅은 사내에서 진행한 Tech Talk을 정리한 포스팅입니다. Tech Talk의 계기 이번에 회사에서 UITest에 대한 발표를 맡게 되었습니다. 회사에 Unit Test를 도입한 것은 대략 1년 전인데요. 모든 제품에 Unit Test를 도입한 것은 아니지만 새로 시작하는 프로젝트에는 모두 반영을 했습니다. 이번에 UITest를 회사의 제품에 도입할 것인가 말 것을 두고 일단 UITest에 대한 Tech Talk을 진행하고 결정하기로 했습니다. UITest의 정의 UITest의 정의는 위와 같습니다. 이름을 그대로 해석한 것과 거의 동일한 내용인데요. 작은 단위 (Unit)을 테스트의 대상으로 삼는 Unit Test와는 다르게 UITest의 경우 UI를 기준으로 합니다. 즉 눈에

2023년 5월 31일
·
0개의 댓글
·
post-thumbnail

[Android/Compose] UI 테스트 (androidTest)

TDD기반 개발을 진행하라 테스트코드 작성에 정성을 다해라. 등의 테스트코드에 대한 중요성을 정말 여러곳에서 들을 수 있었다. 하지만 안드로이드 개발을 진행하며 테스트 코드를 작성해본 적이 손에 꼽을 정도로 적어 한번 안드로이드에서의 테스트 코드를 작성해보고자 한다. 단위테스트와 UI테스트 > 단위 테스트는 응용 프로그램에서 테스트 가능한 가장 작은 소프트웨어를 실행하여 예상대로 동작하는지 확인하는 테스트이다. 단위 테스트에서 테스트 대상 단위의 크기는 엄격하게 정해져 있지 않지만, 일반적으로 클래스 또는 메소드 수준으로 작은 테스트를 의미한다. > UI 테스트는 애플리케이션의 사용자 인터페이스 (UI)를 테스트하는 과정이다. 지정된 시나이로에 따라 기능을 테스트하고 UI 동작을 확인한다. 지금까지 개발하며 거의 모든테스트를 수동으로 진행하였고 많은 시간이 소요됬다. 하지만 자동화된 테스트도구를 이용하면 코드 변경 후 어플리케이션이 제대로 동작하는지 확인하

2023년 4월 3일
·
0개의 댓글
·
post-thumbnail

[UITest] 0. UITest 맛보기

테스트로 잘 작동하는 코드를 효율적으로 짜보기! 🚀 > iOS를 공부해보면서, 테스트 코드를 짜본적이 없었다. 항상 시뮬레이터를 돌리고 내가 직접 모든 기능들을 체크해보고, 오류가 나면 코드를 수정하고 또 시뮬레이터를 돌리고... 이런 굴레속에서 개발 공부를 진행하였다. 사실 스타트업에서 하나의 앱을 만들때 빼고는 큰 단위의 작업을 진행하지 않았기 때문에 필요성을 잘 못느꼈던 것 같기도 하다. 하지만 최근에 iOS 토이 프로젝트를 2명의 팀원과 같이 진행하게 되면서, 테스트코드를 작성해보는 연습을 해보자는 목적이 생겼고 공부를 진행해보려한다. 맛보기 navigation title 장비빨앱 우선, 테스트 해볼 앱은 위의 시뮬레이터 화면과 같다. (앱에 대한 소개는 따로 또 포스팅을 진

2022년 5월 12일
·
0개의 댓글
·