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

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

서버 환경의 설정 종류

  • 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

Leave a Reply

Your email address will not be published. Required fields are marked *

 characters available