개념
감각으로 발견하고 증거로 보고한다
그래픽·사운드·조작 결함은 대부분 사람이 보고 듣고 만지다가 발견한다. 문제는 감각이 증거가 되지 않는다는 점이다. "뭔가 끊기는 느낌"은 개발자에게 전달되지 않는다. 이 레슨의 목표는 감각적 결함마다 이름과 측정 방법 을 붙이는 것이다. 결함에 정확한 이름이 붙으면 담당 팀(아트·애니메이션·엔진·사운드·레벨 디자인)이 바로 정해지고, 측정값이 붙으면 수정 여부를 판정할 수 있다. ISTQB CT-GaMe 실러버스의 3~6장(그래픽·사운드·컨트롤러·레벨)이 이 레슨의 범위다.
그래픽 결함의 이름
| 결함 | 뜻 | 발견 방법 | 담당 |
|---|---|---|---|
| 텍스처 누락·저해상도 | 분홍·체크무늬 기본 텍스처, 흐릿한 텍스처가 그대로 남음 | 근접 확인, 저사양 설정 | 아트·엔진 |
| 텍스처 스트리밍 지연 | 순간이동·로딩 직후 흐린 텍스처가 몇 초간 보임 | 빠른 이동, 저속 저장장치 | 엔진 |
| LOD 팝핑 | 거리에 따라 모델 세부 단계가 바뀌는 순간이 눈에 띔 | 천천히 다가가고 멀어지기 | 아트 |
| 클리핑 | 모델끼리 뚫고 들어감(망토가 다리를 통과) | 다양한 장비 조합·자세 | 애니메이션·아트 |
| Z-파이팅 | 같은 깊이의 두 면이 번갈아 깜박임 | 바닥·벽 겹침 부위, 카메라 이동 | 레벨·아트 |
| 충돌 구멍 | 보이는 벽과 충돌 영역이 달라 통과하거나 보이지 않는 벽에 막힘 | 벽 따라 걷기, 모서리 점프 | 레벨 |
| 애니메이션 결함 | 동작 사이 튐, T자 기본 자세, 발이 땅에 뜸 | 동작 전환 반복, 경사면 | 애니메이션 |
| 이펙트 결함 | 이펙트 누락·과다, 반투명 겹침으로 화면 가림 | 스킬 동시 사용, 다인원 | 이펙트·엔진 |
| 조명·그림자 | 그림자 깜박임, 실내에 햇빛 새어 들어옴 | 시간대 변화, 문 경계 | 아트·엔진 |
| UI 스케일 | 해상도·화면비에 따라 UI가 잘리거나 겹침 | 해상도 매트릭스 | UI |
모델끼리 겹치는 클리핑은 대부분 B·C급이지만, 충돌 구멍 은 맵 이탈·진행 차단·익스플로잇으로 이어질 수 있어 등급이 높다. 겉모양 결함과 판정 결함을 구분하는 습관이 필요하다.
프레임 레이트와 프레임 페이싱
성능 결함은 "평균 FPS"만으로 판정하면 놓친다. 평균 60fps여도 화면이 끊겨 보일 수 있다. 이유는 프레임 페이싱, 즉 프레임이 고른 간격으로 나오는지에 있다.
60fps 목표 → 프레임 간격 16.7ms가 이상적
고른 경우: 16.7 16.7 16.7 16.7 16.7 16.7 → 평균 60fps, 부드러움
고르지 않음: 8.3 25.0 8.3 25.0 8.3 25.0 → 평균 60fps, 떨림(stutter)
순간 정지: 16.7 16.7 120.0 16.7 16.7 → 평균은 크게 안 떨어지지만 "툭" 끊김그래서 성능 기준은 평균과 함께 1% 저점(1% low) 이나 최대 프레임 시간 으로 잡는다. "평균 60fps 이상, 1% 저점 45fps 이상, 100ms 넘는 프레임 없음" 같은 식이다. 셰이더를 처음 컴파일할 때 생기는 순간 정지, 새 지역 진입 시 로딩 끊김, 이펙트가 겹칠 때의 급락이 전형적인 측정 대상이다. 모듈 16에서 배운 성능 테스트의 "평균에 속지 말고 백분위수를 보라"는 원칙이 게임에서는 프레임 시간으로 나타난다.
측정은 엔진 내장 통계 표시(개발 빌드), 플랫폼 제공 프로파일러, PC용 프레임 캡처 도구로 한다. 모바일에서는 발열에 따른 성능 저하(스로틀링) 도 봐야 한다. 처음 10분은 60fps였다가 30분 뒤 기기가 뜨거워지며 40fps로 떨어지는 경우다. 모듈 17의 모바일 테스트 체크포인트와 연결된다.
해상도와 화면비
| 확인 항목 | 예시 |
|---|---|
| 화면비 | 16:9, 16:10, 21:9 울트라와이드, 4:3, 모바일 19.5:9·20:9, 태블릿 4:3 |
| 안전 영역 | 노치·펀치홀·둥근 모서리에 UI가 가리지 않는가, TV 오버스캔 여백 |
| 해상도 | 720p·1080p·1440p·4K, 동적 해상도 전환 시 UI 깨짐 |
| 창 모드 | 전체 화면·테두리 없는 창·창 모드 전환, 창 크기 조절 |
| 다중 모니터 | 게임이 엉뚱한 모니터에서 시작, 모니터 분리 시 처리 |
| HDR | HDR 켜고 끌 때 UI 색·밝기 |
울트라와이드에서 컷신의 좌우 끝에 무대 뒤편(미완성 배경)이 보이는 결함은 자주 나온다. 컷신이 16:9만 가정하고 만들어졌기 때문이다.
사운드 결함의 이름
| 결함 | 뜻 | 발견 방법 |
|---|---|---|
| 효과음 누락 | 동작에 소리가 없음 | 음소거 없이 모든 동작 순회, 표면 재질별 발소리 |
| 잘못된 효과음 | 다른 소리가 재생됨(나무 위에서 금속 발소리) | 재질·무기·상황별 매트릭스 |
| 믹스 레벨 불균형 | 대사가 배경음에 묻힘, 특정 효과음만 튐 | 볼륨 슬라이더별 확인, 이어폰·스피커 |
| 싱크 어긋남 | 입 모양·타격 순간과 소리 시점이 다름 | 프레임 단위 녹화 비교 |
| 공간 음향 오류 | 왼쪽 적의 소리가 오른쪽에서 들림, 벽 너머 소리가 그대로 들림 | 헤드폰, 위치 이동 |
| 반복·중첩 | 같은 소리가 겹쳐 폭음, 끝나지 않는 루프 | 다수 적, 일시정지·재개 |
| 음성 누락 | 특정 언어 음성 파일 없음, 자막만 나옴 | 언어별 전 대사 순회 |
| 전환 결함 | 일시정지·메뉴·백그라운드 전환 시 소리가 계속되거나 끊김 | 상태 전환 반복 |
사운드 테스트는 환경을 바꿔 가며 해야 한다. 사무실 스피커로는 저음이 튀는 문제를 듣지 못하고, 스테레오 헤드폰 없이는 공간 음향을 판정할 수 없다. 모바일에서는 무음 모드, 블루투스 이어폰 연결·해제, 통화 수신 중 게임 소리 처리까지 본다.
현지화 음성(VO)은 언어마다 대사 길이가 달라서 컷신 싱크 가 깨지기 쉽다. 영어 대사는 2초인데 독일어 대사가 3.5초라면, 다음 장면이 시작돼도 이전 대사가 겹쳐 나온다. 레슨 7에서 로컬라이제이션 관점으로 다시 다룬다.
조작 장치 테스트
| 영역 | 확인 항목 |
|---|---|
| 버튼 매핑 | 기본 매핑이 명세와 같은가, 화면의 버튼 아이콘이 실제 장치와 일치하는가 |
| 재설정(리매핑) | 모든 동작을 바꿀 수 있는가, 중복 할당 처리, 초기화, 저장 후 재시작 시 유지 |
| 복수 입력 장치 | 키보드·마우스와 게임패드를 번갈아 쓸 때 UI 아이콘 전환, 두 장치 동시 입력 |
| 장치 종류 | 제조사별 게임패드, 서드파티 패드, 레이싱 휠·아케이드 스틱 |
| 터치 | 멀티터치, 가상 조이스틱 영역, 제스처 충돌, 화면 가장자리 시스템 제스처 |
| 햅틱 | 진동 강도·타이밍, 진동 끄기 옵션, 적응형 트리거 |
| 연결 끊김 | 플레이 중 패드 분리 시 일시정지, 재연결 시 올바른 플레이어에 재할당 |
| 입력 지연 | 입력부터 화면 반응까지 프레임 수 |
| 접근성 | 누르기 대신 토글, 연타 대신 길게 누르기, 한 손 조작, 감도 조절, 조준 보조 |
화면 아이콘 불일치는 콘솔 인증의 단골 불합격 사유다. 한 플랫폼의 버튼 이름이나 아이콘이 다른 플랫폼 빌드에 남아 있으면 안 된다. 패드 연결 끊김 도 레슨 4에서 다룰 인증 실패의 대표 영역이다. 멀티 로컬 플레이(2인 이상 화면 분할)에서는 2번 패드가 끊겼다 다시 연결될 때 1번 플레이어로 잡히는 결함이 흔하다.
접근성 옵션은 이제 선택 사항이 아니다. 자막 크기·배경, 색각 이상 모드, 화면 흔들림 끄기, 입력 방식 변경 같은 옵션은 플랫폼 가이드라인과 평가에서 점점 무게가 커지고 있다. 옵션이 존재하는지 뿐 아니라 모든 화면에서 실제로 적용되는지 를 본다. 자막 크기를 키웠는데 컷신 자막만 그대로인 경우가 전형적이다.
레벨 테스트
레벨 테스트는 맵 하나를 대상으로 하는 체계적 탐색이다.
| 기법 | 방법 | 찾는 것 |
|---|---|---|
| 워크스루 | 의도된 경로를 처음부터 끝까지 진행 | 진행 차단, 트리거 누락, 길 안내 부족 |
| 벽 따라 걷기 | 맵 경계와 모든 벽면을 붙어서 이동 | 충돌 구멍, 보이지 않는 벽 |
| 점프·등반 탐색 | 모서리·경사·오브젝트 위로 오르기 | 맵 이탈, 의도하지 않은 지름길 |
| 끼임 탐색 | 좁은 틈, 오브젝트 사이, 움직이는 발판 | 끼임 지점(stuck spot) |
| 스폰 검증 | 부활 위치, 적 스폰 위치, 아이템 배치 | 벽 속 스폰, 스폰 킬, 공중 스폰 |
| 체크포인트 검증 | 저장 지점 통과 후 사망·재시작 | 되돌림 범위 오류, 체크포인트 소프트락 |
| 카메라 탐색 | 좁은 공간, 벽 근처에서 카메라 회전 | 카메라가 벽 안으로 들어감, 시야 가림 |
맵 이탈(out-of-bounds) 은 플레이어가 의도된 공간 밖으로 나가는 결함이다. 싱글 게임에서는 진행 차단이나 스피드런 지름길이 되고, 멀티 게임에서는 공격받지 않는 위치를 만들어 익스플로잇이 된다. 결함 리포트에는 반드시 좌표 와 카메라 각도가 보이는 스크린숏 을 붙인다. 레벨 디자이너는 좌표 하나로 해당 지점을 에디터에서 바로 연다.
끼임 지점과 충돌 구멍은 사람이 다 찾기 어렵다. 그래서 규모가 큰 프로젝트는 봇이 맵을 무작위로 돌아다니며 "같은 위치에 N초 이상 머문 좌표"와 "맵 경계 밖 좌표"를 기록해 히트맵으로 뽑는다. QA는 이 히트맵에서 의심 지점을 골라 직접 확인한다.
체크포인트는 레슨 2의 소프트락과 만난다. 체크포인트가 저장되는 순간의 상태를 늘 의심한다.
- 체력이 1인 상태로 저장되면, 부활하자마자 독 장판에 죽는 무한 사망 루프가 생기는가
- 보스 전투 중간에 저장되는가
- 필요한 아이템을 쓴 직후 저장되고, 그 아이템을 다시 얻을 수 없는가
체크리스트를 차터로 운영한다
위 표들을 전부 테스트 케이스로 바꾸면 수천 줄이 된다. 실무에서는 영역별 체크리스트 + 탐색적 차터 로 운영한다.
차터: 3장 "무너진 성채" 레벨의 경계와 충돌을 탐색한다
벽 따라 걷기·점프 탐색·카메라 회전으로
맵 이탈·충돌 구멍·끼임 지점을 찾기 위해
시간: 90분 / 빌드 0.9.1040 / 체크리스트: 레벨-공통 v3
산출물: 좌표 목록, 결함 리포트, 히트맵 대조 결과실무에서 왜 필요한가
정확한 이름이 담당자를 정한다. "캐릭터가 이상하게 보여요"는 아트·애니메이션·엔진 사이를 떠돈다. "달리기에서 구르기로 전환할 때 3프레임 동안 기본 자세가 보임(애니메이션 블렌딩)"은 바로 애니메이션 팀에 배정된다.
평균 FPS만 보면 출시 후 "끊김" 리뷰를 맞는다. 플레이어는 평균이 아니라 끊김을 기억한다. 프레임 시간 분포로 기준을 세워야 체감 품질을 지킬 수 있다.
조작 장치와 레벨 결함은 인증과 익스플로잇으로 번진다. 패드 연결 끊김 처리는 콘솔 인증 항목이고, 맵 이탈은 멀티플레이 익스플로잇이다. 겉보기에 사소해 보이는 결함이 일정과 공정성을 흔든다.
접근성은 더 넓은 플레이어를 뜻한다. 접근성 옵션의 결함은 특정 플레이어에게는 게임을 아예 할 수 없게 만드는 블로커다.
채용시장에서의 위치
게임 QA 외주 업체의 신입 테스트 업무는 대부분 이 레슨의 영역이다. 기능 테스트와 함께 그래픽·사운드·조작·레벨 결함을 찾고 보고하는 일이 가장 많은 비중을 차지한다. 그래서 면접에서 "Z-파이팅이 뭔지 아느냐", "프레임 드랍을 어떻게 보고하겠는가", "벽 뚫림 버그를 어떻게 찾는가" 같은 질문이 나온다.
차별화 포인트는 측정이다. "끊김이 있다"가 아니라 "프레임 시간 120ms 스파이크가 새 지역 진입 시 매번 발생"이라고 말하는 지원자, 결함 이름을 정확히 쓰고 담당 팀까지 추정하는 지원자는 드물다. 콘솔 멀티 플랫폼 경험, 접근성 테스트 경험은 공고의 우대사항에 자주 나타난다.