본문 바로가기

더 괜찮은 개발자가 되기위한/시스템 개발하기

웹 테스트 자동화 도구 셀레니움

□ 웹 테스트 자동화 도구 셀레니움


셀레니움은 프로그램을 통해 사람과 같이 브라우저를 제어할 수 있는 프로그램이다. 셀레니움은 웹 드라이버와 IDE 형식으로 제공되는데 웹 드라이버(Web Driver) C, 파이썬, 루비와 같은 프로그램 언어와 API 수준의 인터페이스를 제공하는 모듈이다. 웹 드라이버를 사용하면 프로그래밍을 통해 웹 스크롤러와 테스트 자동화 도구를 개발할 수 있다.


셀레니움 구성


셀레니움 IDE는 브라우저 플러그인 형태로 제공되는 실행 프로그램이다. 사용자의 브라우저 사용을 기록하고 재현할 수 있다. 간단한 클릭뿐만이 아니라 마우스를 이동하는 것과 로그인 까지 사람이 하는 모든 동작을 기록해서 저장하고 나중에 똑 같이 재현할 수 있다. 셀레니움 IDE를 통해 Record & Play 방식의 자동화 테스트가 구현 가능하다. 셀레니움 IDE를 사용해 웹 프로그램 테스트 자동화를 어떻게 구현하는지 간단하게 알아보자.


셀레니움 설치


셀레니움 IDE를 다운로드 받기 위해서는 셀레니움 공식 사이트를 방문해야 한다. 화면 중간쯤에 도면 Selenium IDE 항목이 나오고 거기에서 본인이 많이 사용하는 브라우저에 알맞은 프로그램을 선택한다. 프로그램을 다운로드 받는 것이 아니라 브라우저를 지원하는 플러그인을 설치하는 방식이다.


셀레니움 녹화


셀레니움의 사용법은 생각보다 간단하다. 셀레이움 IDE를 설치하면 브라우저 우측 상단에 Se 아이콘을 볼 수 있다. (1) 아이콘을 클릭하면 셀레니움의 시작 화면이 나타난다. (2) 시작 방식을 선택하는데 처음 이니까 새로운 프로젝트를 선택해보자. (3) 프로젝트 이름을 naver_test라고 이력하고 (4) 처음 시작하는 주소를  https://www.naver.com라 이력하자. (5) 이제 브라우저가 실행되고 처음 입력한 주소가 실행된다. 로그인을 해서 블로그를 클릭하고 주제별 보기부터 하나씩 클릭해보자. 이제 테스트가 끝났다면 (6) 화면 맨 오른쪽에 이는 정지 버튼을 눌러 화면 녹화를 중지해 보자.


셀레니움 실행


셀레니움 녹화한 결과를 다시 실행할 때는 좌측 상단에 (1) 플레이 버튼을 눌러주면 된다. 방금 전에 녹화한 내용을 다시 재현할 수 있다. 화면 중간에는 (2) 어떤 순서로 브라우저가 실행되는지 순서대로 나와 있다. 로그인한 부분에는 아이디와 비밀번호가 그대로 저장되어 Value 부분에 표시된다. 이 값 역시 서버로 전송되어 인증처리가 된다. 화면 하단에는 (3)단계별 처리된 결과를 볼 수 있다. 정상 처리 되었다면 OK 메시지를 확인할 수 있다. 녹화한 내역을 저장해서 다음에 실행하고 싶다면 (4) 화면 우측 상단에 있는 저장버튼을 눌러 파일로 저장할 수 있다.


셀레니움의 장점은 통합 테스트 시점에 테스터가 실행한 내역을 그대로 저장하고 있다가 오류 수정 후 테스터의 참여 없이 자동화 테스트를 수행할 수 있다는 점이다. 고비용의 테스트 작업을 최소화하여 저비용으로 고품질의 소프트웨어를 만들 수 있다.

훌륭한 프로그래머는 최적의 알고리즘으로 효율적인 프로그램을 개발하는 것뿐 아니라 다른 사람과 협력하는 능력을 갖추고 있어야 한다. 공동 작업을 위한 여러 가지 툴과 방법론이 있지만 중심이 되는 개념은 표준과 공유이다. 개발 표준을 정하고 그에 맞게 코딩 하고 내가 작업한 내역을 기록하고 그것을 다른 사람과 함께 공유하는 것이다.


프로그램 개발 못지 않게 중요한 것이 테스트이다. 하지만 테스트는 반복 작업이 될 수 밖에 없다. 개발은 한 번에 끝나는 것이 아니라 오류가 수정되고 추가 요구사항이 추가되기 때문이다. 이를 위해서 테스트 자동화 도구가 도입되고 있으며, 과거보다는 자동화를 통해 소프트웨어의 품질이 획기적으로 개선되고 있다.

태그