매거진 QA의 시작

Traditional Testing

프로세스 및 기법 관련

by 제임스

Traditional Testing은 소프트웨어 개발 후반부에 테스팅을 집중하는 방식입니다.

이 접근법은 “모든 기능 개발이 완료된 후에 결함을 찾아 수정한다”는 개념에 기반을 둡니다.

테스팅이 소프트웨어 개발 과정의 별도 단계로 분리되어 있어, 개발이 완료되기 전까지는 테스팅을 시작하지 않습니다.


Traditional Testing은 한때 표준적인 테스팅 방법론이었지만, 현재는 Shift-left Testing과 Shift-right Testing 같은 현대적 접근법에 밀려 주로 특정 상황에서 사용되고 있습니다.



Traditional Testing이란?


Traditional Testing은 개발이 모두 끝난 후 테스터가 소프트웨어의 모든 기능과 시스템을 테스트하는 방법입니다.

• 테스팅은 주로 QA 팀의 책임으로 간주되며, 개발 팀과의 협업이 적은 경우가 많습니다.

결함 탐지수정이 개발이 완료된 후 집중적으로 이루어집니다.


이 방법은 “늦게라도 결함을 찾는 것이 테스팅의 주된 목적”이라고 생각하던 시절에 널리 사용되었습니다.



Traditional Testing의 주요 특징


1. 개발 후반부 테스팅

• 소프트웨어 개발의 마지막 단계에서 테스팅이 이루어집니다.

• 예: 모든 기능이 개발된 후, QA 팀이 릴리스 전에 결함을 찾아 수정

2. 단계별 개발 프로세스

• 개발, 테스팅, 배포가 순차적으로 진행됩니다(예: 워터폴 모델)

3. 주요 목표: 결함 발견

• 테스팅의 핵심은 결함 탐지와 수정입니다.

• 사용자 요구사항 충족 여부를 확인하고, 오류가 없는 제품을 출시하는 데 중점을 둡니다.

4. 테스트 환경

• 실제 사용자 환경이 아닌 모의 환경에서 테스트를 수행합니다.



Traditional Testing은 마치...


Traditional Testing은 건축 공사를 마친 후, 건물이 안전한지 확인하는 마지막 점검 과정과 비슷합니다.

• 모든 공사가 끝난 후, 문제를 찾기 위해 전문가를 불러옵니다.

• 결함이 발견되면 다시 공사를 수정해야 하므로 시간과 비용이 많이 들 수 있습니다.


이와 달리, Shift-left Testing은 설계 단계에서부터 문제를 예방하며, Shift-right Testing은 사용자가 건물을 실제로 사용하면서 발생하는 문제를 점검하는 과정입니다.



Traditional Testing의 실제 사례


사례 1: 웹 애플리케이션 테스트

• 개발자들이 웹 애플리케이션의 모든 기능을 완료한 후, QA 팀이 결함을 찾기 위해 테스트를 시작

• QA 팀은 로그인, 회원가입, 결제, 상품 검색 등 모든 기능을 차례로 테스트합니다.

• 결함이 발견되면, 개발팀이 이를 수정한 후 다시 테스팅을 수행합니다.


사례 2: 모바일 앱 테스트

• 앱의 모든 화면과 기능이 완성된 후 QA 팀이 테스트 시작

• 사용자가 앱의 각 화면을 탐색하며, 오류가 발생하지 않는지 확인

• 앱 배포 직전에 심각한 성능 문제를 발견해 긴급히 수정



Traditional Testing의 장점

1. 명확한 프로세스

• 개발과 테스팅이 분리되어 있어, 역할과 책임이 명확합니다.

2. 완성된 제품 중심 테스트

• 전체 기능이 개발된 상태에서 테스팅하므로, 시스템 전반의 문제를 발견할 수 있습니다.

3. 결과 검증 용이

• 전체 시스템이 완성된 상태에서 테스트 결과를 쉽게 검증할 수 있습니다.


Traditional Testing의 단점


1. 결함 발견 시 높은 비용

• 결함이 개발 후반에 발견되면, 이를 수정하는 데 더 많은 시간과 비용이 듭니다.

2. 개발-테스트 간 단절

• 개발과 테스팅이 별도로 진행되므로, 협업과 피드백이 부족할 수 있습니다.

3. 릴리스 지연 위험

• 릴리스 직전에 심각한 결함이 발견되면, 출시 일정이 지연될 가능성이 높습니다.

4. 초기 결함 예방 부족

• 설계 및 개발 단계에서 발생한 결함이 후반까지 지속될 수 있습니다.



Shift-left vs. Shift-right vs. Traditional Testing

스크린샷 2024-12-15 16.35.05.png Shift-left vs. Shift-right vs. Traditional Testing


Traditional Testing과 주니어 QA의 연결점


1. 테스트 기본기 학습

• Traditional Testing은 QA 업무의 기초를 배우는 좋은 출발점입니다.

• 주니어 QA는 전체 기능을 테스트하면서, 테스트 케이스 작성과 결함 보고 과정을 익힐 수 있습니다.

2. 전체 시스템 이해

• 완성된 시스템을 테스트하면서, 소프트웨어의 전반적인 작동 원리를 배우게 됩니다.

3. 협업 경험 축적

• 개발팀과 협력하여 발견된 결함을 수정하고, 다시 테스트를 반복하며 협업 능력을 향상시킬 수 있습니다.



Traditional Testing은 소프트웨어 개발의 고전적인 접근법으로, 개발 후반부에 테스팅을 집중하는 방식입니다.

Shift-left Testing과 Shift-right Testing이 각각 개발 초반과 운영 후 테스팅을 강조하는 것과는 달리, Traditional Testing은 기능이 완전히 개발된 후 시스템 전반을 검증하는 데 중점을 둡니다.


현대 소프트웨어 개발에서는 Traditional Testing이 단독으로 사용되기보다는, Shift-left와 Shift-right Testing과 함께 보완적으로 활용됩니다.

주니어 QA는 Traditional Testing을 통해 기본기를 다지고, 이를 바탕으로 더 발전된 테스팅 접근법을 배우는 발판으로 삼을 수 있습니다.

keyword
매거진의 이전글Shift-right Testing