Offcanvas

How To / 리더십|조직관리 / 애플리케이션

기고 | 소프트웨어 테스트 방식은 변화 중 ‘적응법은?’

2013.03.18 Matthew Heusser  |  CIO


그의 방식에서는 거의 모든 소프트웨어 테스트가 일정량의 탐구를 통해 시작된다. 인간은 구동, 학습, 시험 접근방식의 적용을 통해 시간이 지나면서 소프트웨어 자체로부터 획득한 피드백을 바탕으로 작업을 확인한다. 아이폰(iPhone)을 위한 비디오 게임을 개발하는 한 사람 또는 기동 전에 작업을 확인하는 컴퓨터 공학도에게는 이 방법이 충분할 수 있다. 그러나 대형 IT 서비스 기관에서는 반복이 불가능한, 임시적인, 또는 확장이 불가능한 방법일 수 있다.

탐구적 시험(exploratory testing)이 거의 반복되지 않는다는 것은 명백한 사실이다. 문제는 반복 가능성의 가치다. 탐구적 시험의 지지자들은 가능한 입력 조합의 수가 무한한지, 다른 값 및 다른 경로를 통한 소프트웨어 시험이 결국 시간이 지나면서 범위가 증가하는지 등을 물을 것이다. 이 때문에 소프트웨어의 빌드(Build)마다 기능이 다르고 알려진 위험이 다르면, 시험을 동일한 방식으로 진행할 이유가 있을까?

테스팅은 죽었다. 테스팅이여 영원하라
브렛 페티코드는 자신의 첫 프레젠테이션을 진행한 후, 몇 년 뒤에 애자일 훈련소(Agile School)를 추가했다. 이것은 프로그래머의 테스트 측면에 초점을 맞추고, 그 모범으로써 테스트 지향적 개발 등의 유닛 테스트를 지지하고 있다. 프로그래머를 위해 프로그래머가 수행한 이런 종류의 작업은 고객의 관점에서 탐구하기 전에 코드를 개선시킨다. 따라서 탐구적 테스트을 보완해 명백한 결함으로 인한 혼란과 낭비를 줄일 수 있다.

맥락 지향적 훈련소의 지지자들은 소위 말하는 지적인 시험(sapient testing)에 관해 이야기하는 경향이 있다. 이것은 판단과 기술이 요하므로 인간에게 가장 적합한 작업이라는 이유에서다.

둘 사이의 차이로 인해 맥락 지향적 테스터가 자동화에 반대한다는 생각이 형성됐다. 그러나 이안 맥코와트가 지적하듯이 이것은 엄격히 말해서 사실이 아니다. 하지만 맥락 지향적 테스터는 브라우저를 가동하기 위한 툴을 사용해 다른 것들을 시험하는 대안적인 추가적 접근방식을 제공할 수 있다.

테스트 방식 발전에 관심이 많은 이라면,  구글의 개발 책임자 알베르토 사보이아가 구글 테스트 자동화 컨퍼런스의 기조연설에서 언급한 "테스트는 죽었다(Test is dead)"라는 말에 더욱 익숙할 것이다. 맥락 지향적 훈련소와 마찬가지로 "테스트는 죽었다"는 공장 훈련소가 오늘날에 요구되는 수준까지 확장될 수 없음을 의미한다. 하지만 이것은 다른 처방전을 제시하고 있다.

반복 방식의 지지자들은 강력한 생산 모니터링, 생산 중 변경사항을 신속하게 되돌릴 수 있는 기능, GUI 지향적 시험 자동화의 경향에 주목한다. 이 모든 것들은 유테스트(uTest)같은 크라우드 소싱(Crowd Sourcing) 벤더들을 통한 대규모 탐구적 테스팅과 결합돼 있다. 익스텐디드 베타(Extended Beta)로 무료 서비스를 제공하면서 이 모든 것들을 할 수 있는 기업들은 전통적인 테스트를 완전히 없앨 수도 있다.

"테스팅은 죽었다"라는 사고방식은 맥락 지향적 시험을 거부하지 않는다. 이것은 매우 구체적인 상황에 적합한 구체적인 전략을 규정한다. 하지만 소프트웨어를 무료로 제공하지 않고 광고로 돈을 버는 기업들은 다양한 모델을 고려해야 한다.

예를 들어, 마이크로소프트의 운영체제 사업부는 다른 모델을 갖고 있다. 구매비용을 청구하고  롤백(Rollback)을 제공하지 않는 모델이다. 마이크로소프트는 비스타(Vista)를 출시한 후, 테스트 과정을 살펴보고는 수동 및 탐구적 테스트로의 전환을 결정했다.

테스트는 맥락의 문제일 수 있다
소프트웨어 테스팅에서 얻은 교훈(Lessons Learned In Software Testing) 의 공동저자 제임스 바하는 2001년 셈 카터와 함께 맥락 지향적 테스팅(context-driven testing)을 정의했다. 또한 그는 이런 새로운 종류의 고객 응대 테스팅에 위험이 있음을 최초로 인식했다.



제임스 바하는 테스터들을 자유롭게 해주고 싶어한다. 그러나 그들이 자유에 수반되는 책임에 대비하고 있을까?


필자는 맥락 지향적인 방법에 대해 그가 기업에 무어라 말할지 물어보았다. 그는 "이것은 테스트에 대한 권력에 반하는 접근방식이다. 테스터들은 더 이상 패스트푸드 식당의 아르바이트생처럼 취급되지 않는다"라며, "하지만 이로 인해 사람들이 변화에 '대항'할 때 흥미로운 문제가 발생한다. 감방의 문을 열었더니, 죄수들이 찬바람이 들어온다고 불평하는 상황을 상상해보자. 우리는 사람들이 판단력과 기술을 사용하도록 자유를 주지만, 그런 자유가 처음에는 혼란스러울 수 있다”라고 말했다.

그는 이어 "우리가 말하는 자유에는 책임이 따른다. 테스터들은 업무를 위해 훈련을 받아야 하고, 그 뒤에 우리는 그들을 자유롭게 내버려 둘 수 있다. 이것은 저널리즘 또는 조사작업과 비교할 수 있다. 전반적으로 스스로 관리하는 것이기 때문에 팀의 신뢰를 구축해야 한다"라고 덧붙였다.

테스터들에게 신뢰를 쌓을 기회를 준다는 것은 실패할 기회를 주는 것이기도 하다. 바하, 클레인, 맥코와트에게 있어서 이는 그만한 가치가 있는 일이다. 그렇다면 이것이 다른 기업에도 적용될까? 이는 각각의 맥락에 달려 있을 것이다.

* Matthew Heusser는 컨설턴트이자 전문 기고가다. ciokr@idg.co.kr

CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.