메인 콘텐츠로 건너뛰기

품질 보증 프로세스: 안전한 모바일 릴리스

품질 보증 프로세스를 구축하여 문제를 일찍 발견하고, 수정을 빠르게 배포하고, 사고에서 회복할 수 있도록 앱 스토어 지연 없이.

품질 보증 프로세스: 안전한 모바일 릴리스

CI/CD가 녹색으로 통과되더라도 앱이 깨진 채 배포될 수 있습니다. 빌드가 통과되고 QA가 승인하고 릴리스가 나가고, 첫 번째 실제 사용자가 권한 프롬프트가 반환되지 않는 것,陈舊한 자바스크립트 번들, 또는 하나의 안드로이드 스킨에서만 나타나는 충돌을 만나게 됩니다. 그 부분이 품질 보증 프로세스 지침들이 생략하는 부분이고, 모바일 팀들은 일반적으로 어려운 방법으로 배운다는 것입니다.

실용적인 품질 보증 과정 품질 보증 과정은 완전한 루프이며, 단순히 결함을 로그하는 단계가 끝나는 체크리스트가 아니다. 요구 사항과 테스트 설계로 시작하지만, 발견된 결과가 릴리즈 결정, 모니터링, 롤백, 다음 테스트 라운드에 반영될 때만 유용해진다. CapacitorJS 또는 Electron 앱을 배포하는 경우, 하나의 잘못된 웹 번들로 인해 모든 사용자가 동시에 영향을 받을 수 있으며, 네이티브 리뷰는 영구적인 수정을 늦추기 때문이다.

목차

현대 품질 보증 과정은 실제로 무엇을 포함하는지

현대 품질 보증 품질 보증 과정은 명확한 제어점을 갖춘 닫힌 루프입니다. 실제 순서는 요구 사항 분석, 테스트 계획, 테스트 설계 및 케이스 개발, 환경 설정, 실행, 결함 추적, 재 테스트 및 회귀, 릴리스 검증 및 테스트 종료가장 중요한 제어는 여전히 지루한 것들입니다. 요구 사항에서 테스트로의 추적 가능성 및 공식적인 결함 분류 및 확인 루프, 왜修정은 종결되기 전에 검증이 이루어질 때까지 카운트되지 않는다는 것을 설명한 TestSigma에서 제공하는 QA 프로세스 가이드 .

4개의 반복적인 단계인 Plan, Test, Release, Learn를 포함하는 지속적인 품질 보증 루프를 나타내는 다이어그램입니다.

릴리즈가 끝나도 루프는 멈추지 않습니다

품질 보증은 릴리스 후보가 녹색이 될 때 종료되지 않습니다. 그것은 계속해서 프로덕션 검증, 지원 신호, 라이브 업데이트 복구, 그리고 다음 스프린트의 테스트 설계를 통해 진행됩니다. 많은 팀들이 결함을 티켓으로 대신하여, 요구 사항, 테스트, 또는 배포 경계를 변경해야 하는 증거로 간주하지 않기 때문에 그곳에서 많은 팀들이 실수를 범합니다.

품질 보증을 관리 시스템으로 생각하는 유용한 방법입니다. 품질 보증 프로세스 단계 품질 보증 프로세스 가이드는 많은 프로그램이 고객 피드백 루프와 다중 채널 평가를 놓치고, 그 격차가 앱 팀에도 중요하다는 것을 지적합니다. 릴리스 후 지원이 동일한 불만을 계속해서 보고받는다면, 프로세스는 배운 것이 아니라 측정한 것만이었습니다.

도구를 추가하기 전에 측정할 내용

도구를 구매하기 전에 팀이 빌드를 안전한지 결정하기 위해 사용할 신호에 대한 명확성을 얻으세요. 일반적으로 릴리스 게이트, 각 게이트의 소유자, 그리고 롤백 기준을 정의해야 합니다.

실용적인 시작 세트는 간단합니다.

  • 요구 사항 커버리지사용자에게 보이는 규칙이 최소한 하나의 테스트를 가지고 있는지 여부를 보여줍니다.
  • 결함 심각도 및 소유권팀이 릴리스를 막고誰가 해결하는지 알 수 있도록합니다.
  • 회귀 범위fixes가 인접한 흐름에서 이전 문제를 다시 열지 않도록합니다.
  • 릴리스 후 신호생산 피드백이 다음 테스트 사이클을 변경하는 대신 대시보드에 살아남지 않도록합니다.

