Friday, April 6, 2018

Top 10 Framework và Library Testing cho Java Developer

Trong bài báo này, tôi sẽ chia sẻ 10 tool, framework, và library hữa ích có thể giúp các nhà phát triển Java viết unit tests và tích hợp chúng vào các dự án Java khác nhau. 

JUnit

Tôi không nghĩ rằng không cần thêm bất kỳ lời giới thiệu nào về JUnit. Ngay cả khi bạn mới học về Java thì hẳn cũng đã từng nghe về nó. JUnit cho phép bạn viết các unit test cho code của bạn.

Hầu như bít tất các IDE chính, ví dụ: Eclipse, NetBeans và IntelliJ đều có tích hợp JUnit, có tức là bạn có thể viết và chạy unit test ngay từ những IDE này

hồ hết chúng ta vẫn đang dùng JUnit 4, nhưng JUnit 5 đã được phát hành và có nhẽ nó sẽ trở thành xu hướng trong năm nay. Bạn có thể dùng JUnit cho cả unit và integration testing. Hơn nữa nó còn hỗ trợ các tính năng của Java 8. 

 

 

REST Assured

thí nghiệm và thẩm tra các dịch vụ REST trong Java sẽ khó hơn so với các tiếng nói năng động như Groovy.

 

 

REST Assured giúp mang lại sự đơn giản trong việc sử dụng những ngôn ngữ này vào Java. Có thể nói nó là một công cụ sạch cho REST API integration tests.
Selenium

Selenium có nhẽ là phương tiện phổ thông nhất cho Java UI testing, cho phép bạn test các trang JSP mà không cần chạy chúng trong trình duyệt.

Bạn có thể test web application UI bằng JUnit và Selenium. Nó thậm chí còn cho phép bạn viết các bài soát ưng áp dụng web (web application acceptance tests).

TestNG

TestNG là một testing framework lấy cảm hứng từ JUnit và NUnit nhưng giới thiệu nhiều chức năng mới làm cho nó mạnh mẽ và dễ dùng hơn, chả hạn như ghi chú (annotations).

dị biệt giữa JUnit và TestNG đã giảm nhiều so với trước đây nhờ vào các chú giải từ JUnit 4 và tích hợp của Hamcrest matchers.

Mockito

Có nhiều mock frameworks cho Java class, ví dụ: PowerMock và JMock, nhưng cá nhân chủ nghĩa tôi thích Mockito vì các API đơn giản , tài liệu giảng giải khôn xiết chi tiết và nhẵn cũng như có rất nhiều tỉ dụ.

Mocking là một trong những kỹ thuật thiết yếu của unit test hiện đại vì nó cho phép bạn soát code một cách độc lập mà không có bất kỳ sự phụ thuộc nào và đó là lý do vì sao tôi khuyến khích mọi nhà phát triển Java tìm hiểu mock framework cùng với JUnit.


Spock Framework

Spock là một testing framework khác cho các ứng dụng Java và Groovy. Nó được viết bằng Groovy, do đó mà nó còn là một tiếng nói đặc tả rất ấn tượng và trổi.

Khi bạn dùng Spock, test của bạn sẽ trở thành dễ đọc hơn cũng như bảo trì tiện hơn rất nhiều nhờ vào runner JUnit của nó, Spock tương hợp với Hầu hết các IDE, tools và các máy chủ tích hợp liên tiếp.

Thật không may, tôi đã không tìm thấy một khóa học có ích về Spock nhưng bạn có thể bắt đầu với quyển Java Testing with Spock.

Cucumber

Cucumber là một phương tiện tót vời khác cho các bài rà tích hợp tự động, nhưng điều làm cho nó khác với các phương tiện khác là khả năng đặc tả của nó.

Cucumber kết hợp các specification và test documentation vào trong một tài liệu đồng nhất và xoành xoạch được tự động cập nhật.

Spring Test

Spring MVC đi kèm với một test framework rất có ích cho phép thực hành các bài rà chuyên sâu mà không cần phải có một web container.

Đây là một trong những thư viện hữu dụng nhất để viết automated test cho các Spring application. Nó hỗ trợ cho việc viết các bài unit và integration test cho các ứng dụng chạy bằng Spring, bao gồm các MVC controller.

ngoài ra còn có Spring Test DbUnit được tích hợp Spring Test framework với DbUnit và Spring Test MVC HtmlUnit, vốn được tích hợp Spring Test MVC framework với HtmlUnit.

Bằng cách dùng các công cụ này, bạn có thể dễ dàng kiểm tra vận dụng Spring MVC một cách tự động.

DBUnit

Cơ sở dữ liệu là một phần không tách rời của nhiều vận dụng Java, bao gồm cả các vận dụng web, và nó cũng là chướng ngại lớn nhất trong khi thực hành unit testing.

DbUnit, là một phần mở mang của JUnit, có thể được dùng để khởi tạo cơ sở dữ liệu vào một dạng đã biết trước mỗi lần integration test để bảo đảm database chứa đúng loại data.

Tuy DbUnit cũng có các vấn đề riêng nhưng nó vẫn là một công cụ rất bổ ích nhờ vào khả năng phân cách các test data khỏi những code đã được test.

Robot Framework

Robot Framework là một test automation framework dựa trên Python để acceptance testing.

Nó là một Framework thử nghiệm theo từ khóa có dùng cú pháp “tabular test data”. Bạn có thể sử dụng nó để test distributed, heterogeneous applications.

Nếu bạn quyết định tìm hiểu về framework tiệt này, thì Robot Framework Test Automationcủa Udemy là một khóa học tuyệt để bắt đầu.

Đây là một khóa học gồm hai phần gồm các tính năng căn bản và nâng cao của Robot Framework.

0 comments:

Post a Comment