Android/TDD 16

[UnitTest][ch6(2/3편)] 단위테스트, 함수형 프로그래밍, 그리고 함수형 아키텍처 (그리고 헥사고날 아키텍처 첨가)

전편 포스팅에서 이어지는 내용입니다. '출력 기반 단위 테스트' 스타일을 '함수형'이라고도 한다. '출력 기반 테스트'를 적용할 수 있는 것은 '순수 함수' 뿐이다. '순수 함수'방식으로 사용한 프로그래밍을 '함수형 프로그래밍'이라고 부른다. 즉, '출력 기반 단위 테스트' 스타일은 코드를 '함수형 프로그래밍'을 이용해 '순수 함수' 방식으로 작성해야 한다. 그러므로 함수형 프로그래밍과 함수형 아키텍처에 대한 개념부터 알아보자! 함수형 프로그래밍(Functional Programming)이란? : 순수 함수(Pure function)를 사용한 프로그래밍 - 목표 : ["비즈니스 로직을 처리하는 코드와 '사이드 이펙트를 일으키는 코드'를 분리하는 것"] 순수함수(Pure function)란? - '수학적 ..

Android/TDD 2023.12.01

[UnitTest][ch6] 단위테스트 스타일(출력기반, 상태기반, 통신기반) 및 사용

단위 테스트 스타일에 대해 동일한 기준틀(3가지 스타일)을 적용하고, -> 이 스타일 중 하나인 '출력 기반 스타일'을 사용해 테스트 작성하는 방법과 -> 이렇게 작성된 '출력 기반 테스트'와 함수형 프로그래밍의 관련성을 배움 +첨가) 함수형 프로그래밍, 함수형 아키텍처 개념  단위테스트의 3가지 스타일 출력 기반 테스트(output-based testing) : "SUT에 입력을 넣고 생성되는 출력 결과만 검증하는 방식." 상태 기반 테스트(state-based testing) : 작업이 "완료된 후" 시스템 "최종 상태"를 검증하는 방식 통신 기반 테스트(communication-based testing) : SUT의 "협력자를 목으로 대체"하고 "SUT가 협력자를 올바르게 호출하..

Android/TDD 2023.11.30

TDD 기초 개념잡기 (테스트 용어, 종류)

테스트에는 다양한 테스트 종류가 있으며, 각각은 특정 목적과 범위에서 따라서 선택 및 수행되고 소프트웨어를 평가합니다. 종합적으로 모든 종류의 테스트를 조합하여 소프트웨어의 품질을 유지하고 개선하는 것이 일반적인 개발 방법입니다. 테스트 기초 용어 테스트 스위트(Test Suite) : 여러 테스트 케이스를 하나로 묶어서 실행하거나 구성하는 도구 여러 테스트를 그룹화하여 함께 실행하거나, 특정 기능 또는 모듈에 대한 모든 테스트를 한 번에 실행하는 데 사용됩니다. 여러 테스트 케이스를 그룹화하고 관리한다. 주로 테스트 프레임워크에서 지원되며, 큰 프로젝트에서 여러 모듈 또는 기능에 걸친 테스트를 효과적으로 관리할 수 있도록 도와줍니다. 테스트 케이스(Test Case) : 특정 입력 상태에서 특정 기능 ..

Android/TDD 2023.11.27

Android 테스트 구조/구성 개념잡기

테스트 필요성 사용자는 버튼을 누르는 것부터 기기에 정보를 다운로드하는 것에 이르기까지 다양한 수준에서 앱과 상호작용합니다. 따라서 반복적으로 앱을 개발할 때 다양한 사용 사례와 상호작용을 테스트해야 합니다. 테스트용 코드 구성 앱이 확장됨에 따라 서버에서 데이터를 가져오거나, => MockWebServer?? 기기 센서와 상호작용하거나, 로컬 저장소에 액세스하거나, => ??? 복잡한 사용자 인터페이스를 렌더링해야 할 수 있습니다. => ??? 앱 다양성을 고려하여 종합적인 테스트 전략을 수립해야 합니다. 반복적으로 코드 만들기 및 테스트 반복적으로 기능을 개발하는 경우 새 테스트를 작성하거나 기존 단위 테스트에 사례와 어설션을 추가하여 시작합니다. 새 기능을 디자인할 때 나타나는 책임 단위를 고려하여..

Android/TDD 2023.08.15