CS공부/IT기본지식

테스트 & 배포 & 안정화 관련 필수 지식

개발자 정지은 2023. 12. 13. 11:58

# 테스트 과정

1. 환경 준비 : 테스트 서버 준비, 테스트 앱 배포 준비

2. 단위/통합 테스트 : 단위 테스트(개발 기능). 통합 테스트(전체 프로세스)

3. 시스템 테스트 : 성능 테스트, 스트레스 테스트, 보안 테스트

4. 오픈 준비 : 오류 수정, 전환 계획 준비

 

# 물리적 테스트 환경 준비

테스트를 할 수 있는 서버가 필요함

- 개발 서버 : 개발을 위해 배포 및 테스트 진행하는 용도

- 테스트 서버 : 테스트를 위한 전용 서버

- 운영 서버 : 최종 운영을 위한 서버

- 스테이징 서버 : 운영 서버에 최종 배포 전 점검용 서버

- 기타 테스트용 HW, SW 시스템 구매 : 개발 현장 상황에 따라서 개발 서버와 테스트 서버를 병행

개발 - 테스트 - 운영 서버 간의 환경은 동일해야 함 (WAS 종류, 개발 언어 설치 버전, 기타 설치 파일 버전 등)

 

# 단위 테스트

단순한 기능의 테스트

1. 단위 테스트 시나리오 작성

2. 단위 테스트 수행

3. 만들어진 해당 부분의 기능 중심의 테스트

4. 오류 확인 및 수정

 

# 통합 테스트

전체 프로세스 테스트

- 연결성 : 기능 간 연결이 잘 되는지

- 정합성 : 정보가 맞는 정보인지

- 통합성 : 통합된 논리에 맞는지

1. 통합 테스트 시나리오 작성

2. 통합 테스트 수행

3. 전체 시스템의 프로세스 동작 및 결과물 확인 테스트

4. 오류 확인 및 수정

 

# 시스템 테스트

실제 업무 환경에 따라 간단한 수작업 진단부터 APM 및 고객사 보유 테스트 툴을 이용하는 등 다양하게 진행

- 성능 : 시스템의 성능을 테스트

응답시간, 처리량 등

수기 테스트, 도구 측정

- 부하 & 스트레스 : 시스템에 과부하가 걸렸을 때 정상 작동 여부 테스트

기준 정의, 부하환경 구축, 테스트 측정 도구

- 보안 : 소프트웨어의 보안적인 측면 테스트

물리적, 논리적 보안

 

APM이란?

Application Performance Management

시스템 테스트를 위한 별도 관리 도구

운영 시 안정화 모니터링 까지

 

# 배포

서버 배포

-운영 서버에 실제 프로그램 최종 결과물을 설치하는 것

- 즉시 서비스 운영 가능

- 네트워크 상의 문제가 없도록 사전 체크 필요

앱 배포

- 안드로이드 & ios 앱스토어에 앱을 등록하고, 등록된 앱을 오픈하는 것

- 앱스토어 등록 심사/승인은 사전에 받아야 

 

# 오픈 및 안정화

- 오픈

시스템을 고객이 사용할 수 있도록 만드는 것

- 안정화

서비스 오픈 이후 발생하는 다양한 문제에 대해서 대응

오류 수정, 성능 보완, 기능 개선

- 검수

고객사의 시스템 구축 시, 시스템 구축 완료를 확인 받는 것

- 유지보수

시스템 구축 완료 이후 사후 관리

다양한 계약 방식 존재

ex1 ) 구축비 15%, 안전한 운영

ex2 ) 인력 계약, 운영 + 추가 개발