2025년 1회 주제 · 연습 15
테스트·품질관리실행문이 총 12개인 함수에서 테스트 중 서로 다른 실행문 9개가 실행되었다. 문장 커버리지를 백분율로 쓰시오.
정답·해설 보기
정답
75%
해설
실행한 문장 수 / 전체 실행 가능 문장 수 × 100 = 9/12 × 100이다. 같은 문장을 반복 실행해도 중복 계산하지 않는다.
학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)
정보처리기사 · 실기
답안을 직접 작성하고 정답과 비교해 보세요. 서술형 답안은 표현이 다를 수 있어 직접 확인합니다.
실행문이 총 12개인 함수에서 테스트 중 서로 다른 실행문 9개가 실행되었다. 문장 커버리지를 백분율로 쓰시오.
75%
실행한 문장 수 / 전체 실행 가능 문장 수 × 100 = 9/12 × 100이다. 같은 문장을 반복 실행해도 중복 계산하지 않는다.
학습용 재구성 · 주제 참고: Life-Journey · 2025년 1회 비공식 복원 (새 창)
if 문의 참 결과는 실행했지만 거짓 결과는 한 번도 실행하지 않았다. 이 if 하나만 있을 때 분기 커버리지의 비율과 100%를 만들 추가 조건을 쓰시오.
50%. 조건식이 거짓이 되는 테스트를 추가한다.
분기 커버리지는 실행한 분기 결과 수를 전체 분기 결과 수로 나눈다. 참과 거짓 두 결과 중 하나만 실행했으므로 1/2이다.
학습용 재구성 · 주제 참고: Life-Journey · 2025년 2회 비공식 복원 (새 창)
결정식 A && B를 검사한다. 단락 평가에서 실제 평가된 조건값만 센다고 할 때 (A,B)=(참,참),(거짓,참) 두 테스트로 조건 커버리지 100%인가? 이유와 추가 입력을 쓰시오.
아니다. B가 거짓으로 평가된 적이 없으므로 (참,거짓)을 추가한다.
A는 참·거짓 모두 평가되지만 A가 거짓이면 B는 평가되지 않는다. 추가 입력에서는 B의 거짓 결과를 실제 평가한다.
학습용 재구성 · 주제 참고: Life-Journey · 2025년 3회 비공식 복원 (새 창)
로그인 기능의 테스트 케이스에 테스트 식별자와 목적을 적었다. 실행과 판정을 위해 추가할 항목을 네 가지 쓰시오.
예: 사전 조건, 입력 데이터, 실행 절차, 예상 결과
정확한 명칭보다 재현 가능한 실행 방법과 성공 판정 기준이 담겼는지가 중요하다.
학습용 재구성 · 주제 참고: Life-Journey · 2025년 3회 비공식 복원 (새 창)
복합 결정에서 각 개별 조건 하나가 다른 조건 값을 고정한 상태로 결정 결과를 독립적으로 바꿀 수 있음을 보여 주는 커버리지를 쓰시오.
MC/DC(수정 조건/결정 커버리지)
단순히 모든 조건이 참·거짓을 한 번씩 갖는 것보다 강한 독립 영향 증명을 요구한다.
학습용 재구성 · 주제 참고: Life-Journey · 2024년 1회 비공식 복원 (새 창)
① 실행문을 적어도 한 번 실행 ② 각 결정의 참·거짓 결과를 실행 ③ 결정 안의 개별 조건이 참·거짓을 갖도록 실행하는 커버리지를 차례로 쓰시오.
① 문장 커버리지 ② 분기(결정) 커버리지 ③ 조건 커버리지
조건 커버리지와 분기 커버리지는 서로 동일하지 않다. 복합 조건에서는 개별 조건 결과와 전체 결정 결과를 구별해야 한다.
학습용 재구성 · 주제 참고: Life-Journey · 2024년 3회 비공식 복원 (새 창)
if 문의 참 결과는 실행했지만 거짓 결과는 한 번도 실행하지 않았다. 이 if 하나만 있을 때 분기 커버리지의 비율과 100%를 만들 추가 조건을 쓰시오.
50%. 조건식이 거짓이 되는 테스트를 추가한다.
분기 커버리지는 실행한 분기 결과 수를 전체 분기 결과 수로 나눈다. 참과 거짓 두 결과 중 하나만 실행했으므로 1/2이다.
학습용 재구성 · 주제 참고: Life-Journey · 2023년 1회 비공식 복원 (새 창)
① 실행문을 적어도 한 번 실행 ② 각 결정의 참·거짓 결과를 실행 ③ 결정 안의 개별 조건이 참·거짓을 갖도록 실행하는 커버리지를 차례로 쓰시오.
① 문장 커버리지 ② 분기(결정) 커버리지 ③ 조건 커버리지
조건 커버리지와 분기 커버리지는 서로 동일하지 않다. 복합 조건에서는 개별 조건 결과와 전체 결정 결과를 구별해야 한다.
학습용 재구성 · 주제 참고: Life-Journey · 2023년 2회 비공식 복원 (새 창)
통합 테스트에서 ① 아직 없는 하위 모듈의 응답을 대신함 ② 상위 호출 모듈을 대신해 테스트 대상을 호출함에 해당하는 도구를 쓰시오.
① 스텁(Stub) ② 드라이버(Driver)
하향식 통합에서 스텁, 상향식 통합에서 드라이버를 주로 사용한다.
학습용 재구성 · 주제 참고: Life-Journey · 2023년 2회 비공식 복원 (새 창)
입력 나이를 0 미만, 0~120, 120 초과의 세 집합으로 나누고 각 집합에서 대표값 하나씩을 시험했다. 이 명세 기반 기법을 쓰시오.
동등 분할(동치 분할, Equivalence Partitioning)
같은 방식으로 처리될 것으로 기대하는 입력 집합을 분할한다. 경계 바로 전후 값에 집중하는 경계값 분석과 구별한다.
학습용 재구성 · 주제 참고: Life-Journey · 2023년 3회 비공식 복원 (새 창)
① 코드를 실행하지 않고 취약한 흐름을 점검 ② 실제 실행하면서 메모리 누수와 처리 시간을 측정하는 분석을 쓰시오.
① 정적 분석 ② 동적 분석
실행 여부가 두 방식의 핵심 구분이다. 서로 보완적으로 사용할 수 있다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
Java에서 @Test와 단언문을 이용한 자동 단위 테스트로 널리 사용되는 테스트 프레임워크를 쓰시오.
JUnit
테스트 메서드의 실행과 결과 보고를 지원한다. 테스트 실패를 판별하는 단언과 테스트 준비·정리 코드를 함께 사용할 수 있다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
소스 코드의 분기 구조를 보지 않고 명세의 입력·출력 관계로 테스트를 설계했다. 이 테스트 기법의 분류와 대표 기법 두 가지를 쓰시오.
블랙박스 테스트. 예: 동등 분할, 경계값 분석
결정 테이블, 상태 전이, 유스케이스 테스트 등도 대표 기법이다. 문장·분기 커버리지는 구조 기반 테스트와 관련된다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
V 모델에서 상세 설계, 아키텍처 설계, 시스템 명세, 사용자 요구에 각각 대응하는 테스트 수준을 쓰시오.
단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트
교재별 설계 단계 명칭에는 차이가 있으나 작은 단위부터 인터페이스·전체 시스템·사용자 수용 기준으로 대응시킨다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
출시 전 시험에서 ① 개발 조직의 통제된 환경에서 사용자가 참여 ② 실제 사용자 환경에서 제한된 외부 사용자들이 사용 후 피드백 제공에 해당하는 테스트를 쓰시오.
① 알파 테스트 ② 베타 테스트
두 방식 모두 출시 전 문제 발견과 피드백 수집에 활용되며 환경과 참여 방식에 차이가 있다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
결함 수정 후 기존에 정상 동작하던 결제와 환불 기능에 부작용이 생기지 않았는지 다시 검사한다. 테스트 종류를 쓰시오.
회귀 테스트(Regression Testing)
변경된 부분의 수정 확인뿐 아니라 변경이 기존 기능에 미친 영향을 확인한다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
정수 점수 40~90을 유효 범위로 인정한다. 양쪽 경계의 바로 아래·경계·바로 위를 확인하는 경계값 분석의 입력 6개를 쓰시오.
39, 40, 41, 89, 90, 91
명시한 3값 경계 기준에 따라 두 경계 주변을 선택한다. 다른 경계값 분석 변형과 혼동하지 않는다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 3회 비공식 복원 (새 창)
정수 점수 40~90을 유효 범위로 인정한다. 양쪽 경계의 바로 아래·경계·바로 위를 확인하는 경계값 분석의 입력 6개를 쓰시오.
39, 40, 41, 89, 90, 91
명시한 3값 경계 기준에 따라 두 경계 주변을 선택한다. 다른 경계값 분석 변형과 혼동하지 않는다.
학습용 재구성 · 주제 참고: Life-Journey · 2021년 1회 비공식 복원 (새 창)
작은 함수·클래스, 모듈 사이 인터페이스, 완성된 전체 시스템, 고객의 업무 수용 여부를 확인하는 테스트 수준을 차례로 쓰시오.
단위 → 통합 → 시스템 → 인수 테스트
각 수준은 검증 대상과 목적이 다르다. 인수 테스트는 사용자의 요구와 수용 기준 충족 여부를 확인한다.
학습용 재구성 · 주제 참고: Life-Journey · 2021년 1회 비공식 복원 (새 창)
① 실행문을 적어도 한 번 실행 ② 각 결정의 참·거짓 결과를 실행 ③ 결정 안의 개별 조건이 참·거짓을 갖도록 실행하는 커버리지를 차례로 쓰시오.
① 문장 커버리지 ② 분기(결정) 커버리지 ③ 조건 커버리지
조건 커버리지와 분기 커버리지는 서로 동일하지 않다. 복합 조건에서는 개별 조건 결과와 전체 결정 결과를 구별해야 한다.
학습용 재구성 · 주제 참고: Life-Journey · 2021년 2회 비공식 복원 (새 창)
통합 테스트에서 ① 아직 없는 하위 모듈의 응답을 대신함 ② 상위 호출 모듈을 대신해 테스트 대상을 호출함에 해당하는 도구를 쓰시오.
① 스텁(Stub) ② 드라이버(Driver)
하향식 통합에서 스텁, 상향식 통합에서 드라이버를 주로 사용한다.
학습용 재구성 · 주제 참고: Life-Journey · 2021년 2회 비공식 복원 (새 창)
로그인 기능의 테스트 케이스에 테스트 식별자와 목적을 적었다. 실행과 판정을 위해 추가할 항목을 네 가지 쓰시오.
예: 사전 조건, 입력 데이터, 실행 절차, 예상 결과
정확한 명칭보다 재현 가능한 실행 방법과 성공 판정 기준이 담겼는지가 중요하다.
학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)
입력 조건들의 논리적 조합과 그에 따른 출력 결과의 관계를 그래프로 모델링하고 테스트를 도출한다. 이 기법을 쓰시오.
원인–결과 그래프(Cause–Effect Graph) 기법
입력 조건을 원인, 출력이나 동작을 결과로 두며 논리 관계와 제약을 표현한다.
학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)
하위 모듈부터 통합하여 테스트하고 아직 구현되지 않은 상위 호출부를 대체하려 한다. 통합 방식과 대체 도구를 쓰시오.
상향식 통합 테스트, 테스트 드라이버
드라이버가 하위 테스트 대상에 입력을 전달하고 결과를 확인한다.
학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)
한 팀이 같은 테스트 데이터만 반복 사용하자 새 결함을 거의 발견하지 못했다. 테스트 사례와 입력값을 주기적으로 바꾸어야 한다는 테스트 원칙의 이름을 쓰시오.
살충제 패러독스
동일한 테스트만 반복하면 그 테스트가 찾을 수 있는 결함만 확인하게 된다. 새로운 결함을 찾으려면 테스트를 검토하고 데이터를 갱신해야 한다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 1회 비공식 복원 (새 창)
성능 지표 ① 단위 시간에 처리한 작업 수 ② 요청 시점부터 첫 응답까지의 시간 ③ 작업 제출부터 완료까지의 전체 시간을 차례로 쓰시오.
① 처리량 ② 응답 시간 ③ 반환 시간(턴어라운드 시간)
응답 시간은 여기서 첫 응답까지로 정의한다. 전체 작업 완료 시간인 반환 시간과 구별해야 한다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 1회 비공식 복원 (새 창)
소스 코드를 실행하지 않고 제어 흐름과 코딩 규칙 위반을 검사했다. 이러한 분석 방식의 이름을 쓰시오.
정적 분석
정적 분석은 프로그램을 실행하지 않는다. 실제 입력을 주고 실행 결과나 자원 사용량을 관찰하는 것은 동적 분석이다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 2회 비공식 복원 (새 창)
if 문의 참 결과는 실행했지만 거짓 결과는 한 번도 실행하지 않았다. 이 if 하나만 있을 때 분기 커버리지의 비율과 100%를 만들 추가 조건을 쓰시오.
50%. 조건식이 거짓이 되는 테스트를 추가한다.
분기 커버리지는 실행한 분기 결과 수를 전체 분기 결과 수로 나눈다. 참과 거짓 두 결과 중 하나만 실행했으므로 1/2이다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 3회 비공식 복원 (새 창)
소스 코드의 분기 구조를 보지 않고 명세의 입력·출력 관계로 테스트를 설계했다. 이 테스트 기법의 분류와 대표 기법 두 가지를 쓰시오.
블랙박스 테스트. 예: 동등 분할, 경계값 분석
결정 테이블, 상태 전이, 유스케이스 테스트 등도 대표 기법이다. 문장·분기 커버리지는 구조 기반 테스트와 관련된다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 3회 비공식 복원 (새 창)
전체 입력에 대한 정답을 준비하기 어려워 대표 입력 일부에 대해서만 정확한 예상 결과를 정의했다. 이런 테스트 오라클의 이름을 쓰시오.
샘플링 오라클
참 오라클은 모든 입력의 예상 결과를 판단할 수 있는 경우를 뜻한다. 샘플링 오라클은 일부 대표 입력에 한정한다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
입력 나이를 0 미만, 0~120, 120 초과의 세 집합으로 나누고 각 집합에서 대표값 하나씩을 시험했다. 이 명세 기반 기법을 쓰시오.
동등 분할(동치 분할, Equivalence Partitioning)
같은 방식으로 처리될 것으로 기대하는 입력 집합을 분할한다. 경계 바로 전후 값에 집중하는 경계값 분석과 구별한다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
답안과 확인 상태는 현재 브라우저에만 저장됩니다. ‘맞았어요’ 표시는 본인이 확인한 학습 기록이며 실제 시험 점수가 아닙니다.