Thứ Sáu, 6 tháng 4, 2018

Top 10 Framework và Library Testing cho Java Developer

Trong bài báo này, tôi sẽ san 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ư ắt các IDE chính, tỉ dụ: Eclipse, NetBeans và IntelliJ đều có tích hợp JUnit, có nghĩa là bạn có thể viết và chạy unit test ngay từ những IDE này

hầu 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ở nên khuynh hướng trong năm nay. Bạn có thể sử dụng JUnit cho cả unit và integration testing. Hơn nữa nó còn tương trợ các tính năng của Java 8. 

 

 

REST Assured

thí điểm và rà 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 dụng cụ sạch cho REST API integration tests.
Selenium

Selenium có nhẽ là dụng cụ 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 rà soát ưng ý ứng 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ư chú giải (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, thí dụ: PowerMock và JMock, nhưng cá nhân tôi thích Mockito vì các API đơn giản , tài liệu giải thích khôn cùng chi tiết và ráo trọi cũng như có rất nhiều tỉ dụ.

Mocking là một trong những kỹ thuật cần yếu của unit test đương đại vì nó cho phép bạn thẩm tra 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 áp 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ở nên 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 xứng với hồ 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 hữu dụng 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 sạch 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 dụng cụ khác là khả năng đặc tả của nó.

Cucumber phối hợp các specification và test documentation vào trong một tài liệu đồng nhất và luôn luôn được tự động cập nhật.

Spring Test

Spring MVC đi kèm với một test framework rất bổ í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 bổ ích nhất để viết automated test cho các Spring application. Nó tương 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 dụng cụ này, bạn có thể dễ dàng thẩm tra ứng 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 ứng dụng Java, bao gồm cả các ứng dụng web, và nó cũng là trở lực lớn nhất trong khi thực hiện 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 dụ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í điểm theo từ khóa có dùng cú pháp “tabular test data”. Bạn có thể dùng nó để test distributed, heterogeneous applications.

Nếu bạn quyết định tìm hiểu về framework ráo 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.

Không có nhận xét nào:

Đăng nhận xét