한국어

EDPS

Software automation tool Top10

  우리는 모든곳에 자동화기기가 있는 시대에 살고 있다. 
즉, 업무를 쉽고 효율적으로 끝낼수 있는 어플리케이션이 공존하는 시대에 접어 들었다. 
우리는 다양한 툴의 도움으로 우리의 업무를 줄인다고 생각한다. 
어플리케이션을 줄이려는 노력의 순환은 아래 산업을 빠르게 마무리 지을 것이다.
• 어플리케이션 개발
• 소프트웨어 테스팅
• VOIPs
• 인력관리 자동화
• 병원
• 철도


자동화의 늘어나는 수요는 우리 소프트웨어 테스팅 산업의 경향이다. 
소프트웨어나 어플리케이션 테스팅 커뮤니티(uTest, Quora 등)를 찾아 보면 데스크탑 테스팅, 웹 테스팅, 브라우저 테스팅, 회기 테스팅, 웹 서비스 그리고 API 테스트 등 테스트 활동에 유용한 다양한 툴을 촉구하는 소프트웨어 테스터들을 찾을 수 있다. 
이 중 최근 가장 선호되고 있는 소프트웨어 테스팅 자동화 툴을 간단하게 소개한다.



소프트웨어 테스팅 자동화 툴 Top 10


----
1. Selenium
   셀레니움은 윈도우, Mac, 리눅스와 같은 플렛폼이나 다양한 브라우저의 웹어플리케이션 테스팅을 수행하는 테스팅 프레임워크이다. 
셀레니움은 테스터가 Java, PHP, C#, Python, Groovy, Ruby, Perl과 같은 다양한 프로그래밍 언어에서 테스트 작성을 돕는다. 
셀레니움은 셀레니움 IDE를 배우지 않아도 테스트를 작성하기 위해 녹화와 재생 기능을 제공한다. 
유명한 브라우저 공급자들이 브라우저에 셀레니움을 탑재하여 릴리즈하도록 공급하고 있다. 
일반적으로 셀레니움은 대부분의 다른 소프트웨어 테스팅 툴의 확실한 기반이 된다.
https://www.seleniumhq.org/


----
2. TestingWhiz
   테스팅 위즈는CMMi Level3 IT 솔루션 공급업체인 Cygnet Infotech의해 개발된 코드없이 스크립팅하는 테스트 자동화 툴이다. 
테스팅위즈 기업용 버전은 웹 테스팅, 소프트웨어 테스팅, 데이터베이스 테스팅, API테스팅, 모바일 앱 테스팅, 회기테스트 데이터 유지관리, 브라우저 호환성 테스팅 등 다양한 자동화 테스팅 솔루션 패키지를 제공한다.

테스팅 위즈 아래와 같은 기능을 제공한다.
• 키워드 주도, 데이터 주도 테스팅과 광범위한 테스팅
• 테스트 자동화 프레임워크를 녹화하고 재생한다
• 290개 이상의 내재된 테스팅 명령어와 내재된 자바스크립트
• Jira, Mantis, FogBugz와 같은 버그 트레킹 시스템과 통합
• HP Quality Center와 같은 테스트 관리 툴과 통합
• 위험 기반 테스팅
• 애자일 방법론에 지속적인 통합과 전달
http://www.testing-whiz.com/


----
3. HPE Unified Functional Testing (HP – UFT formerly QTP)
   HP QuickTest Professional이 HPE Unified Functional Testing으로 변경되었다. 
HPE UFT 소프트웨어 어플리케이션의 기능과 회기 테스팅을 위한 테스팅 자동화를 제공한다. 
비쥬얼베이직 스크립팅 에디션 사용 언어가 이 툴에서 테스트 프로세스를 등록, 어플리케이션 테스팅 관리, 다양한 객체 실행을 위해 사용된다.

