병렬 테스트란 무엇인가? 방법, 접근 방식 및 예시

⚡ 스마트 요약

병렬 테스트는 기존 시스템과 새로 개발된 시스템을 동일한 입력값을 사용하여 동시에 실행하므로 테스터는 마이그레이션된 데이터, 계산 및 비즈니스 흐름이 여전히 동일한 결과를 생성하는지 확인할 수 있습니다.

  • 🎯 목적 : 새 버전이 이전 버전과 동일하거나 더 나은 성능을 보인다는 것을 증명하십시오.
  • 🗓️ 트리거 : 시스템 교체, 데이터 마이그레이션 및 두 시스템 동기화 기간.
  • 🚪 기준 : 진입 기준은 순환을 시작하고, 종료 기준은 순환을 종료합니다.
  • 🔍 방법 : 두 출력 결과를 한 줄씩 비교하고 모든 차이점을 분류하십시오.
  • ⚠️ 비용 : 제품에 대한 완벽한 지식과 결과에 대한 포괄적인 이해가 필수적입니다.

병렬 테스트의 정의, 접근 방식 및 예시

병렬 테스트란 무엇인가요?

병렬 테스트 병렬 테스트는 애플리케이션의 여러 버전 또는 하위 구성 요소를 동일한 입력값을 사용하여 서로 다른 시스템에서 동시에 테스트하는 소프트웨어 테스트 유형으로, 테스트 실행 시간을 단축하는 데 목적이 있습니다. 병렬 테스트의 목적은 기존 버전과 새 버전이 동일하게 동작하는지 또는 다르게 동작하는지 확인하고, 새 버전이 더 효율적인지 여부를 검증하는 것입니다.

아래 이미지는 병렬 테스트를 보여줍니다.

기존 시스템과 새 시스템이 하나의 입력을 공유하는 병렬 테스트 흐름

병렬 테스트 예

조직이 새로운 시스템으로 이전할 때, 기존 데이터는 이전 과정에서 중요한 부분을 차지하며, 이를 이전하는 것은 복잡한 작업입니다.

소프트웨어 테스트에서 새로 개발된 시스템과 기존 시스템의 호환성을 검증하는 작업은 아래 그림과 같이 병렬 테스트를 통해 수행됩니다.

기존 시스템 출력과 새 시스템 출력을 비교하는 병렬 테스트 예시

병렬 테스트를 수행하는 이유

병렬 테스트는 다음과 같은 이유로 수행됩니다.

  • 새 버전의 애플리케이션이 올바르게 작동하는지 확인하려면
  • 새 버전과 이전 버전 간의 결과가 일관적인지 확인하기 위해
  • 두 버전 간의 데이터 형식이 변경되었는지 확인하려면
  • 새 응용 프로그램의 무결성을 확인하려면

예를 들어, 사용자는 현재 애플리케이션 버전 1.0을 사용하고 있으며, 아래 그림과 같이 3월부터 버전 1.1로 업그레이드될 예정입니다.

마이그레이션 과정에서 버전 1.0과 버전 1.1을 나란히 테스트했습니다.

이러한 경우 테스터는 데이터 마이그레이션이 성공적으로 완료되었는지, 그리고 새 버전의 변경 사항이 시스템 기능이나 사용자가 기대하는 출력에 영향을 미치지 않는지 확인하기 위해 병렬 테스트를 실행합니다.

병렬 테스트를 수행해야 하는 경우

병렬 테스트는 다음과 같은 경우에 널리 사용됩니다.

  • 회사는 기존 시스템에서 새로운 시스템으로 전환하고 있습니다.
  • Sync두 시스템 간에 크로니제이션이 수행됩니다.
  • 기존 데이터가 한 시스템에서 다른 시스템으로 가져와집니다.
  • 모든 결과는 정확하게 정의되어야 합니다. 예를 들어 금융이나 보험 분야처럼 계산이 시스템의 주요 기능인 경우를 들 수 있습니다.

병렬 테스트 수행 방법: 완전한 접근 방식

병렬 테스트를 위해서는 애플리케이션의 각기 다른 부분을 테스트하는 여러 프로젝트(슬레이브 프로젝트)와 이들을 실행하는 하나의 프로젝트(마스터 프로젝트)를 생성합니다.

병렬 테스트에는 두 가지 수준의 기준이 있습니다.

  1. 병행 테스트 참가 기준 — 병렬 테스트를 효율적으로 실행하기 전에 충족해야 하는 작업을 정의합니다.
  2. 병렬 테스트 종료 기준 — 병렬 테스트 단계의 성공적인 완료를 정의합니다.

먼저 몇 가지 전제 조건을 충족해야 합니다.

  • 병렬 테스트는 다음 조건이 충족될 때까지 시작할 수 없습니다. 테스트 환경 설정이 완료되었습니다
  • 모든 전제 조건과 시나리오를 먼저 정의해야 합니다.
  • 기존 데이터와 새 데이터를 성공적으로 마이그레이션해야 합니다.
  • 병렬 테스트는 모든 종료 기준이 충족될 때까지 완료된 것이 아닙니다.

