본문으로 건너뛰기
중급약 30분

계층별 전수 점검 체계: L1 UI부터 L7 보안까지

흩어져 있는 점검 항목을 7개 계층으로 세워 하나의 서비스를 빠짐없이 훑는다. 계층 순서가 왜 게이트인지, 변경 규모에 따라 어디까지 내려갈지 판단하는 법을 익힌다.

  • #점검체계
  • #커버리지
  • #계층
  • #체크리스트
  • #리스크기반

개념

"다 봤습니다"를 무엇으로 증명하나

새 서비스나 큰 기능을 맡으면 QA에게 같은 질문이 온다.

"다 보신 거죠?"

이때 "네, 다 봤습니다"라고 답하는 것과 "L1부터 L5까지 완료했고, L6은 성능만, L7은 이번 범위에서 제외했습니다" 라고 답하는 것은 완전히 다르다. 후자는 무엇을 안 봤는지까지 말한다. 모듈 4(레슨 5)에서 배운 "QA는 안전하다를 말하는 사람이 아니라 무엇을 알고 무엇을 모르는지 말하는 사람"이 여기서 구체적인 형태를 갖는다.

문제는 점검 항목이 커리큘럼 곳곳에 흩어져 있다는 것이다. 설계 기법은 모듈 3, 접근성은 모듈 16, 보안은 모듈 16, 데이터는 모듈 5. 각각은 배웠는데 하나의 서비스를 앞에 두고 순서대로 훑는 체계 가 없다.

이 레슨은 그 체계를 세운다. 실무에서 쓰이는 형태로 정리하면 7개 계층 이 된다.

7계층 지도

  L1  UI 탐색       모든 버튼·메뉴·링크·폼이 동작하는가
   ↓                 (되긴 되는가)
  L2  정답 검증     CRUD 정확성, 계산 로직, 표시 값
   ↓                 (맞게 되는가)
  L3  권한 검증     비로그인·일반·관리자별 접근 제어
   ↓                 (아무나 되면 안 되는 것이 막히는가)
  L4  접근성        키보드 내비게이션, 스크린리더, 색상 대비
   ↓                 (모두가 쓸 수 있는가)
  L5  데이터 정합성  DB 반영, 동시 수정, 정렬·필터·페이지네이션
   ↓                 (여러 번·여럿이 써도 맞는가)
  L6  비기능        성능(LCP·CLS), 반응형, 다국어, 에러 처리
   ↓                 (조건이 나빠져도 쓸 만한가)
  L7  보안          XSS·CSRF·인젝션, 토큰 노출, 세션 관리
                     (악의를 가진 사람 앞에서도 버티는가)

순서에 의미가 있다. 위에서 아래로 갈수록 (1) 발견 비용이 커지고, (2) 앞 계층이 깨져 있으면 뒤 계층을 볼 수 없다.

버튼이 눌리지 않으면(L1) 계산이 맞는지(L2) 확인할 방법이 없다. 계산이 틀렸다면(L2) 동시 수정 시 정합성(L5)을 논하는 것이 무의미하다.

이 구조는 모듈 18b(레슨 8)의 검증 파이프라인, 모듈 18c(레슨 6)의 품질 게이트와 같은 발상이다 — 값싼 검증을 앞에 두고, 통과한 것만 뒤로 보낸다.

L1 — UI 탐색: 되긴 되는가

가장 얕고 가장 먼저 한다. 목표는 "막히는 곳이 없는지" 확인하는 것이다.

점검 항목흔한 결함
모든 버튼·링크가 반응하는가죽은 링크, 이벤트 미연결
메뉴·탭 이동이 되는가잘못된 경로, 뒤로가기 깨짐
폼 제출·취소가 되는가제출 후 화면 미갱신
모달·드롭다운이 열리고 닫히는가ESC·바깥 클릭으로 안 닫힘
빈 상태·로딩 상태가 있는가데이터 없을 때 빈 화면

L1의 함정은 여기서 멈추는 것이다. 클릭이 되면 통과로 표시하고 넘어가는 팀이 많은데, 그건 "동작한다"이지 "맞다"가 아니다. 그래서 L2가 있다.