QTP는 아래와 같은 기능을 제공한다.
• Mercury Business Process Testing과 Mercury Quality Center를 통합
• 독보적이고 현명한 객체 인식
• 오류 처리 방법
• 객체, 체크포인트, 데이터 주도 테이블을 위한 매개 변수 도출
• 문서 자동화
http://www.learnqtp.com/


----
4. TestComplete
   테스트 컴플리트는 데스크탑, 웹, 모바일 어플리케이션 테스팅을 자동화하기 위한 다양한 솔루션을 제공하는 기능 테스팅 플랫폼이다.

테스트 컴플리트는 아래와 같은 기능을 제공한다.
• GUI 테스팅
• 스크립팅 언어 지원 - JavaScript, Python, VBScript, JScript, DelphiScript, C++Script & C#Script
• 테스트 진행 표시
• 테스트 작성
https://smartbear.com/product/testcomplete/overview/


----
5. Ranorex
   Ranorex 스튜디오는 데스크탑, 웹, 모바일 어플리케이션 테스팅을 자동화하기 위한 다양한 솔루션을 제공하는 기능 테스팅 플랫폼이다.

레노렉스는 아래와 같은 기능을 제공한다.
• GUI 인식
• 테스트 코드 재사용성
• 버그 검출
• 다양한 툴과 결합
• 녹화와 재생
http://www.ranorex.com/" 


----
6. Sahi
   Sahi 는 웹 어플리케이션 테스팅을 자동화하기 위한 테스팅 툴이다. 
오픈 소스 Sahi는 Java와 Java스크립트 프로그래밍 언어를 사용한다.

Sahi 아래와 같은 기능을 제공한다.
• 멀티 브라우징 테스팅을 수행한다.
• ExtJS, ZK, Dojo, yui등의 프레임워크를 서포트한다.
• 브라우저 테스팅에 대해 녹화하고 다시 재생한다.
http://sahipro.com/


----
7. Watir
   Watir은 웹 어플리케이션 자동화를 위한 Ruby 라이브러리로 만들어진 오픈소스 테스팅 툴이다. 
워터로 발음 된다.

Watir는 아래 기능을 제공한다.
• 모든 언어 기반의 웹 어플리케이션을 테스트 한다.
• 브라우저 호환성 테스팅
• RSpec, Cucumber, Test/Unit과 같은 비지니스 주도 개발 툴과 비교 분석
• 웹 페이지의 버튼, 폼, 링크, 컨트롤 반응을 테스트
https://watir.com/


----
8. Tosca Testsuite
   Tricentis사의 Tosca Testsuite는 소프트웨어 테스팅을 자동화하기 위해 모델 기반 테스트를 사용한다.

Tosca Testsuite는 아래와 같은 능력을 포함한다.
• 테스트 케이스 계획 및 설계
• 테스트 데이터 공급
• 가상 현실 네트워크 제공
• 모바일 어플 테스트
• 통합 관리
• 리스크 커버리지
http://www.tricentis.com/tricentis-tosca-testsuite/


----
9. Telerik TestStudio
   Telerik TestStudio는 UI, 로드, 성능 테스트를 포함한 데스크탑, 웹, 모바일 어플리케이션을 자동화하기 위한 솔루션을 제공한다.

Telerik TestStudio 아래와 같은 기능을 제공한다.
• HTML, AJAX, ASP.NET, JavaScript, Silverlight, WPF,  MVC 와 같은 프로그래밍 언어를 제공
• Visual Basic Studio 2010과 2012를 통합
• 녹화와 재생
• 크로스 브라우저 테스팅
• 수동 테스팅
• 버그 트레킹 툴을 통합
http://www.telerik.com/teststudio


----
10. WatiN
     WatiN은 Watir의 영향을 받은 오픈 소스, C#으로 개발된 웹 어플리케이션 테스팅 툴이다. 
WatiN은 닷넷 프로그래밍 언어를 위한 웹 어플리케이션 테스팅을 지원한다. 
Apache2.0.아래로 자격이 부여되었다.

