2. 목차
• Testing Pyramid
• Automated Test
• 자동화 테스팅 지원 프레임워크
• Selenium 작동 방식
• Selenium 이용 방법
• 사용 소감
3. Testing Pyramids
테스팅에 요구되는 실행시간
테스팅이 다루는 범위
비결정적
테스팅의 개수
출처 :
https://logcorner.com/asp-net-core-2-0-web-api-unit-testing/
4. Test Automation
“Test automation is critical for continuous delivery and continuous testing”
지속적인 테스트 및 지속적인 테스트를 위해서는 테스트 자동화가 필수적입니다.
https://martinfowler.com/articles/practical-test-pyramid.html
6. Selenium 소개
https://www.seleniumhq.org
“Selenium automates browsers”
- 자동화된 브라우저라고 소개하고 있습니다.
- 오픈소스기반이므로 무료로 사용이 가능 합니다!
Selenium WebDriver
- 다양한 브라우저 기반으로 한 정교한 자동화된 테스트를 하고 싶을 때 사용
Selenium IDE
- 파이어폭스 환경에서 간단한 테스트를 하고 싶을 때 사용
아래 2가지 중 하나를 선택하여 사용이 가능 합니다.
8. WebDriver 특징
다양한 운영체제에서 이용이 가능하다.
Windows , Linux , MacOS
지원하는 프로그래밍언어가 다양하다.
Java , PHP , C# , Python , Groovy , Ruby , Perl..
테스트 스크립트 작성을 한 후 웹드라이버만 변경하여
다양한 브라우저를 통한 테스트가 가능하다.
지원하는 브라우저도 다양하다.
IE , Firefox , Opera , Safari , Chrome
다양한 테스트 프레임워크와 연동이 가능하다.
Junit , Nunit , FitNesse..
이를 통한 브라우저 호환성 체크와 서비스에 대한 결함 등을 함께 확인할 수 있다.
16. Selenium Test – Find HtmlDocument
아래의 방식으로써
Html Document 내에 존재하는 Element 들에 대한 접근이 가능합니다.
• Find element by Name
• Find element by Link Text
• Find element by Tag Name
• Find element by Class
• Find element by Css Selector
• Find element by Id
• Find element by XPath
25. Headless Browser?
• 브라우저를 화면에 실행하지 않고도 브라우저와 동일하게
웹 탐색이 가능하도록 지원해줌
속도가 빠르고 가벼움!!
대표적인 브라우저
Firefox headless mode
Headless Chrome
PhantomJS
ZombieJS
HtmlUnit
Splash
26. Selenium 사용 소감
브라우저를 핸들링 쉽다?!
복잡하게 얽혀져 있는 웹서비스인 경우 의미가 있을 것 같다
예) 응답 지연으로 인한 SNS 기능 장애 발생 시 신속한 대응 !!
platform.twitter.com/widgets.js
facebook.com/plugins/like.php
NaverPay 서버 장애로 인한
NaverPay 결제 건 취소 불가 장애 시 신속한 알림 및 대응이 가능 !!
매쉬업 서비스의 경우 E2E 테스트가 중요하지 않을까 생각해봅니다.
27. Selenium 사용 소감
기대하고 있는 종단간 서비스의 속도 체크 및 장애 판정이 가능!
Edge 나 IE 의 경우 Xpath 등의 Element 선택하는 부분이
Chrome 또는 Firefox 와 다르거나 환경 설정이 다소 복잡하다!!
Selenium 기반 기술 등으로
관제 솔루션 사업을 하는 곳들이 많음
사이트 크롤링 용도로도 사용하기도 함
예) 경쟁사 최신정보 파악