인접한 운영 프로세스의 수동 재작업을 줄이기 위해 노력하는 팀에게, 도자 labor 비용 감소 가이드 구조화된 검토와 명확한 전달이 낭비된 노력을 줄일 수 있는 방법의 유용한 예입니다. QA는 loop가 명확할 때, 사람들은 추측을 멈추게됩니다.

현재 프로세스가 실패한 것을만 알려주면, 다음 변경 사항을 알려주지 않으면, 그것은 완전하지 않습니다. 테스트 루틴과 실제 품질 시스템의 차이입니다. 릴리스 관리 관점이 그 마음셋에 맞는 내부 가이드에 대해 릴리스 관리 프로세스 같은 폐쇄 루프 접근 방식과 잘 어울립니다.

목표, 범위, 테스트 가능한 수락 기준 정의

QA가 더 선명해지면 제품 언어가 테스트 가능한 언어로 변환될 때입니다. '체크아웃이 빠르도록 하세요'라는 요구 사항은 깨끗하게 검증할 수 없지만 '제공자가 성공을 반환하고 사용자가 앱을 닫기 전에 결제 확인 화면을 표시하세요'라는 요구 사항은 테스트할 수, 추적할 수, 개발자와 지원 팀 모두에게 유용합니다. 이 추적 가능성은 이전 섹션의 폐쇄 루프 모델의 핵심 제어점 중 하나입니다.

수락 기준을 테스터가 실행할 수 있는 방식으로 작성하세요

CapacitorJS 앱의 경우, 결제 흐름을 고려하세요. 앱이 세 번째 결제 시트를 사용한다면, 수락 기준은 시트가 성공, 실패, 타임아웃, 또는 사용자가 취소할 때 발생하는 것을 모두 포함해야 합니다. 흐름이 카메라 권한, 위치 권한, 또는 푸시 알림 동의에 의존한다면, 각 branch는 iOS와 Android에서 권한 프롬프트가 다르게 동작할 수 있기 때문에 각 branch의_VISIBLE 결과를 포함해야 합니다.

가볍고 가볍한 템플릿이 잘 작동합니다:

  • 주어 사용자는 인증되었습니다.
  • 언제 사용자가 결제 버튼을 탭했습니다.
  • 그러면 앱은 결제 UI를 제공하고 성공 여부를 확인하거나 회복 가능한 오류 상태를 표시합니다.
  • 그리고 이벤트는 릴리스 티켓으로 추적되므로 QA 팀은 실패를 요구 사항으로 연결할 수 있습니다.

포인트는 모든 문장을 공식적으로 만들지 않아야 한다는 것이 아닙니다. 포인트는 특정 기능이 통과했는지 여부를 인간이 판단할 수 있도록 하여 나중에 의도에 대해 논쟁하지 않도록 하는 것입니다. 그 것도 내부 체크리스트가 __CAPGO_KEEP_0__ 앱 업데이트를 검증하는 데 유용해지는데, 업데이트를 검증하는 과정에서 누락된 수락 기준이 드러날 수 있기 때문입니다. validating Capacitor app updates 범위가 정의된 릴리스는 모호한 릴리스보다 더 쉽게 방어할 수 있습니다. 고위험 표면은 더 광범위한 검사를 deserve합니다. 반면, 저위험 복사본 변경 또는 고립된 UI 조정은 작은 의존성 표면이 있는 경우 가벼운 검사를 통해 유지할 수 있습니다. 실제로, 인증, 결제, 권한, 오프라인 동작 또는 네이티브 브리지를 조정하는 모든 항목을 더 깊은 검토에 표시해야 합니다.

실용적인 규칙:

기능이 코어 사용을 차단하는 방식으로 실패할 수 있다면, 명시적인 수락 기준과 최소한의 단위 검증 경로가 필요합니다.