L1은 자동화하기 좋은 계층이기도 하다. 스모크 테스트(모듈 11 레슨 2)가 대체로 이 계층이다.

L2 — 정답 검증: 맞게 되는가

여기부터가 QA의 본령이다. 모듈 3에서 배운 설계 기법이 전부 여기에 쓰인다.

점검 항목적용할 기법
생성·조회·수정·삭제가 정확한가상태 전이(모듈 3 레슨 3)
계산 결과가 맞는가경계값 분석(레슨 1), 결정 테이블(레슨 3)
표시 값이 저장 값과 같은가단위·형식·반올림 확인
필수·선택 입력 검증이 맞는가동등분할(레슨 1)
조합 규칙이 맞는가페어와이즈(레슨 5)

계산 로직에서 자주 나오는 결함 유형 을 기억해두면 좋다.

  • 반올림 방향과 자릿수 (할인 금액 1원 차이)
  • 순서 의존 (할인 먼저인가 세금 먼저인가)
  • 0과 음수 (수량 0, 할인율 100%)
  • 통화·단위 혼용
  • 시간대와 날짜 경계 (자정, 월말, 윤년)

마지막 항목이 특히 자주 묻힌다. "어제 주문"의 기준 시각이 서버 시간인지 사용자 시간인지 를 확인하지 않으면 특정 시간대 사용자에게만 틀린다.

L3 — 권한 검증: 아무나 되면 안 되는 것

QA가 가장 자주 빠뜨리는 계층 이다. 화면에서 안 보이면 테스트하지 않게 되기 때문이다.

기본 매트릭스를 만들어두면 놓치지 않는다.

                 비로그인   일반 사용자   타인 소유   관리자
  목록 조회         ✕          ○           —          ○
  상세 조회         ✕          ○          ✕          ○
  생성              ✕          ○           —          ○
  수정              ✕          ○          ✕          ○
  삭제              ✕          ✕          ✕          ○
  관리 기능         ✕          ✕          ✕          ○

'타인 소유' 열이 핵심이다. 내 주문은 볼 수 있지만 남의 주문은 안 돼야 한다. 그런데 화면에는 남의 주문으로 가는 링크가 없으니 테스트하지 않게 된다.

확인 방법은 모듈 9(레슨 12)와 모듈 19(레슨 4)에서 배운 도구다.

  • URL의 ID를 바꿔본다 (/orders/1234 → /orders/1235)
  • API를 직접 호출한다 (DevTools에서 복사한 cURL의 ID만 변경)
  • 프록시 브레이크포인트로 요청 본문의 ID를 바꾼다

기대 결과는 403이지 404가 아니다 — 다만 존재 여부를 숨겨야 하는 경우에는 404가 정책일 수 있다. 정책을 먼저 확인하고 테스트한다.

권한이 화면에서만 막혀 있고 API는 열려 있는 경우가 실제로 흔하다. "버튼을 안 보이게 했으니 됐다"는 방어가 아니다.

L4 — 접근성: 모두가 쓸 수 있는가

모듈 16(레슨 7)에서 다룬 내용이 여기에 배치된다. 최소 점검은 셋이다.

항목확인 방법
키보드만으로 조작 가능한가마우스를 치우고 Tab·Enter·ESC로 전 과정 수행
포커스가 보이는가Tab 이동 시 현재 위치가 시각적으로 표시되는가
스크린리더가 읽는가이미지 대체 텍스트, 버튼 이름, 폼 라벨
색상 대비가 충분한가DevTools Elements 패널에서 대비 확인(모듈 9 레슨 12)
색만으로 정보를 전달하지 않는가오류를 빨간색으로만 표시하고 있지 않은가

키보드 테스트가 가장 값싸고 효과가 크다. 마우스를 옆으로 치우고 주요 흐름을 한 번 수행해보면, 모달에 갇히거나(포커스 트랩) 포커스가 사라지는 문제가 금방 드러난다.

마지막 항목은 모듈 22(레슨 10)에서 다이어그램을 그릴 때도 나온 원칙이다 — 색은 보조 수단이고, 텍스트나 아이콘으로 한 번 더 말해야 한다.