5단계에 걸쳐 병렬 테스트를 수행합니다.

  1. 기존 시스템과 새로 개발된 시스템을 비교하여 실행해 보세요.
  2. 두 시스템의 차이점을 이해하십시오.
  3. 동일한 입력값을 사용하여 전체 과정을 반복합니다.
  4. 새로 개발된 시스템의 출력과 기존 시스템의 출력을 비교 측정하십시오.
  5. 발견된 버그의 원인을 신고해 주세요.

병렬 테스트에 대한 모범 사례

몇 가지 유용한 팁을 알려드리겠습니다.

병렬 테스팅에서 확인된 일반적인 버그

  • 내부 로직이 변경되었습니다.
  • 제품 흐름이 변경됩니다
  • 주요 기능들이 수정되었습니다.

몇 사이클이 필요할까요?

테스트 주기 횟수는 모듈의 복잡성에 따라 달라집니다. 미리 정의된 시나리오를 사용하여 여러 시나리오 주기를 실행하십시오. 테스트 데이터 이전 시스템에서 통과된 것입니다.

차이점을 분류하기

새 시스템과 기존 시스템의 결과를 항목별로 측정하고 차이점을 강조 표시하며, 모든 차이점은 오류 유형별로 분류해야 합니다.

사이클 중에 발생한 오류 유형

각 차이점에 대해 테스트 담당자는 어떤 사항이 적용되는지 기록해야 합니다.

  • 입력 오류
  • 기존 시스템으로 인해 발생한 오류입니다.
  • 설명 가능하거나 수용 가능한 차이
  • 예기치 않은 오류

병렬 테스트가 아닌 것은 무엇입니까?

표가 경계를 그립니다.

병렬 테스팅이다 병렬 테스팅이 아니다
이전 애플리케이션에 대해 업데이트된 애플리케이션을 테스트합니다. 하나의 소프트웨어만 테스트합니다.
기존 시나리오를 새 소프트웨어로 동일한 입력 조건에서 실행합니다. 크로스 브라우저 또는 크로스 플랫폼 테스트.
목표는 이전 시스템에 따라 결과를 알아내는 것입니다. 목표는 설계상의 문제점을 찾아내는 것입니다.
기존 시스템과 새로 개발된 시스템 모두에 대한 지식이 필요합니다. 차이점을 알 필요는 없습니다.

병렬 테스트의 과제

  • 제품에 대한 완벽한 지식이 필요합니다.
  • 모든 결과는 테스트되어야 한다
  • 데이터 입력과 제품 흐름에는 지속적인 관심이 필요합니다.

자주 묻는 질문

회귀 테스트 빌드 결과를 예상 결과와 비교합니다. 병렬 테스트는 두 개의 서로 다른 시스템을 비교하며, 이전 시스템을 기준으로 사용합니다.

모델은 두 결과 집합을 비교하고 불일치를 클러스터링하여 설명 가능한 반올림 차이와 실제 결함을 구분할 수 있습니다. 이러한 분류 작업은 각 주기에서 가장 시간이 오래 걸리는 수동 작업입니다.

네. 레코드 비교 및 ​​보고서 서식 지정은 반복적인 코드 작업이므로 담당자가 잘 처리할 수 있습니다. 하지만 허용 오차 규칙은 여전히 ​​사람이 처리해야 하는데, 허용 가능한 차이는 업무상 판단에 따라 달라지기 때문입니다.

테스터는 테스트 사이클을 실행하고, 비즈니스 사용자는 차이점을 판정합니다. 금융 및 보험 분야에서는 도메인 전문가가 어떤 불일치가 허용 가능한지 결정합니다.

기존 시스템의 실제 운영 데이터를 필요에 따라 마스킹 처리했습니다. 합성 데이터는 마이그레이션 과정에서 가장 자주 발생하는 예외적인 과거 사례를 숨깁니다.

이 용어는 양방향으로 사용됩니다. 많은 것을 실행하는 것 자동화 그리드에서 여러 스위트를 동시에 실행하면 실행 시간이 단축되지만 두 시스템 간의 비교는 이루어지지 않습니다.

모든 종료 기준이 충족되면(모든 사이클이 실행되고, 모든 차이점이 분류되고, 설명되지 않은 불일치가 남아 있지 않으면) 승인이 이루어집니다. 일반적으로 승인은 그 전에 진행됩니다. 사용자 수용 테스트.

두 개의 실제 운영 환경, 중복된 데이터, 그리고 두 시스템 모두를 숙지하고 있는 직원. 잘못된 계산이 규제상의 결과를 초래할 수 있는 경우 이러한 비용은 감수할 만하다.

이 게시물을 요약하면 다음과 같습니다.