TEST 단계 - 개발 및 배포 단계별 테스트

1 minute read

뭐라고 해야할까 고민이 있었는데
테스트 전략 보다는 단계가 맞는 것 같다

서버 환경의 설정 종류

  • workstation - 개발머신에서의 구동환경
    • 로깅레벨 DEBUG, TRACE
  • server
    • 로깅레벨 INFO, WARN
    • 모니터링ON

git branch

  • devel
  • master

Phase

재구동시간 30분

  • dev - 자동으로 계속 배포되는 환경. 개발툴에서 빌드시 배포되는 툴도 많이 있고서도 배포가 가능해야한다고 보는데
    workstation, server
    근무시간 on
  • sit - 인티그레이션 테스트, 소스셋이 완성되면 자동으로 배포 및 연동테스트
    테스트시에 구축 후 구동 temporal
    workstation, server
  • uat - user acceptance testing 기획 및 프로덕트 관계자 사용성 테스트
    근무시간 on??
    server
  • stg - production 데이터를 복제해서 테스트, 이게 완벽하게 가능하려면 IaC 필수
    server
  • prd - 완전 개발환경
    server

source set

  • check - 수동 기능체크, 항목이 다 존재하는지 체크해야하는 부분.. 의존성, 설정파일 등
  • manual - 메인소스코드, 외부 API등은 유닛테스트에 포함시킬 수 없으니
  • unit test - mock, gradle unit-test, git commit, git merge devel CI
  • integration test - gradle integration-test, scenario test, testcontainer 이용, git merge devel CI
    이 단계는 develop

소스이외 관리코드

  • scenario test - testcontainer, git merge, helm 활용
  • load test - http dsl 활용, 시나리오와 유사
  • healthcheck - ping pong, curl, log
  • seed
    • init - DB schema,
    • dev - faker data
    • replica - prd -> stg 민감정보 제거

single module project

tree

multi module project

tree

Tags:

Categories:

Updated: