반응형

출처: Software Testing A Craftsman’s Approach, Paul C. Jorgensen, Fourth Edition, 2014

21Evaluating Test Cases, 414페이지

 

임의의 데이터를 프로그램의 입력에 주입하는 소프트웨어 테스팅 기법인 ‘Fuzzing’의 기원을 소개한 것이다.

 


 

21.2 Fuzzing

퍼징(Fuzzing)은 위스콘신 대학교에서 학문적 호기심으로 시작되었다. 마치 로맨스 소설의 문구처럼 "어느 어둡고 폭풍우가 몰아치는 밤에…" 우연히 아이디어를 발견하였다고 한다.

 

Barton Miller와 두명의 대학원생 Lars Fredriksen Bryan So는 폭풍이 몰아치는 동안 전화 접속 인터넷 연결(dial-up Internet connection)을 사용하고 있었다. 회선의 전자 잡음으로 인해 왜곡된 문자열(garbled character strings)이 생성되었고, 이는 여러 UNIX 유틸리티에서 장애가 일어나는 원인이 되었다. 이것이 그들의 호기심을 자극했고, 계속된 연구로 발전했다. 그들의 연구는 7개의 UNIX 버전에서 실행되는 88개의 유틸리티를 검토하여 무작위 문자열에 의해 드러난 부수적 결함을 조사했다.

 

이후로 퍼징의 아이디어는 여러 운영 체제로 확장되었다. "Fuzzers"는 커맨드라인 애플리케이션과 대화형(interactive) 애플리케이션 모두에 입력으로 임의의 문자열을 제공하는 프로그램이다. 이런 무작위 문자열은 테스터가 전혀 생각하지 못한 상황을 드러나게 할 수 있다는 장점이 있다. 단점은 테스트케이스의 예상 출력 부분을 정의할 수 없다는 것이다. 그러나 잘못된 입력에 대한 응답은 대개 에러 메시지이기 때문에 이게 큰 문제가 되는 것은 아니다.

 

 

반응형

+ Recent posts