뭐라고 해야할까 고민이 있었는데
테스트 전략 보다는 단계가 맞는 것 같다
서버 환경의 설정 종류
- 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