Skip to content

준비 로드맵

TQS 인증을 처음 준비하는 프로젝트 팀을 위한 단계별 준비 계획을 정의합니다. 본 장은 8주 표준 준비 계획, 우선순위 매트릭스, 단축 준비 가이드를 포함합니다.


33.1.1. 8주 준비 계획

TQS 인증 준비는 8주 단위의 체계적인 계획을 따르는 것을 권장합니다. 각 주차별 핵심 활동과 산출물은 다음과 같습니다.

주차핵심 활동산출물
1주차현황 분석 및 Gap 진단자체 점검 체크리스트, 현황 분석 보고서
2주차개발환경 표준화.editorconfig, .vscode/settings.json, 포매터 설정 파일
3주차코드 컨벤션 적용Spotless 설정, ESLint/Prettier 설정 파일
4주차테스트 인프라 구축JUnit 5 + JaCoCo 설정, Vitest 설정, 커버리지 리포트
5주차CI/CD 파이프라인 구성CircleCI 설정 파일, 파이프라인 실행 로그
6주차보안 점검Spring Security 설정, OWASP 스캔 결과, 시크릿 관리 설정
7주차프론트엔드 품질 강화Lighthouse 리포트, 접근성 점검 결과, 번들 분석 결과
8주차최종 점검 및 심사 요청전체 체크리스트 최종본, 심사 요청서

33.1.1.1. 1주차: 현황 분석 및 Gap 진단

1주차의 목표는 프로젝트의 현재 상태를 객관적으로 파악하고, TQS 규격과의 Gap을 식별하는 것입니다.

수행해야 할 활동은 다음과 같습니다.

  • TQS 인증 체크리스트(32장)를 기준으로 전체 항목의 충족 여부를 확인합니다.
  • 각 항목을 충족, 부분 충족, 미충족으로 분류합니다.
  • 미충족 항목에 대해 보완 난이도와 소요 기간을 추정합니다.
  • Gap 진단 결과를 기반으로 나머지 7주의 세부 일정을 조정합니다.

이 단계에서 미충족 항목이 전체의 30%를 초과하는 경우, 8주 계획으로는 부족할 수 있으므로 일정 연장을 검토해야 합니다.

33.1.1.2. 2주차: 개발환경 표준화

개발환경 표준화는 팀 전체가 동일한 환경에서 개발할 수 있도록 설정을 통일하는 작업입니다.

  • .editorconfig 파일을 프로젝트 루트에 생성하고 들여쓰기, 문자 인코딩, 줄 끝 처리 규칙을 정의합니다.
  • .vscode/settings.json에 저장 시 자동 포맷, 린트 자동 실행 설정을 추가합니다.
  • 백엔드 프로젝트에 Google Java Format을 적용하기 위해 spotless-maven-pluginpom.xml에 추가합니다.
  • 프론트엔드 프로젝트에 ESLint Flat Config와 Prettier를 설정합니다.
  • .gitignore 파일을 점검하여 IDE 설정 파일, 빌드 산출물, 환경 변수 파일이 적절히 제외되는지 확인합니다.

33.1.1.3. 3주차: 코드 컨벤션 적용

기존 소스코드에 TQS 규격이 요구하는 코드 컨벤션을 적용합니다.

  • 백엔드: mvn spotless:apply 명령으로 전체 Java 소스코드에 Google Java Format을 일괄 적용합니다.
  • 프론트엔드: yarn lint --fixyarn format 명령으로 ESLint와 Prettier 규칙을 일괄 적용합니다.
  • 네이밍 규칙(클래스, 변수, 메서드, 패키지)을 점검하고 위반 사항을 수정합니다.
  • System.out.println 사용을 로깅 프레임워크(SLF4J + Logback)로 교체합니다.
  • TypeScript에서 any 타입 사용을 제거하고 명시적 타입을 정의합니다.
  • Vue 컴포넌트가 Composition API를 사용하는지 확인하고, Options API 사용 시 전환합니다.

33.1.1.4. 4주차: 테스트 인프라 구축