단위 또는 통합 테스트로 잘못된 방식으로 실행할 수 없는 기능은 무시하지 마십시오. 그 기능은 또 다른 층이 필요하며, 일반적으로 수동 통과, 장치별 검사 또는 릴리스 단계 검증 단계가 필요합니다. 특히, Electron 앱은 OS 수준 대화, 파일 접근 또는 브라우저 고유한 특성에 의존하기 때문에 컴포넌트 테스트가 신뢰할 수 있는 방식으로 모델링되지 않습니다. validating __CAPGO_KEEP_0__ app updates

Scope the release by risk, not by optimism

만약 범위가 정확하다면, QA는 마지막 순간의 논쟁으로 느껴지지 않는다. 팀은 증명해야 할 것, 샘플링할 수 있는 것, 그리고 인간의 눈으로 확인해야 하는 것을 모두 알고 있다. 자동화의 경계는 여기서 끝나기 때문이다.

자동화가 주목을 받는 이유는 확장성이 있기 때문이다. 그러나 자동화는 모델링할 수 있는 것만 잡을 수 있다. 반면 수동 테스트는 느리다고 여겨지지만, 시각적 드리프트, 장치별 문제, 또는 사용자가 앱을 사용할 때 발생하는 워크플로의 이상함을 잡는 유일한 방법이다. 균형 잡힌

품질 보증 프로세스는 자동화와 수동 테스트의 적절한 혼합을 필요로 한다. 이 균형은 위험에 따라 결정되어야 하며, 이념에 따라서는 아니다. 품질 보증 프로세스의 균형 각각의 층은 어떤 것이 가장 잘하는지

단위 및 통합 테스트는 결정론적 논리가 있는 경우 가장 강력하다. CapacitorJS 또는 Electron 스택에서, 그 의미는 Jest를 사용하여 비즈니스 논리, 상태 리듀서, 도우미, 컴포넌트 동작, 그리고 __CAPGO_KEEP_0__ 경계, 업데이트 파싱, 및 권한 처리 branch를 위한 통합 테스트를 의미한다. Cypress는 웹层의 브라우저 기반 종단 간 커버리지를 원할 때 잘 맞는다. 반면 Detox-style 흐름은 유지보수 비용을 부담할 수 있는 장치 수준의 모바일 상호 작용이 필요할 때 중요하다.

Unit and integration tests are strongest when the logic is deterministic. In a CapacitorJS or Electron stack, that means Jest for business logic, state reducers, helpers, and component behavior, plus integration tests for API boundaries, update parsing, and permission-handling branches. Cypress fits well when you want browser-driven end-to-end coverage of the web layer, while Detox-style flows matter when you need device-level mobile interaction and you can afford the maintenance cost.

수동 테스트는 상황에 따라 중요합니다. 탐색적 세션은 비정상적인 네비게이션 경로, 다크 모드 불일치, 작은 장치에서 키보드 겹침, 또는 OS 버전 하나에서 너무 일찍 닫히는 모달을 잡을 수 있습니다. 또한 접근성에 중요합니다. 스크린 리더의 순서, 포커스 트랩, CONTRAST 문제는 정적 검사만 믿고 테스트하지 않아도 더 쉽게 발견할 수 있습니다.

자동화 카테고리와 트레이드 오프의 더 넓은 시야를 원한다면 Appjet.ai의 테스트 도구는 자동화된 테스트 개요 은 스택을 표준화하는 팀에게 유용한 비교 지점입니다. 자동화 vs 수동 테스트 시나리오

시나리오

최적의 선택 공유 모듈 내의 순수 비즈니스 논리
자동화 Automated versus Manual Testing by Scenario 빠른 feedback, 안정적인 입력, 쉽게 반복
결제 제공자 callback 처리 자동화 + 수동 논리는 스크립트화 할 수 있지만 사용자 경험은 인간의 검증이 필요하다
iOS 및 Android에서 권한提示 수동 우선 OS 동작 및 장치 상태가 흐름을 변경할 수 있다
설정 화면의 시각적 회귀 수동 + 시각 도구 레이아웃 버그는 실제 통과 시 더 쉽게 발견할 수 있다
오프라인 동기화 및 재연결 동작 자동화 + 장치 테스트 시간, 재시도 및 상태 복구가 반복 가능한 보증이 필요합니다.
새 기능 플래그에 대한 베타 피드백 수동 실제 세계의 동작은 테스트가 놓친 부분을 드러내는 경우가 많습니다.

