목록으로
'언젠가 읽기' 컨텐츠는 논문이나 영문 컨텐츠 등 언젠가 읽으려고 즐겨찾기 하고선 읽지 않고 계속 미룰만한 컨텐츠를 읽고 요약하거나 소개합니다.

소프트웨어 개발에서 환경이란 무엇인가?

언젠가 읽기
2025. 2. 10. PM 5:00:35

소프트웨어 개발 맥락에서의 환경이란 무엇인가?

소프트웨어를 생성하고 배포하는 과정에서 환경(Environment) 은 특정 제약 하에 프로그램을 실행하기 위해 사용되는 인프라 자원의 하위 집합을 의미합니다. 개발의 다양한 단계에서는 개발팀(Development) 운영팀(Operations) 의 요구사항을 충족시키기 위해 서로 다른 환경을 사용합니다. 각 환경은 개발자들이 그 환경의 특정 자원과 제약 조건 하에서 코드를 테스트할 수 있도록 합니다.
조직마다 환경의 이름과 수는 다를 수 있지만, 이 글에서는 다음의 다섯 가지 환경을 다룹니다:
  1. 로컬 개발 환경(Local Development Environment)
  2. 통합 환경(Integration Environment)
  3. 테스트/품질 보증(QA) 환경(Testing/QA Environment)
  4. 스테이징 환경(Staging Environment)
  5. 프로덕션 환경(Production Environment)

로컬 개발 환경(Local Development Environment)

로컬 개발 환경은 프로그래머가 애플리케이션의 기능을 초기적으로 구축하는 장소로, 보통 각자의 컴퓨터에서 프로젝트의 고유한 버전을 사용하여 작업합니다. 이 환경에서는 프로그래머가 다른 개발자들의 작업에 영향을 주지 않고 자신의 기능을 개발할 수 있으며, 단위 테스트(Unit Test)와 모의 외부 서비스를 사용한 통합 테스트(Integration Test)를 수행할 수 있습니다. 엔드 투 엔드 테스트는 이 환경에서는 덜 일반적입니다.
예를 들어, 이메일 클라이언트 앱의 경우 로컬 개발 환경에서 개발자들은 클라이언트의 모든 기능과 기능성을 프로그래밍하게 됩니다. 각 개발자는 개별적으로 할당되어 자신의 기능을 독립적으로 개발하고 테스트할 수 있습니다.

함께 읽으면 좋은 참고 자료

  • 소프트웨어 개발 환경 관리
  • DevOps의 이해
  • 지속적 통합과 배포 전략