L5 — 데이터 정합성: 여러 번·여럿이 써도 맞는가

L2가 한 번의 정확성을 봤다면, L5는 반복과 동시성 을 본다.

항목확인할 것
화면 값과 DB 값이 같은가저장 후 DB에서 직접 조회(모듈 9 레슨 5의 SQL)
새로고침 후에도 유지되는가캐시된 화면과 실제 상태의 불일치
동시 수정두 탭에서 같은 항목을 수정하면? 나중 것이 앞 것을 덮는가
정렬동점일 때 순서가 안정적인가, null은 어디로 가는가
필터 조합필터 2개를 걸면 AND인가 OR인가, 초기화가 되는가
페이지네이션0건, 1건, 마지막 페이지, 범위 밖 페이지
페이지 이동 중 데이터 변경2페이지 보는 중 1페이지에 항목이 추가되면 중복·누락이 생기는가

마지막 두 줄이 실무에서 자주 터지는데 거의 테스트되지 않는다. 정렬 기준이 불안정하면 페이지를 넘길 때 같은 항목이 두 번 보이거나 아예 안 보인다. 모듈 12(레슨 8)에서 API 커버리지의 페이지네이션 경계를 다룬 것과 같은 문제가 화면에서 나타나는 형태다.

동시 수정은 모듈 19(레슨 4)의 프록시 Repeat Advanced로 재현할 수 있다.

L6 — 비기능: 조건이 나빠져도 쓸 만한가

모듈 16 전체가 이 계층이다. 여기서는 최소 점검 세트 만 정리한다.

영역최소 점검
성능LCP·CLS 등 Core Web Vitals(모듈 16 레슨 4), 느린 네트워크 재현(모듈 9 레슨 12)
반응형모바일·태블릿·데스크톱 폭에서 깨지지 않는가, 가로 스크롤이 생기지 않는가
다국어긴 번역문에서 레이아웃이 깨지는가, 미번역 문구가 남았는가, 날짜·통화·숫자 형식
에러 처리서버 오류·네트워크 끊김 시 안내가 뜨는가, 복구 경로가 있는가

다국어는 QA가 놓치기 쉬운 영역이다. 한국어 기준으로 만든 화면에 독일어를 넣으면 버튼 텍스트가 두 배로 길어져 레이아웃이 깨진다. 그리고 미번역 문구는 개발자가 절대 못 찾는다 — 그 언어를 모르기 때문이다.

에러 처리도 마찬가지다. 모듈 19(레슨 4)의 Map Local이나 브레이크포인트로 500 응답을 만들어보면, 화면이 아무 반응 없이 멈추는 경우가 흔하다.

L7 — 보안: 악의를 가진 사람 앞에서

모듈 16(레슨 5·10)에서 다룬 내용이다. QA가 직접 할 수 있는 최소 점검은 이렇다.

항목확인 방법
XSS입력란에 스크립트 문자열을 넣고 저장 후 표시되는 곳을 본다
CSRF상태 변경 요청에 토큰이 있는가, 없이 보내면 거부되는가
인젝션특수문자 입력 시 오류 메시지에 쿼리가 노출되는가
토큰 노출로컬스토리지·URL·로그에 토큰이 있는가(모듈 9 레슨 12)
세션 관리로그아웃 후 뒤로가기, 만료 처리, 다른 기기 로그인
오류 메시지스택 트레이스·내부 경로·버전 정보가 노출되는가

"QA가 침투 테스트를 하라"는 뜻이 아니다. 이 목록은 전문가가 아니어도 발견할 수 있는 것들 이고, 여기서 걸리면 더 깊은 문제가 있을 가능성이 높다는 신호다. 깊은 진단은 전문 도구와 전문가의 몫이다(모듈 23).

⚠️ 보안 점검은 허가된 환경에서만 한다. 대상과 범위를 문서로 확인하고 시작한다. 모듈 16 전체를 관통하는 원칙이다.

어디까지 내려갈 것인가 — 변경 규모로 판단

7계층을 매번 전부 도는 것은 불가능하다. 모듈 4(레슨 3)에서 배운 변경 규모별 커버리지 계획 을 여기에 적용한다.

