brunch

You can make anything
by writing

C.S.Lewis

by 이지원 Oct 01. 2022

02화 리스크와 7가지 테스트 원리

Risk Based Testing

테스팅 분야에서도 시간과 인력 등의 제약사항으로 인해 선택과 집중이 필요하다. 정해진 기간 내에 현재 우리 팀이 감당할 수 있는 테스트 범위 산정은 리더급 포지션의 역량 중 하나이다. 요구사항 분석 후 테스트 준비는 며칠간 진행하고, 어디까지 진행할 것이며, 어떠한 기법을 할당하고 테스트 수행과 QA기간 중 발생하는 모든 이슈들의 추적 및 관리에 대한 고민과 방안이 필요하다.


지금껏 명세서에 있는 모든 테스트 조건 및 상황을 준비하려 애씀에도 불구하고, 무언가 부족하다 느낀다면 테스트 전략에 대해서 한 번쯤 고민해보면 좋다. 입력과 사전 조건의 모든 조합을 테스팅하는 것은 무한 경로(내부 조건), 무한 입력(입력값의 조합), 무한 타이밍(GUI 이벤트 발생 순서에 대한 조합)으로 불가하다. 계산기 프로그램만 보더라도 당장 떠오르는 조합이 수백수천 가지니 말이다.


하지만 시장과 고객의 기대치는 과거에 비해 계속해서 높아지고 있다. 2000년대 초반 인터넷 보급 초기만 하더라도 게임이라는 새로운 놀이가 등장한 것에 대해 사용자들은 기쁨을 느끼고 만족했지만, 급변하는 시대에 살고 있는 요즘은 다르다. 그래픽은 당연히 뛰어나야 하고 끊김과 버그의 미발생은 게임 플레이에 있어 당연히 누려야 하는 권리로 자리 잡은 요즘, 위와 같은 기능 및 비기능적인 문제와 더불어 기능 테스트의 중요성은 재미를 다루는 밸런스 QA 만큼 중요하다. 때문에 기능 테스트 고도화 시도는 중요하고, 피상적으로만 알아도 큰 문제없이 할 수 있는 업무만을 지속하는 건 품질 보증 및 커리어에 좋은 방향이 아니다.


소프트웨어 테스트는 시간과 인력의 제약사항으로 인해 한정된 자원으로 최고의 효율을 이끌어내는 테스트 전략이 필요하다. 완벽한 테스팅은 불가하다는 테스트 원리와 밀접한 관련이 있는 리스크. 리스크가 높은 시스템이라면 강도 높게, 그렇지 않다면 낮게 진행하는 등의 적정 테스트 수준을 찾아야 한다. 또한 강도가 높은 기준과, 방법, 적정 수준의 정의도 필요하다.


테스트 우선순위를 전략적으로 판단하고 실행하는 리스크 기반 테스팅은, 완벽한 테스팅은 불가하다는 원리뿐 아니라 오류 부재의 궤변에도 영향이 있다. 만약 개발한 시스템이 사용자에게 전혀 필요 없었던 기능이라면? 사용자와 비즈니스 요구 사항을 충족시키지 못한 상태에서 결함을 발견하고 제거한 것이 품질을 높이는 것의 본질인지 생각해볼 필요가 있다. 결함이 존재함을 밝히는 테스팅 활동은 사용자의 필요와 기대치에 만족한 상태에서 가치를 발휘한다. 아무도 사용하지 않는 기능의 결함을 검출하여 제거한다고 해서 품질이 높아지고 테스트를 잘한 것이라 할 수 없다.


리스크 기반 테스트 전략은 블랙박스 테스트에서 중요한 지식 중 하나이고, 적용 난이도가 높은 편에 속한다. TMMI와 소프트웨어 테스팅 국제표준인 ISO/IEC/IEEE 29119에서도 테스팅의 핵심을 리스크 기반 테스트 전략에 두고 있다. 또한 테스트 입문으로 가장 먼저(=일반적으로) 공부하게 될 ISTQB 지식체계 또한 리스크 기반 테스트 전략을 토대로 구성되었다.


리스크 기반 테스팅은 테스트 대상에 비해 자원이 부족하거나 테스트 우선순위를 효과적으로 선정하고 테스트 자원을 효율적으로 분배하기 위해 활용하는 전략이다. 테스트 활동을 보다 체계적이고 전문적으로 진행하기 위한 방법을 찾고 있다면 리스크 기반 테스트 전략도 그중 하나이고 어쩌면 선택이 아닌 필수일지도 모른다.

매거진의 이전글 Risk Based Testing 01화 서문
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari