정적/동적·성능 지표·도구
실행 여부와 측정 단위를 기준으로 비교한다.
실기 학습 목표
실행 여부와 측정 단위를 기준으로 비교한다.
핵심 이론
정적 테스트는 실행하지 않고 산출물을 검토하며 리뷰·정적 분석을 포함한다. 동적 테스트는 실제 프로그램을 실행한다.
인스펙션은 정해진 역할·절차·체크리스트·후속 조치를 갖는 공식 검토다. 워크스루는 작성자 중심의 설명과 검토로 비교한다.
처리량은 단위 시간에 완료한 작업 수다. 응답시간은 요청과 응답 사이의 시간이며 측정 기준이 시작·완료 중 어디인지 문제의 정의를 따른다. 자원 사용률은 CPU·메모리 등 사용 비율이다.
성능 수치의 단위와 관찰 구간을 먼저 써 놓고 계산한다. 90초에 7,200건을 완료하면 평균 처리량은 80건/초이며 한 요청의 지연시간과는 다른 지표다. 성능 도구의 특정 버전 기능 암기까지 확대하지 않는다.
실행 여부와 측정 지표를 분리한다
정적 테스트는 프로그램 실행 없이 코드·명세 등을 점검한다. 리뷰·인스펙션·정적 분석이 예다. 동적 테스트는 실행한 결과를 관찰한다. 자동 도구를 사용한다는 이유만으로 동적이라고 분류하지 않는다. 코드 분석 도구도 실행 없이 검사할 수 있다.
처리량은 단위 시간에 완료한 작업 수다. 30초 동안 요청 2400건을 완료했다면 80건/초다. 응답시간은 요청 후 응답을 얻기까지 걸린 시간이며, 지문이 첫 응답과 완료 시점을 구분하면 그 정의를 따른다. 자원 사용률은 주어진 기간 동안 CPU·메모리 등의 사용 정도를 나타낸다.
| 지문 단서 | 답에 담을 것 |
|---|---|
| 1초당 처리 건수 | 처리량과 건/초 단위 |
| 요청부터 응답까지 | 응답시간과 시간 단위 |
| 검토자가 정해진 절차로 결함 점검 | 인스펙션 등 정적 검토 |
JUnit 같은 도구는 단위 테스트 실행과 결과 확인을 돕는다. 도구 이름만 외우기보다 어떤 검사 활동을 돕는지 연결한다. 평균 시간을 구할 때 분모는 실제 측정한 요청 수이며 서로 다른 측정 구간의 값을 임의로 섞지 않는다.
풀이 예시
성능 측정 구간 90초 동안 성공적으로 완료한 요청이 7,200건이었다. 구간 내 성공 완료 건수만으로 계산한 평균 처리량을 초당 요청 수로 쓰시오. 응답시간을 구하는 문제가 아니다.
예시 정답
80
풀이 과정
평균 처리량은 완료 건수/측정 시간으로 7,200/90=80건/초이다. 한 요청이 걸린 시간을 뜻하는 응답시간과 단위부터 다르다.
답안 점검
위 풀이 예시의 답을 가린 뒤, 핵심 이론의 규칙을 적용해 직접 풀어 보세요. 코드와 계산 문제는 중간값·단위·최종 출력의 순서를, 용어 문제는 지문의 핵심 단서와 답의 의미를 점검하세요. 해설과 다른 부분이 있으면 어느 조건을 놓쳤는지 확인하고 연결된 실기 문제로 다시 연습하세요.