변경 유형도는 계층근거
문구·색상 수정L1 + L4(대비)로직이 안 바뀐다
화면 레이아웃 변경L1, L4, L6(반응형)표시 계층만
기능 로직 수정L1~L3, L5계산·권한·데이터가 영향
신규 기능L1~L7 전부기준선이 없다
권한 구조 변경L3 집중 + L1, L2매트릭스 전면 재점검
DB 스키마 변경L2, L5 집중 + 마이그레이션 검증(레슨 6)데이터가 핵심
인증·결제 관련L1~L7 + 전문 진단사고 비용이 크다
라이브러리 업그레이드L1 + L6 + L7(취약점)광범위·간접 영향

"신규 기능은 전부"와 "인증·결제는 전문 진단까지" 두 줄만 지켜도 큰 사고의 상당수를 막는다. 나머지는 리스크(모듈 4 레슨 2)로 조정한다.

계층별 배분의 함정

함정 1 — L1에서 멈춘다. 시간이 부족하면 L1만 반복하게 된다. 그런데 L1은 자동화하기 가장 쉬운 계층이다. 자동화로 L1을 덮고 사람은 L2 아래로 내려가는 것 이 올바른 방향이다.

함정 2 — L3을 건너뛴다. 화면에 없으면 테스트하지 않게 된다. 권한 매트릭스를 문서로 만들어두는 것이 유일한 방어다.

함정 3 — L4·L6을 "여유 있으면"으로 미룬다. 그리고 여유는 오지 않는다. 접근성은 법적 요구가 되어가고(모듈 25), 성능은 이탈률과 직결된다. 최소 점검만이라도 매번 넣는다.

함정 4 — L7을 외부에만 맡긴다. 연 1회 침투 테스트로는 매 릴리즈의 변경을 못 따라간다. QA의 최소 점검이 그 사이를 메운다.

함정 5 — 계층을 순서대로만 본다. 순서는 게이트이지 일정이 아니다. L7의 토큰 노출 같은 항목은 개발 초기에 확인하는 편이 훨씬 싸다.

체크리스트로 만들어 쓰기

이 체계의 값어치는 매번 같은 순서로 훑는다 는 데 있다. 기능마다 표를 하나 만들어두면 인수인계와 리포트가 함께 해결된다.

기능: 쿠폰 적용             릴리즈: v2.4.0        점검자: OOO
 
  L1 UI 탐색        ✅ 완료      (자동화 스모크 통과)
  L2 정답 검증      ✅ 완료      경계값 12건, 결함 2건 등록
  L3 권한 검증      ⚠️ 부분      타인 쿠폰 조회 미확인 — 환경 제약
  L4 접근성         ✅ 완료      키보드 전 과정 통과, 대비 1건 지적
  L5 데이터 정합성  ✅ 완료      동시 적용 테스트 포함
  L6 비기능         ⚠️ 부분      성능만, 다국어 미확인(이번 범위 아님)
  L7 보안           ✅ 완료      XSS·토큰 노출 최소 점검 통과
 
  미확인 항목과 사유가 위에 명시됨 → Go/No-Go 자료로 그대로 사용

⚠️ 표시와 사유가 이 표의 핵심이다. 전부 ✅인 표는 의심스럽고, 미확인 항목이 사유와 함께 적힌 표는 신뢰할 수 있다. 모듈 4(레슨 5)의 Go/No-Go 회의에 이 표 한 장을 가져가면 논의가 정리된다.

실무에서 왜 필요한가

QA 경력이 쌓여도 "무엇을 봐야 하는지"를 매번 새로 떠올리는 사람이 많다. 그러면 컨디션과 시간에 따라 점검 범위가 흔들리고, 놓친 영역이 매번 달라진다. 체계가 있으면 최소한 같은 것을 놓치지는 않는다.

신규 입사자나 주니어에게 넘길 때도 값이 크다. "잘 봐주세요"가 아니라 7계층 표를 주면, 무엇을 어디까지 해야 하는지가 명확해진다. 모듈 7 (레슨 9)에서 다룬 팀 역량 관리와도 이어진다 — 개인의 감각을 팀의 절차로 옮기는 방법 이다.

