
Unit Test (단위 테스트):
- Unit Test는 소스 코드의 개별적인 유닛(함수, 메소드, 클래스 등)이 의도한 대로 작동하는지를 검증하는 테스트 방법입니다. 각 유닛에 대한 독립적인 테스트 케이스를 작성하여 함수의 입력과 출력을 테스트하고, 코드의 정확성을 검증합니다. Unit Test는 프로그램의 각 모듈을 따로따로 테스트하므로, 코드의 안정성과 기능에 대한 신뢰성을 높여줍니다. 또한, 코드 변경 시 빠르게 문제점을 발견하고 수정할 수 있도록 도와줍니다.
Unit Test를 작성할 때는 보통 XCTest 프레임워크를 사용하며, 함수 또는 메소드의 리턴 값과 예상 결과를 비교하거나, 특정 조건에서 예외가 발생하는지 확인하는 등의 테스트를 진행합니다.
UI Test (사용자 인터페이스 테스트):
- UI Test는 앱의 사용자 인터페이스(UI)를 검증하는 테스트 방법입니다. 앱의 사용자 인터페이스를 시뮬레이트하고, 사용자의 실제 조작과 동작을 흉내내어 테스트합니다. 앱의 버튼 클릭, 화면 전환, 입력 동작 등을 자동화하여 테스트 케이스로 만들고, 앱의 UI 요소들이 예상대로 동작하는지 확인합니다.
UI Test를 작성할 때는 XCUI Testing 프레임워크를 사용하며, 시뮬레이터를 이용해 앱을 실행하고, UI 요소들을 찾아서 조작하는 등의 테스트를 진행합니다.
차이점:
- Unit Test는 개별 함수 또는 클래스의 독립적인 기능을 테스트하는 반면, UI Test는 앱의 사용자 인터페이스를 테스트합니다.
Unit Test는 XCTest 프레임워크를 사용하고, UI Test는 XCUI Testing 프레임워크를 사용합니다.
Unit Test는 코드의 정확성과 모듈의 독립성을 검증하는데 초점을 맞추고, UI Test는 앱의 사용자 경험과 UI 동작을 확인하는데 초점을 맞춥니다.
일반적으로, 앱의 로직과 비즈니스 로직을 테스트할 때는 Unit Test를 사용하고, 사용자 인터페이스와 UI 요소들의 동작을 확인하고 싶을 때는 UI Test를 사용합니다. 두 가지 테스트 유형을 적절히 활용하여 앱의 품질을 향상시키는 데 도움이 됩니다.