25 best java testing frameworks
자바 테스트 프레임 워크 및 도구 :
이 튜토리얼에서는 JAVA / J2EE 애플리케이션을위한 구성 요소 별 자동화 된 테스트 도구의 개요를 볼 수 있습니다.
대부분의 인기있는 Java 도구는 오픈 소스이며 주로 JUnit에서 파생됩니다. 도구는보기, 비즈니스 논리 및 유효성 검사 구성 요소에 따라 다릅니다.
이것은 JAVA / J2EE 테스트 기사 시리즈의 세 번째이자 마지막 기사입니다.
여기에서 처음 두 기사를 확인하십시오.
1 부 : Java 애플리케이션을 테스트하는 방법 과
2 부: JAVA 애플리케이션의 자동화 테스트 시작하기.
학습 내용 :
최고의 Java 자동 테스트 도구 목록
여기 있습니다.
JavaScript / JQuery / AngularJS (뷰 구성 요소에 대한 유효성 검사)
JavaScript / JQuery는 일반적으로 JSP 또는 JSF와 같은보기 구성 요소의 유효성 검사에 사용됩니다.
다음은 JavaScript 테스트를위한 몇 가지 중요한 도구입니다.
# 1) JSUnit
JSUnit 오픈 소스입니다 단위 테스트 JavaScript 용 프레임 워크. JUnit에 익숙하다면 JSUnit을 배우는 데 어려움이 없을 것입니다. JavaScript 테스트를위한 JUnit의 확장입니다. 그러나 JSUnit은 더 이상 지원되지 않습니다. 이 프레임 워크의 개발자는 Jasmine 프레임 워크의 개발로 전환했습니다.
자세한 내용은 이 페이지를 확인 .
# 2) 재스민
재스민 속 오픈 소스입니다 단위 테스트 JavaScript 용 프레임 워크. RSpec, JSpec, JSSpect 및 Screwunit과 같은 다른 단위 테스트 프레임 워크를 기반으로합니다. Jasmine은 JavaScript 용 BDD (Behaviour Driven Development)이며 AngularJS 애플리케이션을 테스트하는 데 널리 사용됩니다.
Jasmine에는 두 개의 블록이 있습니다. 설명 블록 및‘ 그것 블록'. 유사한 기능을 가진 테스트 케이스는 설명 블록 및‘ 그것 block '에는 개별 테스트 케이스가 포함되어 있습니다. 자세한 내용은 이 페이지를 참조하십시오 .
Jasmine을 통한 테스트는 매우 간단 할 수 있습니다. 테스트 케이스는 영어와 비슷하기 때문입니다.
다음은 샘플입니다.:
자바 스크립트 기능 :
function sayHi() { return 'Hi!'; }
Jasmine 테스트 케이스는 다음과 같습니다.
describe('Say Hi', function() { it('return hi', function() { expect(sayHi ()).toEqual('Hi!'); }); });
# 3) 카르마
업 본질적으로 단위 테스트 도구 Angular JS 애플리케이션 (Angular JS는 자바 스크립트 프레임 워크이며 Google에서 관리합니다). Karma는 Google의 Angular JS 팀에서도 관리합니다. Karma는 구성 파일에서 테스트 케이스를 실행합니다. karms.conf.js 명령 프롬프트를 통해 사용자에게 결과를 표시합니다.
자세한 내용은 이 페이지를 참조하십시오 .
# 4) Qunit
쿠니 이다 JQuery 단위 테스트 JQuery 팀에서 개발 한 프레임 워크입니다. 그러나 QUnit을 사용하여 일반 JavaScript 코드를 테스트 할 수도 있습니다. Qunit의 이해는 매우 간단하며, 결과는 이해하기 쉽고 해석하기 쉬운 화면에 표시됩니다. 자세한 내용은 여기에서 확인 .
FireUnit, RhinoUnit, TestSwarm, BrowserSwarm, Mocha, Chai 및 Sinon과 같은 JavaScript 용 다른 단위 테스트 도구가 여러 개 있습니다.
JSP (JAVA 서버 페이지 –보기 구성 요소)
실행되면 JSP는 Servlet으로 변환됩니다. 서블릿은 Java 클래스입니다. JUnit을 사용하여 JSP를 테스트 할 수 있는지 궁금 할 것입니다. 디자인 관점에서 프레임 워크를 사용하면 JSP에는 현재 Java 코드가 많이 포함되어 있지 않습니다.
따라서 단위 테스트도 수행 할 수 있지만 기능 또는 통합 테스트에서 JSP를 다루는 것이 좋습니다. JSP는 Servlet 컨테이너와 밀접하게 결합되어 있으며 테스터는 별도로 테스트 할 경우 요청과 응답을 생성해야합니다. TagUnit을 사용하여 JSP 페이지 내에서 taglib를 테스트 할 수 있습니다. JSP를 테스트하기위한 기타 프레임 워크는 다음과 같습니다.
# 5) TagUnit
JSP 태그는 재사용 가능한 구성 요소를 분리하기 위해 JSP에서 많은 작업을 제거하는 데 도움이되는 내장 또는 사용자 정의 태그 요소입니다. 태그의 기능은 Java 클래스로 작성되며 JSP 내에서 다른 태그로 사용할 수 있습니다.
독립형 클래스가 아니기 때문에 JUnit의 도움으로 직접 테스트 할 수 없습니다. 즉, JSP가 Servlet으로 변환 될 때만 태그 클래스가 호출됩니다. 자세한 내용은 여기에서 확인 .
다음은 샘플 내장 코드 태그입니다.
TagUnit은 결과를 표시하는 화면입니다. 먼저 태그에 관련 핸들러 및 getter setter 메서드가 있는지 확인합니다. 다음은 샘플 TagUnit 테스트 사례입니다.
1234
# 6) Tagit JavaScript, JQuery 및 JSP Custom 태그를 테스트하는 또 다른 유용한 도구입니다.
자세한 내용은 여기에서 확인 .
# 7) 선인장 Jakarta 프로젝트의 Servlet, EJB 및 JSP 태그를 테스트하기위한 또 다른 단위 테스트 프레임 워크였습니다. 폐기되었으며 더 이상 지원되지 않습니다.
# 8) 셀레늄 웹 드라이버 웹 애플리케이션을위한 오픈 소스 테스트 도구입니다. WebDriver는 웹에서의 사용자 작업을 시뮬레이션하며 Mozilla Firefox, Internet Explorer, Safari, Chrome 등과 같은 다양한 브라우저에서 사용할 수 있습니다. 여기에서 확인 공식 사이트에 대한 링크.
또한 읽으십시오 => WebDriver에 대한 자세한 내용은 이 링크의 기사를 참조하십시오 .
# 9) JSPUnit 단위 테스트 JSP 용 JUnit의 확장입니다.
자세한 내용은 여기에서 확인 .
# 10) HTMLUnit 오픈 소스 라이브러리이자 헤드리스 브라우저입니다. HTMLUnit은 브라우저 동작을 에뮬레이트하므로 통합 테스트에 광범위하게 사용됩니다. JSP는 웹 컨테이너 내부에서 실행되도록 설계되었으며 웹 서버가 실행될 때 Servlet으로 변환되지만 컨테이너 없이도 HTMLUnit을 사용하여 View 부분을 테스트 할 수 있습니다.
테스트를 위해 JSP는 먼저 Jasper의 도움을 받아 수동으로 Servlet 클래스로 변환됩니다. 컨테이너가 실행되지 않으면 요청 및 응답 동작을 시뮬레이션해야합니다. 이것은 JSPWriter, PageContext, HTTPServletRequest 및 HTTPServletResponse의 Mock 객체를 생성함으로써 수행됩니다. 자세한 내용은 여기에서 확인 .
JSF (JAVA Server Faces – View 구성 요소)
JSF는 UI (사용자 인터페이스) 개발을위한 웹 기반 프레임 워크입니다. 재사용 가능한 표준 구성 요소 집합에서 UI를 쉽게 만들 수 있습니다. Struts와 마찬가지로 JSF는 Servlet, XML, Bean 및 JSF 태그를 포함하는 MVC 기반 프레임 워크이기도합니다.
추천 읽기 = >> JSF 인터뷰 질문 및 답변
# 11) JSFUnit JBoss 커뮤니티에서 제공하는 것은 단위 및 통합 테스트를위한 강력한 도구입니다. 보기 구성 요소와 서버 측 구성 요소를 모두 테스트하는 데 도움이됩니다. 사용자 화면 탐색을 테스트하는 것 외에도 JSFUnit을 사용하여 프레임 워크에 대한 Bean 및 Servlet 구성 요소를 테스트 할 수도 있습니다.
자세한 내용은 여기에서 확인 .
# 12) HTMLUnit 위에서 볼 수 있듯이보기 부분이 JSF 프레임 워크로 개발되는 애플리케이션의 통합 테스트에도 광범위하게 사용됩니다. 자세한 내용은 여기에서 확인 .
JUnit을 사용하여 JSF 프레임 워크의 Java 클래스를 테스트 할 수도 있습니다. 다음과 같은 도구 FacesTester JSF 기반 애플리케이션의 컨테이너 외부 단위 테스트에 사용할 수 있습니다. Java Server Faces 구현을 유지하는 Apache Myfaces는 JSF를위한 테스트 프레임 워크도 제공합니다.
XML (Extensible Markup Language)
# 13) XMLUnit JUnit의 확장으로, XML 구조의 유효성 검사와 실제 XML과 예상 XML 간의 내용 비교를 수행합니다. 자세한 내용은 여기에서 확인 .
서블릿, 빈 및 JAVA 클래스
(컨트롤러 및 비즈니스 로직 용 JAVA 클래스)
# 14) 서블릿 웹 또는 애플리케이션 서버에서 실행되고보기 (JSP / JSF) 구성 요소의 요청 및 응답을 처리하는 데 사용되는 Java 클래스입니다. Bean은 여러 Java 객체를 하나로 캡슐화하는 Java 클래스이며 Bean은 다른 클래스 또는 구성 요소로 전달됩니다.
애플리케이션에서 사용되는 몇 가지 다른 Java 클래스가 있습니다. 일부는 데이터베이스에 연결되고 다른 일부는 비즈니스 로직을 포함 할 수 있습니다.
# 15) JUnit Java 클래스 단위 테스트에 가장 많이 사용되는 프레임 워크 중 하나입니다.
JUnit에 대한 자세한 내용은 여기에 우리 기사 .
# 16) 아르 킬리안 Java 미들웨어의 통합 및 기능 테스트를위한 매우 강력한 도구입니다. 빌드 도구 Maven과 JUnit 및 TestNG와 같은 단위 테스트 프레임 워크에서 가장 자주 사용됩니다. 테스터가 모의 객체를 만들지 못하게합니다. Arquillian은 JSF, EJB, Servlet 및 기타 Java 클래스를 테스트하는 데 사용할 수 있습니다.
자세한 내용은 여기에서 확인 .
# 17) ServletUnit 요청 및 응답 개체를 생성하여 서블릿을 테스트하기위한 프레임 워크입니다. Servlet에 간단한 코드 만 포함되어 있으면 JUnit으로 단위 테스트를 수행 할 수 있습니다. 복잡한 애플리케이션의 경우 시뮬레이션 된 Servlet 컨테이너에서 테스트를 수행해야하는 경우 ServletUnit을 사용할 수 있습니다.
자세한 내용은 여기에서 확인 .
# 18) 모의 객체 주로 단위 테스트에 사용됩니다. 응용 프로그램에서 개체 간의 상호 작용을 테스트하는 데 도움이됩니다. 테스트하려는 응용 프로그램에 개체가 있고 해당 개체가 다른 개체에 의존하는 경우 실제 개체를 실행하고 만드는 대신 종속성을 모의 할 수 있습니다.
이를 통해 각 개체를 세부적으로 격리하여 테스트 할 수 있습니다. 인기있는 모의 프레임 워크에는 Mockito, JMock, JMockit, EasyMock 및 PowerMock이 있습니다.
EJB (Enterprise JAVA Bean)
EJB는 일반적으로 Business Logic을 포함하는 응용 프로그램의 Java 구성 요소입니다. EJB 기반 프로젝트의 경우 JUnit이 여전히 널리 사용되지만 JUnitEE를 사용할 수 있습니다.
# 19) JUnitEE 프로젝트와 동일한 애플리케이션 서버에서 직접 실행되는 JUnit의 확장입니다. JUnitEE는 일반 JUnit 테스트 케이스를 호출하는 세 개의 서블릿을 제공합니다.
그네
Swing은 풍부한 그래픽 사용자 인터페이스를 생성하기위한 Java의 라이브러리 세트입니다. UISpec4J, Abbot, Fest 및 QF-Test Swing 기반 애플리케이션에 사용할 수있는 가장 널리 사용되는 단위 테스트 프레임 워크 중 일부입니다.
추천 자료 = >> 자바 스윙 튜토리얼
자바 기능 테스트 도구
# 20) HTTPUnit JUnit에 기반한 기능 테스트 프레임 워크이지만 단위 테스트에 사용할 수 있습니다. 양식 제출, 페이지 리디렉션, JS 유효성 검사 및 쿠키 관리와 같은 브라우저 동작을 에뮬레이트합니다. HTTPUnit은 브라우저의 GET 및 POST 요청을 시뮬레이션합니다.
자세한 내용은 여기에서 확인 .
# 21) JWebUnit 기능, 회귀 및 통합 테스트에 선호되는 Java 기반 프레임 워크입니다. Selenium 및 HTMLUnit과 같은 기존 프레임 워크를 래핑하여 테스트 케이스 작성을위한 간단한 인터페이스를 제공합니다. JWebUnit을 사용하여 화면 탐색 테스트를 수행 할 수 있습니다.
자세한 내용은 여기에서 확인 .
# 22) TestNG 단위, 통합 및 기능 테스트를위한 강력한 Java 기반 테스트 프레임 워크입니다. JUnit을 기반으로합니다. TestNG는 강력한 도구이자 JUnit의 강력한 경쟁자입니다.
자세한 내용은 여기에서 확인 .
# 23) 셀레늄 웹 드라이버 위에서 볼 수 있듯이 또 다른 인기있는 기능 및 통합 테스트 도구입니다.
# 24) WATIR (Ruby의 웹 애플리케이션 테스트) Ruby로 개발 된 강력한 웹 애플리케이션 테스트 도구입니다. 브라우저 테스트를 수행하는 기능이 Ruby로 작성되었으므로 테스터가 Ruby 언어에 대한 지식이 있어야합니다.
가장 중요한 두 가지 프로젝트는 Watir-classic과 Water-Webdriver입니다. Watir-classic은 브라우저만을 시뮬레이션하는 다른 도구와 달리 웹 브라우저를 자동으로 구동 할 수 있습니다. Watir 웹 드라이버는 Selenium Webdriver에서 파생 된 래퍼입니다.
자세한 내용은 여기에서 확인 .
# 25) TimeShiftX 기능적 시간 이동 테스트를 위해 애플리케이션을 미래 또는 과거로 시간 여행 할 수있는 테스트 자동화 소프트웨어입니다. Java 코드 수정, 서버 조작 또는 도메인 변경없이 즉각적인 시간 이동이 가능합니다.
맞춤형 Java 애플리케이션 또는 3 가지를 안전하게 시간 여행rdWebSphere 또는 JBoss와 같은 파티 자바 기반 소프트웨어.
자세한 내용은 여기에서 확인 .
JAVA 성능 및 부하 테스트 도구
# 26) Apache JMeter 로드 및 성능 테스트를위한 오픈 소스 도구입니다. 웹 사이트의 성능을 테스트해야하는 경우 JMeter는 여러 요청을 보내고 모든 응답을 수집 한 다음 통계 계산을 수행하여 최종 결과를 그래픽 다이어그램에 표시합니다. 자세한 내용은 여기에서 확인 .
다음과 같은 다른 좋은 도구가 있습니다. HP LoadRunner , XXXV , NetBeans 프로필 , GC 뷰어 , 패티 오픈 소스 프로젝트 등 및 이 페이지에 나열된 도구 JAVA 기반 웹 애플리케이션에 사용할 수 있습니다.
야후! 메일 최고의 이메일 서비스
결론
이 기사에서는 사용 가능한 가장 인기있는 J2EE 구성 요소 별 테스트 도구를 검토했습니다. J2EE 응용 프로그램을 테스트 할 때 이러한 도구는 응용 프로그램과 관련된 구성 요소를 기반으로 서로 함께 사용할 수 있습니다.
JAVA 기반 애플리케이션의 자동화 테스트를 위해 선호하는 도구를 알려주십시오.
추천 도서