그리고 이 표는 QA의 일을 보이게 만든다. "테스트했습니다"가 아니라 "7개 계층 중 5개 완료, 2개는 이런 사유로 부분 완료"라고 말할 수 있으면 작업량과 판단 근거가 함께 전달된다.

채용시장에서의 위치

면접에서 "테스트 범위를 어떻게 정하세요" 는 거의 반드시 나온다. 이 질문에 계층 이름으로 답할 수 있는 사람과 "중요한 것부터 봅니다" 로 답하는 사람의 차이가 크다.

질문약한 답강한 답
"테스트 범위를 어떻게 정하세요?""중요한 것부터요""7계층으로 세우고, 변경 규모에 따라 어디까지 내려갈지 정합니다"
"다 봤다는 걸 어떻게 보고하세요?""테스트 완료로 올립니다""7계층 중 5개 완료, 2개는 사유와 함께 부분 완료로 적습니다"
"주니어에게 어떻게 넘기세요?""같이 보면서 알려줍니다""계층표를 주고 L1~L3을 맡깁니다. 기준이 문서에 있으니 편차가 줄어듭니다"
"권한 테스트는 하세요?""역할별로 들어가 봅니다""권한 매트릭스를 만들고 URL 직접 호출·API 직접 호출까지 뚫어 봅니다"

두 번째가 실무자와 리드를 가르는 답이다. "완료" 는 정보가 없고, "못 한 것을 사유와 함께 적은 보고" 는 판단 근거가 된다. 레슨 6의 전환 검증 보고와 같은 태도다.

네 번째는 의외로 변별력이 크다. 화면에서 메뉴가 안 보이는 것을 권한 테스트로 아는 경우가 많은데, 실제 사고는 URL과 API를 직접 두드릴 때 난다. 이 차이를 말할 수 있으면 L3을 제대로 해 본 사람으로 읽힌다.

공고 표현으로는 "테스트 설계", "테스트 범위 산정", "품질 기준 수립" 이 이 레슨에 걸린다. 그리고 계층표를 팀에 도입해 운영한 경험은 리드· 매니저 지원에서 바로 쓸 수 있는 이야기다 — 개인의 감각을 팀의 절차로 옮긴 사례이기 때문이다.

실습 과제

과제 1 — 담당 기능에 7계층 대입하기 (25분)

지금 맡고 있는(또는 최근에 본) 기능 하나를 골라 계층별 점검 항목을 채운다. 각 계층에 최소 3개 씩.

계층점검 항목확인 방법예상 소요
L1
L2
...

작성 후 총 소요를 합산한다 — 현실적인가? 아니라면 어느 계층을 줄일지와 그 근거를 적는다.

해설 보기

합산해보면 대개 예상보다 훨씬 길게 나온다. 그게 이 과제의 발견이다. 그리고 줄일 계층을 고를 때 L1을 줄이려는 사람이 거의 없다 — 익숙하고 편하기 때문이다.

올바른 판단은 반대다. L1은 자동화로 덮고, 사람의 시간은 L2·L3·L5에 쓴다. L1은 스크립트가 반복하기 가장 쉬운 계층이고, L3의 권한 매트릭스나 L5의 동시성은 사람의 판단이 필요하다.

'확인 방법' 열을 채우다 막히는 계층이 있다면(대개 L5나 L7), 그건 도구나 환경이 없다는 뜻이다. 그 자체가 개선 백로그 항목이 된다.

과제 2 — 권한 매트릭스 만들고 뚫어보기 (25분)

L3만 따로 깊게 한다.

  1. 본문 형태의 권한 매트릭스를 실제 기능으로 만든다
  2. '타인 소유' 열의 칸을 실제로 시도 한다 (URL의 ID 변경, API 직접 호출)
  3. 결과를 기록한다 — 403인가, 404인가, 아니면 200인가

200이 나오면 그건 심각도 최상 결함이다. 발견 시 리포트 작성 요령도 함께 정리한다.

해설 보기