외부 베타 테스터의 도움

내부 팀이 너무 많은 공유된 컨텍스트를 가지고 있다면 외부 베타 테스터가 유용합니다. 그들은 여러분의 가정에 따라서 reproduce하지 않습니다. 그게 목적입니다. 그들은 특히 온보딩, 첫 번째 실행 권한, 또는 익숙하지 않은 사용자 동작에 의존하는 흐름에 영향을 미치는 릴리스 후보에 특히 효과적입니다.

두 가지 측면에 과도하게 집중하는 함정은 있습니다. 자동화만으로 구성된 테스트 계획은 인간의 민감성을 놓치고, 수동으로만 구성된 테스트 계획은 비용이 많이 들고 불일치하고, 마감일이 촉박해지면 쉽게 생략할 수 있습니다. 올바른 답은 일반적으로 안정적인 자동화 기반에 의한 인간의 보장을 의도적으로 표면에 적용하는 것입니다.

CI/CD pipeline에 QA를 통합하는 방법

CI/CD는 품질을 강제해야 합니다. 단순히 아티팩트를 이동하는 것이 아닙니다. pipeline은 각 단계가 단일 작업을 수행할 때 가장 잘 작동합니다. 혼합된 관심사로 인해 실패를 이해하고 수정하는 것이 더 어려워지고 느려집니다. 좋은 품질 보증 프로세스는 나쁜 __CAPGO_KEEP_0__를 막는 곳에 체크를 두고, 나중에 릴리스까지 이동하는 동안 동일한 아티팩트를 보존합니다. CI/CD pipeline의 5 단계를 보여주는 다이어그램, __CAPGO_KEEP_0__ 커밋부터 배포까지 품질 보증이 통합된 상태입니다. code

A diagram illustrating a five-step CI/CD pipeline with integrated quality assurance, from code commit to deployment.

빠른 검사부터 시작하세요

커밋마다 빠르고 결정적인 검사를 실행하세요. lint, 타입 검사, 단위 테스트 및 집중된 통합 테스트는 네이티브 바이너리 빌드를 시작하기 전에 실패해야 합니다. 이렇게 하면 노이즈가 낮아지고 다음 단계인 빌드가 컴퓨팅 비용을 가치 있게 만듭니다.

code의 네이티브 변경이 발생했을 때, 게이트드 빌드는 서명된 iOS 및 Android 바이너리를 생성해야 합니다. 웹层의 변경만 있는 Capacitor 앱의 경우, pipeline은 웹 번들을 빌드하고 검증하고 안전하게 승격할 수 있도록 패키징해야 합니다. 중요한 것은 아티팩트의 고유성입니다. 테스트를 통과한 번들이 스테이징 또는 프로덕션에 도달해야 합니다.

아티팩트를 승격하세요, 환경만 승격하는 것은 팀이 드리프트를 만들 수 있습니다. 내부 QA에서 스테이징으로, 스테이징에서 프로덕션으로 동일한 번들이 이동할 수 있도록 하세요. 그렇지 않으면 테스트한 것이 배포하는 것이 다를 수 있습니다. Electron 앱에도 마찬가지로, 패키징 및 서명은 릴리스 게이트에 포함되어야 하며, 후속 작업이 아닙니다.

실용적인 규칙:

커밋에서 서명된 아티팩트로, 배포된 버전까지 추적할 수 없는 빌드는, QA가 필요한 증명 chain이 누락된 pipeline입니다. __CAPGO_KEEP_0__ 팀의 경우, 라이브 업데이트 도구는 검증과 롤아웃 간의 격차를 줄일 수 있습니다. 테스트된 웹 번들이 스테이징으로 이동할 수 있으며, 네이티브 셸이 변경되지 않은 경우 iteration은 훨씬 더 빠릅니다.

For Capacitor teams, live-update tooling can reduce the gap between verification and rollout. A tested web bundle can go to staging without rebuilding native binaries, which makes iteration far faster when the native shell hasn’t changed. The 연속 통합 설정 이 안내서가 여기서 관련이 있는 이유는 CI가 자동으로 올바른 채널에 검증된 패키지를 배포할 수 있어야 하기 때문입니다.