테스트 자동화 환경을 구축하고 커버리지 기준을 달성합니다.

  • 백엔드: JUnit 5 기반 단위 테스트를 작성하고, JaCoCo를 통해 커버리지를 측정합니다.
  • 프론트엔드: Vitest 기반 단위 테스트를 작성하고, 커버리지 리포트를 생성합니다.
  • 커버리지 목표: 라인 커버리지 80% 이상, 브랜치 커버리지 70% 이상을 달성해야 합니다.
  • 핵심 비즈니스 로직, 유틸리티 함수, API 호출 로직을 우선적으로 테스트합니다.
  • 테스트가 불필요한 코드(설정 클래스, DTO 등)는 커버리지 측정에서 제외하도록 설정합니다.

33.1.1.5. 5주차: CI/CD 파이프라인 구성

CircleCI 기반의 CI/CD 파이프라인을 구성합니다.

  • .circleci/config.yml 파일을 생성하고 파이프라인을 정의합니다.
  • 파이프라인 단계: 린트 검사 → 단위 테스트 → 커버리지 검증 → 빌드 → 보안 스캔 순서로 구성합니다.
  • 린트 검사 실패 시 후속 단계가 실행되지 않도록 설정합니다.
  • 커버리지 임계값 미달 시 빌드가 실패하도록 설정합니다.
  • 빌드 결과를 팀에 통보하는 알림을 설정합니다.

33.1.1.6. 6주차: 보안 점검

보안 관련 TQS 규격 항목을 점검하고 보완합니다.

  • Spring Security 설정을 검증합니다. RBAC (Role-Based Access Control) 기반 접근 제어가 적용되어 있는지 확인합니다.
  • OWASP Dependency-Check를 실행하여 의존성 보안 취약점을 스캔합니다. CVSS 7.0 이상 취약점이 0건이어야 합니다.
  • 소스코드 내 시크릿(API 키, 비밀번호, 토큰) 하드코딩 여부를 확인합니다. 시크릿은 환경 변수 또는 시크릿 매니저를 통해 관리해야 합니다.
  • 데이터 암호화 설정(At-Rest, In-Transit)을 확인합니다.
  • 입력값 검증 로직이 적절히 구현되어 있는지 점검합니다.

33.1.1.7. 7주차: 프론트엔드 품질 강화

프론트엔드 성능, 접근성, 번들 최적화를 점검합니다.

  • Lighthouse를 실행하여 성능 점수 90점 이상, 접근성 점수 90점 이상을 달성합니다.
  • 이미지 최적화(포맷 변환, 지연 로딩)를 적용합니다.
  • 번들 크기를 분석하고 코드 스플리팅을 적용합니다.
  • WCAG (Web Content Accessibility Guidelines) 2.1 AA 수준의 접근성을 충족하는지 확인합니다.
  • ARIA (Accessible Rich Internet Applications) 속성이 적절히 사용되고 있는지 점검합니다.

33.1.1.8. 8주차: 최종 점검 및 심사 요청

전체 체크리스트를 최종 확인하고 심사를 요청합니다.

  • TQS 인증 체크리스트(32장)의 모든 항목을 재확인합니다.
  • 자동화 검증 도구를 전체 실행하고 결과를 수집합니다.
  • 산출물(설정 파일, 테스트 리포트, CI 로그, 보안 스캔 결과)을 정리합니다.
  • 심사 요청서를 작성하고 TQS 위원회에 제출합니다.
  • 제출 전 팀 내부에서 최종 리뷰를 수행하여 누락된 항목이 없는지 확인합니다.

33.1.2. 우선순위 매트릭스

TQS 인증 준비 항목은 긴급성과 난이도에 따라 4개 영역으로 분류할 수 있습니다. 이 매트릭스를 활용하면 제한된 시간 내에 효율적으로 준비를 진행할 수 있습니다.

33.1.2.1. 빠른 적용 (긴급성 높음 + 난이도 낮음)

즉시 실행할 수 있으며, 인증 통과에 직접적인 영향을 미치는 항목입니다.