WatiN는 아래와 같은 특성으로 구성된다.
• HTML과 AJAX웹 사이트 테스팅을 지원한다.
• 유닛 테스팅툴과 통합
• IE와 Firefox에 대한 브라우저 테스팅 자동화
• 웹 페이지 스크린샷을 도출
http://watin.org/


위에서 소개한 테스트 도구들은 소프트웨어 분야의 많은 기업들이 이미 사용하고 있거나 도입을 계획하고 있다. 
자동화 툴을 적용할 때에는 개발 환경과 비즈니스 모델을 고려하여 적용해야 한다. 
반면에 자동화 툴을 적용할 수 있는 범위의 한계로 비판적인 시선도 적지 않은 것이 사실이다. 
무엇인지도 모르고 섣불리 적용했다가 인력과 시간만 낭비하고 실패하는 사례를 종종 접하는데 이런 경험자들의 반응은 상당히 비판적이다. 
이 경우에는 자동화 툴을 적용하려 했던 프로젝트의 개발 주기를 충분히 고려했는지 그리고 자동화 대상을 정하는 기준이 무엇이 었었는지에 대해서 잘 생각을 해봐야 할 것이다. 
지속적인 연구로 툴의 유연성이 높아지고 적용할 수 있는 범위가 넓어지고 있는 소프트웨어 산업에서 테스트가 자동화되고 있는 트렌드는 긍정적으로 받아들여야 하는 변화라고 생각한다.

출처: https://koonhous.blogspot.com/2017/07/automation-tool-top10.html

수텐리

2018.08.19 19:13:39
*.131.141.125

----
WebDriver

WebDriver는 최근에 각광받고 있는 프레임웍이다. 
Selenium과 같이 ThoughtWorks에서 처음 개발하였으며, 현재 Goolgle로 이직한 제임스 스튜어트가 개발을 계속하고 있다. 

일단 WebDriver는 Selenium과는 달리 브라우저를 직접 제어한다.  따라서 다른 브라우저 콘트롤 테스팅 도구가 JSSH나 mshtml 등을 통해 간접적으로 브라우저와 통신하는 것에 비해, 직접 브라우저를 컨트롤 함으로써 빠르게 동작한다. 

실제 WebDriver에서 IE 를 테스트할 경우 뒤에서 설명할 WatiN 보다는 2~3배 정보 빠른 속도를 보여주고 있다.
 (이것이 Finder 로 특정 Element를 가져올 때, Element Attribute를 fetching 해오지 않아서 그런 건지는 확인하지 못했다.). 
또한 Selenium에서 발생하는 문제인 Same Origin Policy 문제에 자유롭다. 

현재 IE, Chrome, FireFox 등 다양한 웹 브라우저를 지원하고 있으며, 주목할 부분은 HtmlUnit 지원이다. 
HtmlUnit은 일종의 브라우저 Emulator로써 렌더링이 관여되는 다른 브라우저와 비교하여 속도가 약 3~100배 정도 빠르다고 알려져 있다. 그러나 HtmlUnit은 JavaScript 지원이 그닥 잘 되는 편이 아니기 때문에 (어떤 웹 페이지도 HtmlUnit 지원을 염두에 두고 JavaScript를 짜지 않으므로) 간단한 기능성 회기 테스트할 때 쓰면 좋은 정도로 생각하면 된다.  

WebDriver는 브라우저 호환성이 Selenium만큼 좋진 않다. 
물론 여러 브라우저를 지원하긴 하지만, 한 브라우저에서 작동하는 스크립트가 다른 브라우저에서 작동하지 않는 경우가 꽤 많다. 또한 XPath도 잘 작동하지 않는다. 

아직 0.9 버젼대라서 그런지 모르겠는데, 꽤 오랜기간 동안 성숙해 온 Selenium 에 비해 아직 좀 더 진보가 필요하다. 