간단히 말하면 CI CD는 '빌드가 성공했는가?'라고 묻지 말아야 합니다. '이 정확한 아티팩트가 올바른 환경에서 올바른 게이트 앞에 있는 올바른 체크를 통과했는가?'라고 묻아야 합니다.

late-stage 통합 확인 추가

외부 시스템이 관여하는 경우에만 나타나는 일부 실패가 있습니다. 특히 인증 제공자, 결제 게이트웨이, 푸시 토큰, SMS 인증 흐름과 같은 경우입니다. 플랫폼 워크플로우 내에서 통합 테스트 커버리지에 대한 더 광범위한 참고 자료가 필요하다면 SMS Activate 통합 테스트 안내서 외부 의존성에 대한 명시적인 검증이 필요함을 기억하는 데 도움이 됩니다.

pipeline이 이와 같은 방식으로 구축되면 QA가 별도의 절차가 아닌 배달 자체의 일부가 됩니다.

Staging, Canary, Phased Rollout Without Guesswork

Staging, Canary, phased rollout은 서로 교체할 수 없습니다. 서로 다른 문제를 해결하고 팀이 하나를 다른 것처럼 사용할 때 문제가 발생합니다. 건강한 품질 보증 과정 그것들을 별개의 배포 전략으로 다루고 별개의 폭파 반경과 별개의 결정 지점으로 다룹니다.

다양한 소프트웨어 릴리스 전략을 비교하는 차트를 제공합니다. 이에는 스테이징, 캐니리, 및 phased 롤아웃이 포함됩니다.

릴리스 단계의 각 목적

스테이징 제품 출시 이전의 마지막 풀-피들리 체크포인트입니다. 스테이징은 가능한 한 제품 출시와 유사해야 하며, 팀은 빌드, 데이터 흐름, 및 릴리스 패키징을 현실적인 조건하에서 검증할 수 있어야 합니다.

캐니리 작은 실제 사용자 조각에서 학습하는 데 사용됩니다. 캐니리는 스테이징이 자주 놓치는 장치별 및 네트워크별 문제를 노출합니다. 왜냐하면 현실 세계는 미리 준비된 환경보다 더 복잡하기 때문입니다.

스테이지드 롤아웃 첫 번째 신호가 건강해보인 후 점진적으로 노출을 확대합니다. 이는 사용자 베이스 전체에 단일 릴리스 결정에 베팅하지 않고도 폭파 반경을 확대하는 가장 안전한 방법입니다.

Capgo-style 채널이 롤아웃 전략과 어떻게 매핑되는지

라이브 업데이트 도구에 대한 채널 디자인은 중요합니다. 하나의 채널은 내부 QA를 위해 사용할 수 있고, 다른 채널은 베타 그룹을 위해 사용할 수 있으며, 세 번째 채널은 첫 번째 제품 출시 wave를 위해 사용할 수 있으며, 네 번째 채널은 오로지緊急 롤백을 위해 사용할 수 있습니다. 이러한 분리로 인해 엔지니어링 및 지원 팀은 새로운 스토어 제출을 기다리지 않고도 위험을 분리할 수 있습니다.

이것은 또한 목표 장치 할당이 도움이 되는 곳입니다. 특정 사용자 또는 장치에 대한 디버깅이 필요하다면, 채널을 단일 경우에만 설정할 수 있습니다. 이로써 나머지 기본 버전은 알려진 좋은 버전으로 유지됩니다. Capgo은 Capacitor 앱에 대한 목표된 품질 보증 흐름을 지원합니다. 이는 버그가 복제하기 어려울 때 관찰할 장치가 하나만 있어도 다른 모든 사용자의 릴리스 상태를 변경하지 않도록 유용합니다.

진급 기준이 명확해야 합니다.

빌드는 증거가 그것이 가능하다고 말할 때만 진행되어야 합니다. 일반적으로 이는 이전 단계가 정의된 검사에 통과했으며, 새로운 충돌 패턴이 나타나지 않았으며, 동일한 불만이 지원 큐에 채워지지 않는다는 것을 의미합니다. 신호가 불분명하다면 빌드를 그대로 유지해야 합니다.

