테스터뿐만 아니라 소프트웨어를 개발하는 사람들이 소프트웨어를 개발하면서 원하는 것들과 이루고 싶은 것들이 여러가지가 있겠지만 그 중 하나가 테스팅을 자동화 하는 것이라는 이견이 없을 것 같다.
여러 이유가 있겠지만 신뢰성 , 무결성, 효율성 등등의 이유로 테스팅 자동화는 누구나 한번쯤 꿈꾸는 이상이자 이루기 위해 노력하는 도전 과제이다.
최근 경향은 이러한 테스팅 자동화가 선택이 아닌 필수가 되어 가고 있다. 가능한 모든 부분에서 자동화를 이루기 위해 지금 이 순간도 무수한 연구와 도전이 이루어지고 있다.
이러한 테스팅 자동화를 가능하게 해주는 소프트웨어들을 자동화 도구라고 한다.
그런데 난 이러한 자동화 도구라는 단어가 적절치 않다고 본다.
자동화라는 단어에는 수행이라는 의미가 내포되어 있다.
그러다보니 많은 사람들이 자동화라고 하면 테스트 수행에 대한 자동화를 생각하게 되고 자동화 도구 역시 테스트 수행을 자동화시켜주는 캡처 앤 플레이 형식의 도구를 먼저 떠올리게 된다.
다른 이유는 자동화라는 단어에 사람이 배제되는 경우가 많다는 겁니다. 자동화라고 하면 우리는 어떤 기계가 어떤 작업을 반복 수행한다고 생각하는 경우가 많습니다.
때문에 자동화 도구를 도입할 때 유지보수, 교육 과 같은 사람과 관련된 사항들이 쉽게 고려대상에서 제외되는 경우가 많습니다.
소프트웨어가 완성되기 위해서는 컴파일러가 필요하지만 누구도 컴파일러가 소프트웨어를 만들었다고 하지 않습니다. 소프트웨어는 개발자가 만들었다고 말합니다.
테스팅도 마찬가지라고 봅니다. 테스팅의 일부를 특정 소프트웨어들이 지원은 해줄 수 있지만 특정 소프트웨어들이 사람이 하는 테스트를 대체할 수는 없다고 봅니다.
그래서 저는 테스팅 자동화 도구라는 용어보다는 테스팅 지원 도구라는 명칭이 훨씬 적합한 명칭이라고 생각합니다.
테스팅 지원 도구라는 명칭을 통해 우리는 테스팅 자동화에 대한 생각을 좀 더 넓게 할 수 있을 수 있다고 생각합니다.
테스팅의 주체는 사람이고 그 사람을 도와주는 모든 소프트웨어 및 하드웨어들을 테스팅 지원 도구라 한다면 우리는 좀 더 많은 도구들을 고려해 볼 수 있을 겁니다.
엑셀이나 오토잇과 같은 매크로 프로그램들도 훌륭한 테스팅 지원 도구입니다.
테스팅 자동화는 분명 필수가 되어 가고 있습니다.
하지만 자동화에 있어서 수행이라는 것에만 초점을 맞춘다면 테스팅 자동화는 성공 확률도 낮을 것이고 불필요한 노력들이 들어갈 수도 있습니다.
시야를 넓히고 가능한 부분부터 가능한 방법으로 시도해나가는 그런 노력이 자동화를 한단계 더 끌어올리고 성공적으로 도입하는 가장 훌륭한 방법이라고 생각합니다.
댓글
댓글 쓰기