WebDriver는 JavaScript 창 제어를 지원하지 않는다. 
또한 Alert 이나 Confirm 같은 브라우저 Native 자원을 활용하는 Dialog 처리는 웹 테스팅 도구의 난제 중 하나이다. 

Selenium 에서는 window.alert() 함수와 같이 자바 스크립트 다이얼로그 박스를 띄우는 함수를 Overriding 함으로써 JavaScript 창을 띄우지 않고 메시지 검증 OK / Cancel 등을 지원한다. 
WebDriver는 아직은 지원하지 않고, 브라우저 JavaScript 윈도를 직접 제어하는 것도 지원하지 않는다. 

WebDriver QnA를 보면 향후 개발할 예정이라, 이런 요구사항이 반영되려면 시간이 좀 걸릴 것 같다. 
그러나 이런 RunScript 메소드를 사용하여 해당 함수들을 직접 Overriding 하면 처리가능하긴 하다. 
WebDriver는 여러 브라우저 인스턴스를 동시에 Hold 하고 있는 것도 지원하지 않는다. 
현재 Active한 브라우저를 Switching 해 가면서 브라우저 컨트롤하는데, 객체 지향형 인터페이스를 채용하고 있으면서도, 그럼에도 불구하고 WebDriver가 각광받는 이유는, 내 생각에는 Java에서 거의 유일한 브라우저 직접 컨트롤 방식의 테스팅 도구이면서도, Side Menu로 제공하고 있는 PageFactory 때문인 것으로 생각된다. 
WebDriver는 그 자신이 주창하는 개발자 중심의 Test Driver 라는 모토와 걸맡을 정도로 개발자가 테스팅 할 때 개발자 관점에서 편리한 기능을 제공하는 데, 그 중 하나가 자바 객체와 Web Page를 바인딩 하는 PageFactory 라는 기능이다. 이에 대해서는 다음을 참고하라.

출처: http://junoyoon.tistory.com/52 [손으로 만드는 오픈소스]
List of Articles
번호 제목 글쓴이 날짜 조회 수
199 추억의 Windows 95를 설치할 수 있는 방법 file 수텐리 2018-09-04 13
198 DVDfab passkey 수텐리 2018-08-26 18
197 GA 코드 관련 수텐리 2018-08-24 19
196 마인드맵 - XMind [1] 수텐리 2018-08-21 23
» QA 테스트 자동화 툴의 개념과 대표적인 도구 10가지 소개 [1] 수텐리 2018-08-19 78
194 판매재고관리 프로그램 [1] 수텐리 2018-08-17 155
193 PM의 생산성을 '업'시켜줄 프로젝트 관리 툴 15선 WindBoy 2018-08-14 84
192 Find in file for windows 수텐리 2018-07-27 9
191 Internet 연결 시 IP 주소를 확인 WindBoy 2018-07-19 19
190 MS SQL에서 Table Description 추출하는 쿼리 수텐리 2018-07-10 79
189 Spring에서 JSON에 XSS 방지 처리 하기 수텐리 2018-07-05 271
188 chart.js 활용하기 WindBoy 2018-06-18 51
187 [펌] postman 관련 WindBoy 2018-05-29 80
186 [블록체인플랫폼] ①이더리움, 블록체인 2.0 시대를 열다 [1] 수텐리 2018-05-23 20
185 Sublime Text를 사용 시 업데이트 안하는 방법 수텐리 2018-04-03 19
184 [Java] 자바 날짜, 시간 계산 예제 (1) 수텐리 2018-04-03 129
183 [Java] 자바 시간, 날짜 계산 (2) 수텐리 2018-04-03 68
182 온라인 무료 강좌 수텐리 2018-03-29 20
181 Linux Command - CPU 성능값 수텐리 2018-03-22 20
180 구글 차트 (썬구루님의 블로그) 수텐리 2018-03-22 32