단순한 승격 규칙이 있습니다:

  • 내부 QA에서 스테이징, 정확한 아티팩트가 스모크 체크와 중요 사용자 흐름을 통과한 후에만.
  • 스테이징에서 캐나리, 전체 신뢰도 환경이 예상 동작과 일치하는 경우에만.
  • 캐나리에서 phased 롤아웃, 초기 사용자가 안정적인 동작을 보여주고 지원 팀이 릴리스를 단순한 용어로 설명할 수 있을 때까지.
  • phased 롤아웃에서 전체 생산, 생산 관찰성이 오랫동안 깨끗한 상태로 유지될 때까지.

guesswork를 제거하는 부분입니다. 프로모션은 증거에 기반한 결정이 되고, 진행의 축하가 아니라 됩니다.

사용자가 문제를 신고하기 전에 문제를 잡아내는 관찰성 및 지표

릴리즈가 출시된 후 QA는 사라지지 않습니다. 형태만 바뀝니다. 프로덕션 관찰성은 릴리즈가 테스트에서 말한 대로 작동했는지, 사용자가 실패를 경험하는지, 실험 환경에서 본 적 없는 실패를 경험하는지 알려주는 quality assurance process의 부분입니다. 모바일 및 크로스 플랫폼 앱의 경우, 장치별 신호, 업데이트 상태, 오류 패턴을 함께 살펴보는 것입니다. quality assurance process 사용자 고통을 반영하는 신호를 관찰하십시오

실제로 발생하는 오류와 관련된 지표가 가장 유용합니다. 무사고 세션, 자바스크립트 오류율, 네트워크 실패율, 업데이트 수락률, 업데이트 실패율 등 각기 다른 부분의 이야기를 전달합니다. 앱이 하나의 신호를 놓치면, 지원팀이 엔지니어보다 문제를 먼저 듣게 됩니다.

__CAPGO_KEEP_0__ 또는 Electron 앱의 경우, 장치별 로그가 중요합니다. 동일한 릴리즈가 OS 버전, 형태, 업데이트 상태에 따라 다르게 작동할 수 있기 때문입니다. 라이브 업데이트 플랫폼은 장치별로 수락률과 실패률 데이터를 노출할 수 있습니다. 엔지니어는 롤백이 필요한지, 문제가 작은 부분에만 국한되어 있는지 확인할 수 있습니다.

For a Capacitor or Electron app, per-device logs matter because the same release can behave differently across OS versions, form factors, or update states. A live-update platform can expose adoption and failure data by device, which gives engineering a way to see whether a rollback is needed or whether the issue is isolated to a small slice.

Turn dashboards into action, not decoration

대시보드가 실패할 때는 nobody가 응답을 소유하지 않습니다. 각 지표는 소유자, 경보 조건, 표준 다음 단계가 필요합니다. 업데이트 실패가 급증하면 누군가는 채널을 일시 중단, 패키지를 롤백, 또는 새로운 핫픽스를 배포해야 합니다.

실용적인 설정은 다음과 같습니다:

  • 에러 및 충돌 모니터링앱 불안정성을 빠르게 감지하기 위해.
  • 업데이트 수용 추적사용자가 수정된 패키지를 받는지 여부를 확인하기 위해.
  • 실패율 경보지원 백로그가 증가하기 전에 나쁜 패키지를 잡기 위해.
  • 장치 수준 드릴다운팀이 광범위한 실패와 플랫폼 특이적 노이즈를 분리할 수 있도록.

대시보드는 결정을 변경할 때만 유용합니다. 그렇지 않으면 그것은 더 많은 탭이 있는 스크린샷입니다.

피드 생산은 다음 릴리스에 신호를 되돌려줍니다.

최고의 QA 팀은 배포 후 데이터를 새로운 테스트로 변환합니다. 특정 장치 클래스가 업데이트를 적용하지 못한 경우, 해당 경로에 대한 유효성 검사 사례를 추가합니다. 네트워크 재시도가 하나의 플랫폼에서 나쁜 성능을 보인 경우, 다음 테스트 계획에 해당 실패 모드를 포함합니다. 그게 관찰 가능성이 품질의 입력이 아닌 오페레이션 사이드바가 아닌 품질의 입력이 되도록 만드는 방법입니다.