이 과제에서 실제로 결함이 발견되는 경우가 드물지 않다. 특히 목록 API는 막았는데 상세 API는 안 막은 패턴이 흔하다. 목록에서 남의 데이터가 안 보이니 상세도 안전하다고 가정한 것이다.

리포트를 쓸 때는 두 가지를 주의한다. (1) 재현 절차를 정확히 쓰되 테스트 환경임을 명시 하고, (2) 이슈의 공개 범위를 제한 한다. 모듈 22(레슨 6)에서 다룬 프로젝트 액세스 수준이 여기서 쓰인다.

403과 404 중 무엇이 맞는지는 정책 문제다. 리소스의 존재 자체를 숨겨야 하는지 에 따라 갈리므로, 결함으로 등록하기 전에 기획·보안 담당에게 확인하는 것이 좋다.

과제 3 — L5 동시성·페이지네이션 점검 (20분)

한 기능에 대해 다음을 실제로 확인한다.

  1. 두 개의 탭에서 같은 항목을 동시에 수정 → 어떻게 되는가
  2. 목록 2페이지를 보는 중 1페이지에 새 항목이 추가되면 → 중복·누락이 생기는가
  3. 정렬 기준 값이 같은 항목이 여럿일 때 → 페이지를 오갈 때 순서가 유지되는가
  4. 0건·1건·마지막 페이지·범위 밖 페이지

발견한 것을 리포트로 하나 작성한다.

과제 4 — 변경 유형별 계층 매핑 만들기 (15분)

본문의 표를 우리 서비스에 맞게 다시 만든다. 우리 조직에서 자주 오는 변경 유형 6가지를 적고, 각각 어느 계층까지 볼지 정한다.

우리 변경 유형도는 계층근거예상 소요

만든 뒤 팀에 공유할 수 있는 형태인지 확인한다 — 이 표가 있으면 "이번엔 어디까지 볼까요"라는 논의가 매번 반복되지 않는다.

자가 체크리스트

  • 7개 계층을 순서대로 열거하고 각각이 답하는 질문을 말할 수 있다
  • 계층 순서가 게이트인 이유(앞이 깨지면 뒤를 볼 수 없다)를 설명할 수 있다
  • L1에서 멈추는 것이 왜 문제이고, 올바른 대응이 무엇인지 말할 수 있다
  • L2에서 자주 나오는 계산 결함 유형을 다섯 가지 들 수 있다
  • 권한 매트릭스의 '타인 소유' 열이 왜 가장 자주 빠지는지 설명할 수 있다
  • 화면에서 버튼을 숨기는 것이 왜 방어가 아닌지 말할 수 있다
  • L4 최소 점검 세 가지를 들고, 키보드 테스트가 왜 값싼지 설명할 수 있다
  • L5에서 페이지네이션과 정렬 안정성이 왜 함께 문제가 되는지 설명할 수 있다
  • 다국어 점검에서 미번역 문구를 개발자가 못 찾는 이유를 안다
  • L7에서 QA가 하는 최소 점검과, 전문가에게 넘길 영역을 구분할 수 있다
  • 변경 유형별로 어느 계층까지 내려갈지 판단할 수 있다
  • 계층별 배분의 함정 다섯 가지를 들 수 있다
  • 점검 결과표에서 ⚠️와 사유가 왜 핵심인지 설명할 수 있다

흔한 실수

  • L1만 반복한다. 클릭이 되면 통과로 표시하고 넘어간다. 그건 "동작한다"이지 "맞다"가 아니다.
  • L1을 사람이 계속 한다. 자동화하기 가장 쉬운 계층이다. 자동화로 덮고 사람은 아래로 내려간다.
  • L3을 화면 기준으로만 본다. 버튼을 숨긴 것은 방어가 아니다. API를 직접 호출해 확인한다.
  • 권한 매트릭스를 문서로 만들지 않는다. 만들지 않으면 '타인 소유' 칸이 매번 빠진다.
  • L4를 여유 있을 때 하는 것으로 미룬다. 키보드 점검은 5분이면 된다.
  • 정렬 안정성을 확인하지 않는다. 페이지를 넘길 때 항목이 중복되거나 사라진다.
  • 다국어를 번역 담당의 일로만 본다. 레이아웃 깨짐과 미번역은 QA가 잡는다.
  • 에러 응답 화면을 확인하지 않는다. 500이 왔을 때 아무 안내 없이 멈추는 서비스가 흔하다.
  • L7을 연 1회 외부 진단으로만 처리한다. 매 릴리즈의 변경을 못 따라간다.
  • 계층을 일정 순서로 오해한다. 게이트이지 일정이 아니다. 토큰 노출 같은 항목은 초기에 보는 편이 싸다.
  • 결과표를 전부 ✅로 채운다. 미확인 항목과 사유가 적힌 표가 더 신뢰받는다.

