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 기반 애플리케이션의 자동화 테스트를 위해 선호하는 도구를 알려주십시오.
추천 도서