항목예상 소요 시간비고
.editorconfig 설정30분프로젝트 루트에 생성
.gitignore 점검 및 보완30분누락 항목 추가
포매터 적용 (Spotless, Prettier)1~2시간플러그인 설정 + 일괄 적용
System.out.println 제거1~2시간로깅 프레임워크로 교체
환경 변수 파일 분리1시간하드코딩된 설정값 분리

33.1.2.2. 계획 적용 (긴급성 높음 + 난이도 높음)

인증 통과에 필수적이지만, 충분한 시간과 계획이 필요한 항목입니다.

항목예상 소요 기간비고
테스트 커버리지 달성 (80%/70%)1~2주핵심 로직 우선 작성
CI/CD 파이프라인 구성3~5일CircleCI 설정
보안 취약점 해소3~5일OWASP 스캔 후 조치
Vue Options API → Composition API 전환1~2주컴포넌트 규모에 따라 상이

33.1.2.3. 점진 적용 (긴급성 낮음 + 난이도 낮음)

인증 통과에 필수는 아니지만, 우수 등급 이상을 목표로 하는 경우 적용해야 하는 항목입니다.

항목예상 소요 시간비고
코드 문서화 (JSDoc, JavaDoc)2~3일공개 API 우선
린트 규칙 세분화1~2일프로젝트 특화 규칙 추가
에러 메시지 표준화1일표준 응답 형식 적용
로깅 레벨 정리1일DEBUG/INFO/WARN/ERROR 기준 정립

33.1.2.4. 장기 과제 (긴급성 낮음 + 난이도 높음)

인증 취득 이후 장기적으로 개선해 나갈 항목입니다.

항목예상 소요 기간비고
전체 아키텍처 리팩토링수 주~수 개월구조적 개선
레거시 코드 전면 재작성수 주~수 개월단계적 접근 필요
통합 테스트 자동화2~4주E2E 테스트 포함
성능 최적화 고도화2~4주프로파일링 기반 개선

33.1.3. 단축 준비 가이드

이미 일부 TQS 표준을 적용 중인 프로젝트를 위한 4주 단축 준비 계획입니다. 이 가이드는 Gap 진단 결과 미충족 항목이 전체의 20% 이하인 프로젝트에 적용할 수 있습니다.

33.1.3.1. 4주 단축 계획

주차핵심 활동비고
1주차Gap 진단 + 빠른 적용 항목 일괄 처리포매터, 설정 파일, .gitignore 등
2주차테스트 커버리지 보완 + CI/CD 점검미달 영역 집중 보완
3주차보안 점검 + 프론트엔드 품질 검증OWASP 스캔, Lighthouse 실행
4주차최종 점검 + 심사 요청전체 체크리스트 재확인

33.1.3.2. 단축 준비 자격 조건

단축 준비 계획을 적용하려면 다음 조건을 충족해야 합니다.

  • 포매터(Spotless, ESLint, Prettier)가 이미 프로젝트에 설정되어 있어야 합니다.
  • CI/CD 파이프라인이 기본적으로 구동되고 있어야 합니다.
  • 테스트 커버리지가 라인 60% 이상이어야 합니다. (목표 80%까지 보완 가능한 수준)
  • 보안 관련 중대 결함(시크릿 하드코딩, CVSS 9.0 이상 취약점)이 없어야 합니다.

33.1.3.3. 단축 준비 시 주의사항

단축 준비 계획은 시간을 절약할 수 있지만, 다음 사항에 주의해야 합니다.

  • Gap 진단 단계를 생략하거나 축소해서는 안 됩니다. 미충족 항목의 정확한 파악이 단축 준비의 전제 조건입니다.
  • 테스트 커버리지 보완 시 단순히 수치를 올리기 위한 의미 없는 테스트 작성은 지양해야 합니다. TQS 기술 심사에서 테스트 품질도 함께 검증합니다.
  • 보안 점검은 단축 대상이 아닙니다. 보안 항목은 반드시 전체를 점검해야 합니다.
  • 예상보다 미충족 항목이 많은 경우, 즉시 8주 표준 계획으로 전환하는 것을 권장합니다.

TIENIPIA QUALIFIED STANDARD