데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      QE의 시작, 신속한 배포를 위한 Shift-Left Testing 방법론

      SSunny 25.04.01
      3,445 7 1
      DEVOTEE 요약
      Quality Engineering(QE)은 소프트웨어 개발 초기 단계에서부터 결함을 예방하고 품질을 향상시키며, Shift-Left Testing을 통해 테스트 시점을 앞당겨 비용과 시간을 절약하며 품질 강화를 목표로 합니다. 이는 개발자, QA 엔지니어, 운영팀 간의 협력을 통해 지속적인 피드백과 자동화 테스트를 통해 신속한 대응과 개선을 이루며, 빠른 배포와 고객 만족도를 높입니다. QE는 빠르게 변화하는 시장 환경에 민첩하게 대응하기 위한 필수 전략으로 자리 잡고 있습니다.
      DEVOTEE 추천 블로그

      소프트웨어 개발이 점점 빠르고 복잡해짐에 따라 품질을 보장하는 방법도 변화가 필요합니다.

      전통적인 품질보증(QA, Quality Assurance) 활동이 개발 이후 결함을 발견하고 수정하는 것에 중점을 두었다면,

      Quality Engineering(QE)은 결함 예방과 품질 향상을 개발의 초기 단계부터 내재화하는 접근법입니다.

      기존 개발 프로세스

      기존의 전통적인 개발 프로세스(SDLC)는 보통 다음과 같은 선형적이고 단계적인 접근 방식을 따릅니다.


      • 각 단계가 독립적으로 진행되며 순차적으로 이어짐

      • 테스트가 개발 완료 후에 이루어짐

      • 결함 발견 시 수정 비용과 시간이 많이 소모됨

      • 후기 단계에서 문제 발견 시 배포 일정이 지연될 가능성이 큼

      Quality Engineering의 주요 목적

      QE의 목적은 결함을 SDLC 프로세스 앞 단에서 발견하여 신속하게 문제를 발견하고 수정하여 빠른 소프트웨어 배포 주기를 갖는 것입니다.

      이 과정을 통해 시장 대응력을 확보하고 소프트웨어 안정성과 신뢰성을 강화하여 고객 만족도를 높이는 것이 목적입니다.


      QE 접근법은 다음과 같은 특징을 가지고 있습니다.

      • 결함 예방 중심: 문제 발생 후 수정보다는 사전에 결함을 예방하는 것이 핵심입니다.

      • 조기 테스트 수행: 요구사항 정의, 설계 단계에서부터 테스트 활동을 수행합니다.

      • 자동화와 효율성 강조: 지속적 통합(CI) 및 지속적 배포(CD)를 통한 빠른 피드백 루프를 구축합니다.

      Quality Engineering을 위한 핵심 전략, Shift-Left Testing

      Shift-Left Testing은 소프트웨어 개발 주기(SDLC)의 초반 단계부터 적극적으로 테스트를 수행하여 잠재적인 결함을 조기에 발견하고 해결하는 접근 방법입니다.

      간단히 말해, 테스트 시점을 "왼쪽으로" 이동시키는 것이 핵심입니다. 이를 통해 품질 비용을 최소화하고, 전 과정에서 빠르고 지속적인 피드백을 제공합니다.

      Agile Testing (애자일 테스팅) 과 비교해 볼 수 있습니다. 애자일 테스팅은 스프린트 주기 내의 반복적이고 유연한 테스트를 강조하며, 주로 스프린트 끝에서 품질 검증이 이루어집니다.

      따라서 목표는 각 스프린트 종료 시점에 완성도 높은 제품을 제공하는 데 있습니다.

      1. 협력적 문화 구축

        • 요구사항 스펙 및 사용자 스토리 명확화하고 개발자, QA 엔지니어, 운영팀 간 긴밀한 협력과 의사소통을 통해 품질에 대한 책임을 공동으로 가집니다.

        • 기획자와 개발자간의 상세 리뷰를 수행할때 QA 리뷰를 함께 진행하여 초기 요구사항 리뷰를 함께 수행합니다.

        • Sanity Test, Smoke Test 등을 수행함으로써 역할에 따라 품질 보증을 수행합니다.

        • 정기적인 리뷰 및 회고를 통해 지속적인 프로세스 개선을 유도합니다.

      2. 테스트 자동화

        • 클래스나 함수 구조 간단히 유지하고 빌드가 됨과 동시에 자동화된 단위테스트와 통합 테스트 실행합니다.

        • 단위 테스트, 통합 테스트 및 API 테스트를 자동화하여 빌드 시마다 즉각적으로 결함을 탐지합니다.

        • 반복적이고 시간이 많이 소모되는 테스트를 자동화하여 효율성을 높이고 빠르게 피드백을 제공합니다.

      3. 지속적인 개선

        • 테스트 결과를 분석하고 프로세스를 지속적으로 개선하여 품질을 점진적으로 향상 시킵니다.

        • 단위 테스트 케이스 등에 “경계값 테스트, 상태 전이 테스트, 조합 테스트” 등의 테스트 전략 기법을 추가하여 효율적인 검증이 이루어 지도록 합니다.

        • 자동화 테스트 케이스 업데이트 등을 통해 사용가능한 프로세스와 도구를 만듭니다.

      개발 프로세스를 통한 Shift-Left Testing 실행

      에이닷 개발에서는 기획, 개발, 검증, 배포별로 색깔을 달리하여 Shift-Left Testing 수행하는 프로세스를 도식화해 보았습니다.

      리뷰를 통한 지속적 피드백을 수행하고 Sanity Test, Unit Test, Smoke Test 등을 수행함으로써 앞 단에서 품질 관리를 수행을 합니다.

      각 단계의 품질 수행을 완료한 후 다음 단계로 넘어가도록 Quality Gate를 만들어 품질 관리를 수행합니다.

      그림에서 Quality Gate는 붉은 점선으로 표시되었습니다.

      개발자의 Unit Test 결과는 코드 머지의 Quality Gate가 되고 기획자의 Sanity Test 결과는 QA팀의 Quality Gate가 됩니다.

      또한 QA팀의 최종 결과 보고는 스토어 배포 심사의 Quality Gate가 됩니다.


      • 테스트 시점:

      • 피드백 속도:

      • 비용 효율성:

        • 초기 테스트의 결함 발견으로 인해 수정 비용과 시간을 절약할 수 있습니다.

        • 재배포나 핫픽스를 예방할 수 있습니다.

      • 신속한 배포:

        • 자동화 테스트를 통해 빌드와 동시에 테스트가 동작하여 다음 단계로 신속하게 빌드가 전달됩니다.

        • 초기 테스트의 결함 수정과 기획 재검토가 협력적으로 상호 검증됨으로써 일정 지연등의 이슈 예방됩니다.

      결론

      Quality Engineering은 소프트웨어 개발 프로세스 전반에 걸쳐 품질을 내재화하여 조직이 변화하는 시장 환경에 더욱 민첩하고 효율적으로 대응할 수 있도록 지원합니다.

      빠르게 변화하는 소프트웨어 개발 환경에서 QE는 품질 향상과 경쟁력 강화를 위한 필수적인 전략으로 자리 잡고 있습니다.

      이를 현업에 적용하기 위한 Shift-Left Testing은 기존의 SDLC에 리뷰와 초기 테스트를 추가하는 형태로 시작할 수 있습니다.

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      SSunny 님의 최신 블로그

      더보기

      DEVOTEE 추천 블로그

      동영상 기고하기