센로그
[ED] 11. 코드 수정 후 결과 확인까지의 시간 최소화하기 본문
본격적인 디버깅 작업에 들어가기 전, 디버깅 과정을 반복하는 데 걸리는 시간을 최소화할 방안을 마련해야 한다
- 빌드 시간을 줄이는 방법을 찾는다.
- 수정한 부분에 관련된 파일만 컴파일하도록 파일 사이의 의존 관계를 잘 정리해야 한다.
- 관련 도구
- make
- Ant
- Maven
- Gradle
- 소프트웨어를 배치하고 실행하는 과정을 효율적으로 만든다.
- 서버를 다시 구동하거나, 캐시를 비우거나, 데이터베이스를 초기화 하거나, ... 프로젝트마다 과정이 다르다.
- 해당 과정을 최대한 자동화하도록 한다.
- 소프트웨어에서 오류가 나면 곧바로 실행을 멈추도록 한다.
- 단위 테스트나 회귀 테스트 프레임워크를 지원한다면, 발생한 오류를 드러내는 테스트케이스를 작성한다.
나의 생각
+) Unity에서 맨날 오류나던 그거.. Gradle이 무엇인가?
- Gradle은 빌드 자동화 도구로, 주로 소프트웨어 프로젝트의 빌드, 테스트, 배포 작업을 자동화하는 데 사용된다.
- settings.graldle: 프로젝트 구성 설정
- build.gradle: 빌드에 대한 모든 기능 정의
- 플러그인 설정
- 저장소 설정
- 의존 관계 설정
- 여러 환경 구성 설정을 제공한다. 컴파일용, 빌드용, 테스트용, ... 이런거 말이다.
+) 단위테스트에 관하여..
- 단위 테스트(Unit Test)는 프로그램의 개별 모듈(단위)이 올바르게 동작하는지 검증하는 테스트이다.
- 주로 함수나 메서드 수준에서 테스트가 진행되며, 각 기능이 예상대로 동작하는지 확인한다.
- 자동화된 방식으로 여러 경우의 입력에 대해 일관성있고 반복적으로 검증하고자 하는 것이다.
- 단위 테스트를 통해 코드의 버그를 조기에 발견하고, 유지보수성을 높일 수 있다.
- 각 언어마다 다양한 테스트 프레임워크가 있다.
- C++: Google Test(GTest)
- Java: JUnit
- Python: unittest, pytest
'Effective > Effective Debugging' 카테고리의 다른 글
[ED] 13. 디버깅 관련 데이터를 한눈에 볼 수 있는 환경 구축하기 (0) | 2024.11.13 |
---|---|
[ED] 12. 복잡한 테스트 시나리오 자동화하기 (0) | 2024.11.13 |
[ED] 10. 효율적으로 문제 상황 재현하기 (0) | 2024.11.12 |
[ED] 9. 성공적인 디버깅을 위한 마음가짐 (0) | 2024.11.12 |
[ED] 8. 가장 중요한 문제에 집중하기 (0) | 2024.11.12 |
Comments