SW/Python

Python Module : Selenium은 무엇이고 장점은 무엇일까요?

얇은생각 2019. 9. 10. 07:30
반응형

Selenium이 무엇인지 아시나요? 왜 사용되는지 알고 있으신가요? 이 두 가지 질문에 대한 답에 대해 알아보도록 하겠습니다. Selenium은 자동화 테스트에서 세계적으로 활용되고 있습니다. 

 

 

Selenium이란?

Selenium은 웹 브라우저에서 수행되는 테스트를 자동화하는 데 사용되는 오픈 소스 도구입니다 (웹 응용 프로그램은 모든 웹 브라우저를 사용하여 테스트 가능).

Selenium에서는 웹 응용 프로그램 테스트만 가능합니다. 데스크톱 (소프트웨어) 응용 프로그램이나 Selenium을 사용하여 모바일 응용 프로그램을 테스트 할 수 없습니다.

IBM의 RFT, HP의 QPT, Appium 등과 같은 소프트웨어 및 모바일 애플리케이션을 테스트하기 위한 많은 도구가 있습니다. 그러나 동적 웹 애플리케이션을 테스트하고 왜 Selenium이 그 목적에 가장 적합한 것일까요? 

Selenium은 오픈 소스이므로 라이센스 비용이 들지 않으므로 다른 테스트 도구보다 큰 이점이 있습니다. Selenium의 인기가 계속 높아지는 이유는 다음과 같습니다.

 

셀레니움

- 테스트 스크립트는 Java, Python, C #, PHP, Ruby, Perl & .Net과 같은 프로그래밍 언어로 작성할 수 있습니다.
- Windows, Mac 또는 Linux 중 하나에서 테스트를 수행 할 수 있습니다.
- 테스트는 Mozilla Firefox, Internet Explorer, Google Chrome, Safari 또는 Opera와 같은 모든 브라우저를 사용하여 수행 할 수 있습니다.
- 테스트 케이스 관리 및 보고서 생성을 위해 TestNG & JUnit과 같은 도구와 통합 될 수 있습니다.
- Maven, Jenkins & Docker와 통합하여 지속적인 테스트를 수행 할 수 있습니다.


그런데 단점으로 어떤 것이 있을까요?


- 웹 애플리케이션을 테스트하기 위해서만 Selenium을 사용할 수 있습니다. 데스크톱 응용 프로그램이나 다른 소프트웨어는 테스트 할 수 없습니다
- Selenium에 대해 지원되는 지원은 없습니다. 이용 가능한 고객 커뮤니티를 활용해야합니다
- 이미지에 대한 테스트를 수행 할 수 없습니다. 이미지 기반 테스트를 위해 Selenium을 Sikuli와 통합해야합니다
- 기본보고 기능이 없습니다. 그러나 TestNG 또는 JUnit과 같은 프레임 워크와 통합하여이 문제를 극복 할 수 있습니다.

 

Selenium에 대해 더 나아 가기 전에 Selenium이 오늘날 방식에 대해 알아야합니다. 따라서 아래 순서 시나리오로 알아보겠습니다.

 

1. 소프트웨어 테스트 필요
2. 수동 테스트의 과제
3. 자동화 테스트가 수동 테스트를 어떻게 능가합니까?
4. Selenium 대 다른 테스트 도구?
5. Selenium 툴 세트

 

 

소프트웨어 테스팅 필요

소프트웨어 테스팅은 모든 것을 요약합니다. 오늘날의 기술 세계는 기계에 의해 완전히 지배되고 있으며, 그 기능은 소프트웨어에 의해 제어됩니다. 기계가 원하는대로 동작할까요? 매번? 어디에나? 이 질문에 대한 답은 소프트웨어 테스트에 있습니다.

최근, 비즈니스 성장 요인은 소프트웨어 응용 프로그램의 성공률입니다. 오늘날 대부분의 비즈니스는 인터넷에 전적으로 의존하기 때문에 웹 애플리케이션에서도 마찬가지입니다.

전자 상거래 회사를 예로 들어 보겠습니다. Amazon, E-Bay 또는 Flipkart는 웹 사이트의 고객 트래픽과 비즈니스를 위한 웹 기반 모바일 애플리케이션의 트래픽에 의존합니다.

코드의 "쉽게 읽을 수 없는" 부분에 있는 작은 버그로 인해 10 달러에 여러 제품의 가격이 치솟는 것처럼 치명적인 일이 발생한다고 상상해보십시오. 그러면 무엇을 할 수 있으며 어떻게 막을 수 있을까요?

따라서 소프트웨어 테스트가 필요합니다. 그러면 Selenium은 무엇일까요? 바로 Selenium은 자동화 테스트 도구입니다.

 


수동 테스트의 과제

수동 테스트는 QA 테스터가 (웹) 애플리케이션을 수동으로 테스트 함을 의미합니다. 테스트는 다른 데이터 세트를 사용하여 모든 환경에서 수동으로 수행해야 하며 모든 트랜잭션의 성공 / 실패율을 기록해야 합니다.

 

수동 테스트의 단점

 

기록된 트랜잭션을 수동으로 확인하는 불량 챕터의 위 이미지를 참고하세요. 그가 직면 한 과제는 수동 노력으로 인한 피로, 지루함, 작업 지연, 실수 및 오류를 유발합니다. 이러한 에러사항이 셀레늄 (자동화 테스트 툴)의 개발로 이어지게 되었습니다.

 

 

 

수동 테스트보다 자동화 테스트

자동화 테스트는 매번 수동 테스트보다 우수합니다. 왜? 더 빠르고 인적 자원에 대한 투자가 적기 때문에 오류가 발생하지 않으며 테스트를 자주 실행할 수 있으며 라이트 아웃 실행을 지원하며 회귀 테스트 및 기능 테스트를 지원합니다.

앞에서 언급 한 것과 유사한 예를 들어 보겠습니다.  로그인 페이지가 있고 모든 로그인 시도가 성공적인지 확인해야한다고 가정하면 모든 트랜잭션 / 로그인 시도가 성공했는지 여부를 검증하는 코드를 작성하는 것이 매우 쉽습니다.

 

또한 이러한 테스트는 서로 다른 환경 및 웹 브라우저에서 테스트되는 방식으로 구성 할 수 있습니다. 다른 무엇을 할 수 있을까요? 하루 중 특정 시간에 예약하여 결과 파일 생성을 자동화 할 수 있습니다. 그런 다음 해당 결과를 바탕으로 보고서 생성을 자동화 할 수도 있습니다.

 

셀레니움을 활용한 자동화 테스트


요점은 자동화 테스트로 테스터의 업무가 훨씬 간단해진다는 것입니다. 동일한 테스터가 작동하는 보다 편안한 환경을 보여주는 것을 위 이미지로 이해할 수 있습니다.

반응형