Capgo의 장치별 로그와 채널 가드레일은 출시 후 릴리스 프로세스가 설명 가능해야 하는 팀이 릴리스 프로세스를 유지할 수 있도록 적합합니다.

사고 복구, 롤백 및 올바른 교훈을 얻는 것

품질 보증 프로세스가 실제인지 증명하는 것은 배포가 잘못된 순간입니다. 팀이 강력한 계획, 합리적인 테스트 커버리지, 그리고 깨끗한 pipeline를 가지고 있지만, 빠르게 복구할 수 없거나 교훈을 얻을 수 없다면, 모든 가치가 사라집니다. 그 때문에 사고 복구는 QA에 속해야 하며, 그 옆에 속해야 하는 것은 아닙니다.

https://capgo.app에서 가져온 스크린샷

사고를 처리한 후, 설명을 하세요

배포가 잘못된 경우, 첫 번째 작업은 범위 확인입니다. 장치의 subset이 특정 장치에 국한되어 있는지, 하나의 버전과 관련되어 있는지, 또는 전체 사용자에게 영향을 미치는지 확인합니다. 그게 명확해지면, 팀은 롤백, 채널 일시정지, 또는 수술적 핫픽스를 선택할 수 있습니다.

라이브 업데이트 플랫폼에서 자바스크립트 또는 CSS 변경 사항은 앱 스토어 또는 플레이 리뷰를 기다리지 않고 몇 분 내에 롤백할 수 있습니다. 이것은 중요합니다. 왜냐하면 팀이 확산을 멈출 수 있는 속도는 종종 나쁜 경험과 제한된 사고 사이의 차이입니다. 사고 대응 가이드 사고 후 리뷰를 작성하여 행동을 바꾸세요

사고 후 문서에는 단순히 원인만 기록하는 것이 아니라 관찰한 내용, 사용 가능한 신호, 첫 번째 잘못된 가정, 문제를 일찍 발견할 수 있었던 내용을 기록해야 합니다. 만약 동일한 유형의 결함이 다시 발생할 수 있다면, 문서는 변경된 수락 기준, 새로운 테스트 케이스, 또는 CI 게이트를 생성해야 합니다.

리뷰 출력으로 유용한 항목은 다음과 같습니다:

수정된 수락 기준

  • 원래 요구 사항이 너무 추상적이었다면.새로운 회귀 테스트
  • 실패가 기술적으로 예방할 수 있었다면.배포 경계 장치
  • 문제가 더 오래 스테이징에서 남아 있어야 했다면., if the issue should have stayed in staging longer.
  • A 지원 메모입니다.만약 고객 대면 팀이 다음 번에 더 나은 스크립트가 필요하다면.

실용적인 규칙: 포스트 모템이 게이트, 테스트, 또는 롤아웃 규칙을 변경하지 않는다면, 그것은 그냥 문서일 가능성이 높습니다.

그런 학습 루프가 성숙한 QA와 릴리즈 극장의 차이를 만드는 것입니다. 릴리즈가 실패했고, 팀이 그것을 제어했고, 프로세스가 약한 곳에서 더 엄격해졌습니다.


Capgo은 팀이 그 루프를 짧게 만들 수 있도록 실시간 업데이트를 배포하고 채널을 대상으로하고 릴리즈 소유자가 장치 수준에서 오류가 발생했을 때 시각화를 제공합니다. CapacitorJS 또는 Electron 앱을 위한 더 안전한 품질 보증 프로세스를 구축하려면 Capgo을 방문하고 CapacitorJS 또는 Electron 앱을 위한 품질 보증 프로세스를 구축하세요. __CAPGO_KEEP_0__ Capgo 작성자

실시간 업데이트를 Capacitor 앱에 적용하세요

웹层 버그가 활성화되면 Capgo을 통해 패치를 배포하세요. 앱 스토어 승인 대기 없이 사용자가 업데이트를 받을 수 있습니다. 네이티브 변경 사항은 일반적인 검토 경로를 따릅니다.

인간 지원 - 마틴

시작하세요

최신 뉴스

Capgo은 전문적인 모바일 앱을 만들기 위해 필요한 최고의洞察력을 제공합니다.