참고 자료

이 커리큘럼 안에서

  • 모듈 4 레슨 2~3 — 리스크 분석. 어디까지 내려갈지 판단하는 근거
  • 모듈 4 레슨 4 — 종료 조건. 계층별 완료를 종료 선언으로 옮기는 곳
  • 모듈 4 레슨 6 — 전환 검증. 못 한 것을 사유와 함께 적는 보고의 태도
  • 모듈 3 레슨 8 — 체크리스트. 계층표를 체크리스트로 바꿔 쓰는 방법
  • 모듈 5 레슨 14 — 휴리스틱 치트시트. 계층 안에서 무엇을 해 볼지
  • 모듈 7 레슨 9 — 팀 역량 관리. 계층표로 역할을 나누는 방법
  • 모듈 16 — 접근성(L4), 모듈 15 — 보안(L7), 모듈 16·21 — 성능(L6)

한 줄 정리 — 7계층은 "다 봤다"를 말로 증명할 수 있게 만드는 틀이다. 계층 순서가 게이트이고(아래가 안 되면 위를 볼 의미가 없다), 변경 규모가 어디까지 내려갈지를 정하고, 못 한 계층을 사유와 함께 적는 보고가 개인의 감각을 팀의 절차로 바꾼다.

낯선 말 풀이

이 레슨에 나온 약어입니다. 본문에서도 처음 나올 때 점선으로 표시해 두었습니다 (제목과 링크 글자는 그대로 둡니다).

QA — 품질보증
만든 것이 쓸 만한지 확인하고, 애초에 덜 망가지게 만드는 방법을 정하는 일. "테스트"는 그 일의 일부다.
UI — 사용자 인터페이스
사람이 직접 보고 누르는 부분 — 화면, 버튼, 입력창.
URL — 인터넷 주소
웹에서 무언가의 위치를 가리키는 주소 한 줄.
ID — 식별자
무엇 하나를 다른 것과 구별하기 위해 붙인 이름이나 번호.
API — 응용 프로그램 인터페이스
프로그램끼리 주고받는 창구. 사람이 화면 버튼을 누르는 대신, 프로그램이 정해진 주소로 요청을 보내 답을 받는다.
DB — 데이터베이스
데이터를 넣어 두고 꺼내 쓰는 저장소. 보통 표 여러 개가 서로 연결된 형태다.
SQL — 구조화 질의 언어
저장소에 "이런 조건인 줄을 보여 달라"고 묻는 말. 영어 문장에 가까워서 읽기가 비교적 쉽다.
LCP — 최대 콘텐츠 표시 시간
화면에서 가장 큰 내용이 보이기까지 걸린 시간. 체감 속도를 재는 대표 지표다.
XSS — 크로스 사이트 스크립팅
입력창에 넣은 글자가 화면에서 명령으로 실행되게 만드는 공격.
CSRF — 크로스 사이트 요청 위조
로그인한 사람의 권한을 몰래 빌려 원치 않는 요청을 보내게 만드는 공격.
Go/No-Go — 내보낼지 말지 판정
미리 정해 둔 조건을 놓고 "이대로 내보낸다 / 내보내지 않는다" 를 한자리에서 정하는 일.
OWASP — 오왁스프
웹과 앱 보안 자료를 공개로 만드는 비영리 단체. 취약점 목록과 점검 기준이 유명하다.

이 레슨에 나온 나머지 2개를 포함해 용어집 전체 보기