병렬 테스트란 무엇입니까? 정의, 접근 방식, 예
병렬 테스트
병렬 테스트 여러 버전 또는 애플리케이션의 하위 구성 요소를 동일한 입력으로 다른 시스템에서 동시에 테스트하여 테스트 실행 시간을 줄이는 소프트웨어 테스트 유형입니다. 병렬 테스트의 목적은 레거시 버전과 새 버전이 동일하게 동작하는지 다르게 동작하는지 확인하고 새 버전이 더 효율적인지 여부를 확인하는 것입니다.
아래 이미지는 병렬 테스트를 보여줍니다.
병렬 테스트 예
어떤 조직이 오래된 시스템에서 새로운 시스템으로 옮길 때, 레거시 데이터는 중요한 부분입니다. 이 데이터를 전송하는 것은 복잡한 프로세스입니다.
소프트웨어 테스팅에서는 새로 개발된 시스템과 기존 시스템의 호환성을 검증하는 것이 '병렬 테스팅'을 통해 이루어진다.
병렬 테스트를 수행하는 이유
병렬 테스트는 다음과 같은 이유로 수행됩니다.
- 새 버전의 애플리케이션이 올바르게 작동하는지 확인하려면
- 새 버전과 이전 버전의 일관성이 동일한지 확인하려면
- 두 버전 간의 데이터 형식이 변경되었는지 확인하려면
- 새 응용 프로그램의 무결성을 확인하려면
예를 들어 현재 사용자는 1.0 버전의 애플리케이션을 사용하고 있으며 1.1월부터 사용자는 다른 버전의 애플리케이션, 즉 XNUMX 버전을 사용할 예정입니다.
이러한 경우 테스터는 데이터 마이그레이션이 성공적으로 수행되었는지 평가하기 위해 병렬 테스트를 수행해야 합니다. 또한 새 버전의 변경 사항이 시스템 기능에 영향을 주지 않는지 확인합니다. 테스터는 변경 사항이 제대로 실행되었는지, 사용자가 요구 사항에 따라 원하는 출력을 얻고 있는지 확인해야 합니다.
병렬 테스트를 수행해야 하는 경우
병렬 테스트는 다음과 같은 경우에 광범위하게 사용될 수 있습니다.
- 기존 시스템에서 새로운 시스템으로 전환하는 회사
- 두 시스템에서 동기화가 수행되는 경우
- 한 시스템에서 다른 시스템으로 가져온 레거시 데이터
- 모든 결과는 보다 정확하게 정의되어야 합니다. 예를 들어, 계산이 시스템의 주요 기능인 금융 도메인 또는 보험 도메인입니다.
병렬 테스트 수행 방법: 완전한 접근 방식
병렬 테스트를 수행하려면 애플리케이션의 다른 부분(슬레이브 프로젝트)을 테스트하는 여러 프로젝트와 이러한 프로젝트를 실행할 하나의 프로젝트(마스터 프로젝트)를 생성하면 됩니다.
병렬 테스트에는 두 가지 수준 기준이 있습니다.
- 병렬 테스트 진입 기준병렬 테스트 시작 기준은 병렬 테스트를 효율적으로 실행하기 전에 충족해야 하는 작업을 정의합니다.
- 병렬 테스트 종료 기준병렬 테스트 종료 기준은 병렬 테스트 단계의 성공적인 결론을 정의합니다.
병렬 테스트를 수행하기 전에 충족해야 할 몇 가지 사전 조건이 있습니다.
- 환경 설정이 완료될 때까지 병렬 테스트를 시작할 수 없습니다.
- 모든 전제 조건과 시나리오를 먼저 정의해야 합니다.
- 기존 데이터와 새 데이터를 성공적으로 마이그레이션해야 합니다.
- 병렬 테스트는 모든 종료 기준이 충족될 때까지 완료되지 않습니다.
병렬 테스트를 수행하려면 다음 단계를 따라야 합니다.
1단계: 새로 개발된 시스템에 대해 기존 시스템 실행
2단계: 두 시스템의 차이점을 이해합니다.
3단계: 동일한 입력을 사용하여 전체 사이클을 던집니다.
4단계: 기존 시스템과 비교하여 새로 개발된 시스템의 출력을 측정합니다.
5단계: 버그 발견 시 원인 신고
병렬 테스트에 대한 모범 사례
병렬 테스트를 수행하는 데 유용할 수 있는 몇 가지 팁과 요령이 여기에 있습니다.
- 병렬 테스팅에서 확인된 일반적인 버그
내부 로직이 변경되었습니다.
제품의 흐름이 변경됨
주요 기능주의자들이 수정되었습니다.
- 얼마나 많은 사이클이 필요해야 합니까?
테스트 주기의 수는 모듈의 복잡성에 따라 달라집니다.
이전 시스템에서 전달된 사전 정의된 테스트 데이터를 사용하여 여러 시나리오 주기를 실행합니다.
- 차이점 분류병렬 테스트 주기를 실행할 때 새로운 시스템과 레거시 시스템의 결과를 차이점을 강조하면서 한 줄씩 측정해야 합니다. 우리가 포착한 모든 차이점은 오류 유형에 따라 정의되어야 합니다.
- 사이클 중에 발생한 오류 유형오류에 대비해 테스터는 병렬 테스트를 수행하는 동안 다음 사항을 기록해야 합니다.
- 입력 오류
- 기존 시스템으로 인한 오류
- 설명 가능하거나 허용 가능한 다름
- 예기치 않은 오류
병렬 테스트가 아닌 것은 무엇입니까?
병렬 테스팅이다 | 병렬 테스팅이 아니다 |
---|---|
이전 애플리케이션에 대해 업데이트된 애플리케이션을 테스트합니다. | 하나의 소프트웨어만 테스트합니다. |
예약된 입력 조건을 사용하여 새 소프트웨어로 이전 시나리오를 실행합니다. | 크로스 브라우저 또는 크로스 플랫폼 테스트. |
목표는 이전 시스템에 따라 결과를 알아내는 것입니다. | 목표는 설계 문제를 찾는 것입니다. |
기존 시스템과 새로 개발된 시스템에 대한 지식이 있어야 합니다. | 차이점을 아는 것은 필요하지 않습니다. |
병렬 테스트의 과제
- 완전한 제품 지식이 필요합니다.
- 모든 결과는 테스트되어야 한다
- 데이터 입력 및 제품 흐름에 집중 필요
요약
- In 소프트웨어 공학, 병렬 테스트는 테스트 시간을 줄이기 위해 여러 응용 프로그램 또는 하나의 응용 프로그램의 하위 구성 요소를 동시에 테스트하는 것입니다.
- 이는 새 시스템이 소프트웨어를 효율적으로 실행할 수 있을 만큼 충분히 능력이 있는지 확인합니다.