본문 바로가기
프로그램 개발(분석, 설계, 코딩, 배포)/100. 기타

테스트 단계

by 3604 2026. 3. 31.
728x90

 

Gemini의 응답

소프트웨어 개발 시스템 구축 프로젝트에서 테스트 환경은 보통 4단계 ~ 5단계 구성하는 것이 표준입니다. 특히 공공기관이나 금융권처럼 안정성과 보안이 중요한 대규모 프로젝트(국정자원 입주 대상 시스템 )에서는 단계를 엄격히 분리하여 운영합니다.

일반적인 단계별 구성과 목적은 다음과 같습니다.


1. 개발 환경 (Development/Sandbox, DEV)

·        목적: 개발자가 코드를 작성하고 단위 테스트(Unit Test) 수행하는 곳입니다.

·        특징: 자유로운 수정과 배포가 가능하며, 최신 기술(: Ollama, DeepSeek ) 로컬이나 컨테이너 기반으로 가장 먼저 올리는 장소입니다. 데이터는 가상의 샘플 데이터를 사용합니다.

2. 통합 테스트 환경 (System Integration Test, SIT)

·        목적: 개별 모듈들을 합쳐서 전체 시스템이 설계대로 유기적으로 돌아가는지 확인합니다.

·        특징: 인터페이스(API), 데이터베이스(DB) 연동, 네트워크 통신 등을 중점적으로 체크합니다. 국정자원 환경이라면 다른 공공 서비스와의 연동 규격이 맞는지 여기서 확인합니다.

3. 검증 환경 (Quality Assurance/Staging, QA/STG)

·        목적: 실제 운영 환경과 가장 유사한(Mirroring) 조건에서 기능 비기능 테스트를 수행합니다.

·        특징: * 사용자 수용 테스트(UAT): 실제 공무원이나 사용자가 접속하여 요구사항대로 만들어졌는지 최종 컨펌을 합니다.

·        성능/부하 테스트: GPU 버스팅이 정상 작동하는지, 많은 사용자가 몰려도 서버가 터지지 않는지 검증합니다.

·        보안 취약점 점검: 보안 가이드라인 준수 여부를 최종 확인하는 단계입니다.

4. 운영 환경 (Production, PROD)

·        목적: 실제 대국민 서비스나 행정 업무가 이루어지는 실서비스 환경입니다.

·        특징: 무결성과 가용성이 최우선이며, 장애 발생 즉각적인 복구가 필요합니다. 국정자원의 경우 보안 등급에 따라 분리가 엄격히 적용된 환경입니다.


[참고] 특수 목적의 추가 환경

프로젝트의 규모나 특성에 따라 아래 환경을 추가하기도 합니다.

·        준비 환경 (Pre-Production): 운영 환경으로 넘어가기 직전, 최종 배포 스크립트나 마이그레이션 절차를 점검하는 '리허설' 단계입니다.

·        교육 환경 (Training): 사용자들이 시스템 사용법을 익히기 위해 별도로 마련된 독립적인 환경입니다.

환경 구성 요약표

단계 주요 수행 주체 데이터 성격 주요 체크포인트
개발(DEV) 개발자 가짜/샘플 데이터 로직 오류, 단위 기능 구현
통합(SIT) 개발팀/SE 테스트 데이터 시스템 연동, DB 정합성
검증(QA) 현업 사용자/QA 비식별 운영 데이터 요구사항 일치, 성능, 보안
운영(PROD) 실제 사용자 실제 운영 데이터 24/7 무중단, 보안 사고 제로
size=2 width="100%" align=center data-path-to-node=17 style='border-image: initial'>

실무적인 조언: 현재 추진 중인 프로젝트가 GPU 기반의 AI 시스템이라면, 특히 **검증 환경(QA)**에서의 테스트가 매우 중요합니다. 모델의 추론 속도가 운영 장비(L4, A100 ) 동일한 조건에서 나오는지, vGPU 할당 정책이 멀티 테넌트 환경에서 충돌을 일으키지 않는지를 단계에서 반드시 확정 지어야 운영 시의 리스크를 줄일 있습니다.

 

728x90