Bạn không cần giấy phép trả phí để kiểm thử API đúng cách. Một công cụ trên trình duyệt miễn phí hoặc ứng dụng máy tính để bàn không tốn phí có thể gửi yêu cầu, kiểm tra mã trạng thái, xác nhận nội dung phản hồi và chạy một bộ kiểm thử hồi quy nhỏ trước khi bạn triển khai. Phần khó không phải là tìm kiếm một công cụ, mà là tìm một công cụ không âm thầm giới hạn các tính năng bạn thực sự cần khi công việc của bạn trở nên nghiêm túc.
Bài tổng hợp này bao gồm các công cụ kiểm thử API trực tuyến miễn phí hoạt động tốt trong thực tế. Mỗi mục sẽ cho biết gói miễn phí thực sự cung cấp cho bạn những gì và các giới hạn nằm ở đâu, để bạn có thể lựa chọn mà không gặp phải tường phí bất ngờ sau này. Mục tiêu là một công cụ bạn có thể tiếp tục sử dụng khi bề mặt API của bạn phát triển, chứ không phải một công cụ bạn sẽ vượt quá khả năng trong một tháng.
"Miễn phí trực tuyến" thực sự có nghĩa là gì
"Trực tuyến" được sử dụng một cách lỏng lẻo. Một số công cụ chạy hoàn toàn trong một tab trình duyệt mà không cần cài đặt. Những công cụ khác là ứng dụng máy tính để bàn miễn phí đồng bộ hóa qua web. Một nhóm thứ ba là mã nguồn mở, có nghĩa là miễn phí vĩnh viễn nhưng bạn phải tự lưu trữ hoặc chạy nó. Cả ba đều hợp lệ. Điểm khác biệt quan trọng là giới hạn của gói miễn phí.
Hãy chú ý ba giới hạn phổ biến. Đầu tiên là cộng tác: nhiều công cụ cho phép bạn kiểm thử một mình miễn phí nhưng tính phí cho mỗi người dùng ngay khi có đồng đội tham gia. Thứ hai là lịch sử chạy và giám sát, nơi các gói miễn phí chỉ lưu giữ kết quả trong vài ngày. Thứ ba là khối lượng tự động hóa, nơi các lần chạy theo lịch trình hoặc kích hoạt bởi CI bị tính phí (theo mức sử dụng). Không có giới hạn nào trong số này là yếu tố không thể chấp nhận được, nhưng bạn nên biết mình sẽ gặp phải giới hạn nào. Nếu bạn muốn định nghĩa sâu hơn về những gì kiểm thử nên bao gồm, sự khác biệt giữa một kịch bản kiểm thử và một trường hợp kiểm thử là một điểm khởi đầu tốt.
Các công cụ đáng để bạn bỏ thời gian
Apidog
Apidog là một nền tảng API tất cả trong một kết hợp thiết kế, gỡ lỗi, kiểm thử tự động, giả lập và tài liệu. Gói miễn phí hỗ trợ REST, GraphQL, SOAP và WebSocket, cho phép bạn xây dựng kịch bản kiểm thử với các yêu cầu nối tiếp và chạy chúng mà không cần thẻ tín dụng. Các xác nhận trực quan và một máy chủ giả lập tích hợp sẵn có nghĩa là bạn có thể kiểm thử với một endpoint chưa tồn tại. Nó chạy dưới dạng ứng dụng máy tính để bàn trên Windows, macOS và Linux, với tính năng đồng bộ hóa đám mây. Đối với các đội nhóm muốn có một nơi duy nhất để thiết kế và kiểm thử, nó loại bỏ việc phải ghép nối các công cụ thông thường. Tải Apidog để bắt đầu với gói miễn phí.
Hoppscotch
Hoppscotch hoàn toàn dựa trên trình duyệt và mã nguồn mở. Không cần cài đặt. Nó xử lý REST, GraphQL và WebSocket, hỗ trợ môi trường và bộ sưu tập, và rất nhanh. Phiên bản được host miễn phí rất hào phóng cho công việc cá nhân. Điểm đánh đổi là tính năng cộng tác nâng cao và lịch sử nằm sau gói trả phí cho đội nhóm, và tự động hóa phức tạp nhẹ hơn so với các công cụ kiểm thử chuyên dụng.
Postman (gói miễn phí)
Postman là lựa chọn mặc định mà nhiều nhà phát triển tìm đến. Gói miễn phí bao gồm các yêu cầu thủ công, bộ sưu tập, môi trường và một số lượng giới hạn các lần chạy tự động hàng tháng. Nó được tài liệu hóa tốt và được hiểu rộng rãi. Các giới hạn là số lượng người dùng cộng tác và khối lượng cuộc gọi. Nếu bạn đang đánh giá nó so với các đối thủ khác, hướng dẫn của chúng tôi về cách kiểm thử API với Postman sẽ hướng dẫn chi tiết quy trình làm việc.
Insomnia
Insomnia là một ứng dụng máy tính để bàn gọn gàng cho REST, GraphQL và gRPC. Gói miễn phí thoải mái cho việc kiểm thử cá nhân và các bộ kiểm thử script nhỏ. Nó có một giao diện tập trung, gọn gàng mà nhiều người ưa thích để gỡ lỗi. Xem hướng dẫn của chúng tôi về sử dụng Insomnia để kiểm thử API để biết các bước thực tế.
SoapUI (mã nguồn mở)
SoapUI là lựa chọn lâu đời để kiểm thử SOAP và vẫn xử lý REST. Phiên bản mã nguồn mở miễn phí và mạnh về kiểm thử chức năng và dựa trên dữ liệu. Nó là một ứng dụng máy tính để bàn Java nặng hơn, và các tính năng báo cáo mượt mà nhất nằm trong gói ReadyAPI trả phí. Đối với độ sâu của giao thức trên các dịch vụ cũ, nó xứng đáng có chỗ đứng.
Thunder Client
Thunder Client hoạt động bên trong VS Code dưới dạng một tiện ích mở rộng. Nếu trình soạn thảo của bạn đã mở, việc kiểm thử diễn ra trong cùng một cửa sổ mà không cần chuyển đổi ngữ cảnh. Gói miễn phí bao gồm các yêu cầu và bộ sưu tập cá nhân tốt. Kiểm thử không cần script rất dễ chịu, mặc dù tính năng đồng bộ hóa dựa trên Git và các tính năng đội nhóm là trả phí.
Bảng so sánh
| Công cụ | Loại | Giao thức | Điểm mạnh của gói miễn phí | Giới hạn chính |
|---|---|---|---|---|
| Apidog | Máy tính để bàn + đồng bộ hóa đám mây | REST, GraphQL, SOAP, WebSocket | Thiết kế, kiểm thử, giả lập, tài liệu đầy đủ | Đội nhóm lớn hơn cần tài khoản trả phí |
| Hoppscotch | Trình duyệt, mã nguồn mở | REST, GraphQL, WebSocket | Không cần cài đặt, nhanh chóng | Tự động hóa nhẹ hơn |
| Postman | Máy tính để bàn + đám mây | REST, GraphQL, gRPC | Quen thuộc, được tài liệu hóa tốt | Lần chạy có tính phí, tài khoản trả phí |
| Insomnia | Máy tính để bàn | REST, GraphQL, gRPC | UX gỡ lỗi sạch sẽ | Bộ tính năng kiểm thử nhỏ hơn |
| SoapUI | Máy tính để bàn, mã nguồn mở | SOAP, REST | Kiểm thử SOAP và dựa trên dữ liệu sâu | Ứng dụng nặng, báo cáo trả phí |
| Thunder Client | Tiện ích mở rộng VS Code | REST, GraphQL | Tiện lợi trong trình soạn thảo | Đồng bộ hóa và đội nhóm trả phí |
Cách chọn một công cụ
Bắt đầu với các giao thức bạn thực sự kiểm thử. Nếu bạn làm việc với REST và GraphQL, hầu hết các công cụ ở đây đều hoạt động. Nếu có SOAP, một công cụ kiểm thử API SOAP trực tuyến hoặc SoapUI sẽ tiết kiệm công sức đáng kể. Nếu bạn cần WebSocket, hãy thu hẹp lựa chọn xuống Apidog, Hoppscotch hoặc một ứng dụng WebSocket chuyên dụng.
Tiếp theo, quyết định giữa trình duyệt và máy tính để bàn. Các công cụ trình duyệt thắng thế khi bạn muốn không cần cài đặt hoặc làm việc trên nhiều máy. Ứng dụng máy tính để bàn thắng thế khi bạn cần truy cập mạng cục bộ, tải trọng lớn hơn hoặc làm việc ngoại tuyến. Sau đó, hãy nghĩ xa hơn một bước: một công cụ cũng thiết kế và giả lập API có nghĩa là bạn sẽ không phải thêm một sản phẩm thứ hai sau này. Cuối cùng, kiểm tra giới hạn cộng tác trước khi bạn cam kết với một đội nhóm, vì việc di chuyển các bộ sưu tập giữa chừng dự án rất tẻ nhạt.
Một kế hoạch kiểm thử nhanh giúp bạn so sánh công bằng. Chọn một endpoint thực tế. Trong mỗi ứng cử viên, gửi một yêu cầu, thêm một xác nhận về mã trạng thái và một trường trong body, sau đó nối tiếp một yêu cầu thứ hai tái sử dụng giá trị từ yêu cầu đầu tiên. Công cụ nào thực hiện việc đó trôi chảy nhất là công cụ nên giữ lại. Để cấu trúc các kiểm tra đó một cách tốt, các ghi chú của chúng tôi về viết các xác nhận API hữu ích rất đáng đọc.
Công cụ miễn phí và đường ống CI
Một lo ngại phổ biến là các công cụ miễn phí không thể chạy trong tích hợp liên tục (CI). Hầu hết có thể. Postman xuất các bộ sưu tập mà Newman chạy trong CI. Hoppscotch có giao diện dòng lệnh (CLI). Apidog chạy các kịch bản từ trình chạy riêng của nó và tích hợp với các đường ống. Hạn chế của gói miễn phí thường là khối lượng chạy chứ không phải khả năng, vì vậy một bộ kiểm thử hàng đêm là ổn trong khi một bộ kiểm thử cho mỗi commit trên một repo bận rộn có thể đẩy bạn đến gói trả phí. Nếu CI là mục tiêu của bạn, hướng dẫn của chúng tôi về tự động hóa kiểm thử API trong CI/CD bao gồm các mẫu.
Một nửa còn lại của kiểm thử CI là giữ cho bộ kiểm thử trung thực. Các công cụ miễn phí giúp dễ dàng ghi lại một yêu cầu và gọi đó là một kiểm thử. Một kiểm thử thực sự xác nhận một điều cụ thể. Kiểm tra mã trạng thái, kiểm tra cấu trúc của phản hồi và kiểm tra các giá trị mà logic kinh doanh của bạn phụ thuộc vào. Các mã trạng thái HTTP mà một REST API nên sử dụng là một cơ sở tốt cho các xác nhận đó, vì một kiểm thử chỉ kiểm tra "200" bỏ lỡ rất nhiều thứ.
Những sai lầm phổ biến khi sử dụng công cụ miễn phí
Sai lầm đầu tiên là coi gói miễn phí như một bản dùng thử của một công cụ mà bạn sẽ thay thế. Hãy chọn một công cụ mà bạn có thể sống với gói miễn phí của nó trong một năm. Sai lầm thứ hai là bỏ qua các môi trường. Mã hóa cứng URL cơ sở hoặc token vào mọi yêu cầu có nghĩa là bạn phải xây dựng lại bộ kiểm thử của mình khi chuyển từ môi trường thử nghiệm sang sản xuất. Mọi công cụ ở đây đều hỗ trợ biến môi trường; hãy sử dụng chúng ngay từ ngày đầu.
Sai lầm thứ ba là bỏ qua thời gian phản hồi. Các công cụ miễn phí hiển thị độ trễ trên mọi cuộc gọi. Nếu một yêu cầu đáng lẽ phải trả về trong 100ms mà mất 800ms, đó là một tín hiệu, không phải nhiễu. Bạn không cần một công cụ tải để nhận thấy một endpoint chậm. Đối với công việc kiểm thử tải có chủ đích, hướng dẫn kiểm thử hiệu suất API của chúng tôi bao gồm khi nào nên nâng cấp. Sai lầm thứ tư là không bao giờ xuất công việc của bạn. Các gói miễn phí được host có thể thay đổi điều khoản. Xuất các bộ sưu tập của bạn ra một tệp và giữ chúng trong hệ thống kiểm soát phiên bản để công cụ có thể thay thế được.
Công cụ trình duyệt so với ứng dụng máy tính để bàn chi tiết
Sự lựa chọn giữa trình duyệt và máy tính để bàn xứng đáng nhiều hơn một câu trả lời ngắn gọn, bởi vì nó âm thầm định hình những gì bạn có thể kiểm thử. Một công cụ trình duyệt chạy bên trong cùng một hộp cát bảo mật như bất kỳ trang web nào. Hộp cát đó tốt cho an toàn nhưng nó chặn một số thứ bạn có thể cần. Các cuộc gọi đến localhost hoặc địa chỉ mạng riêng có thể bị hạn chế, và các tải lên tệp lớn hoặc tải trọng nhị phân đôi khi hoạt động khác so với trong một ứng dụng gốc. Nếu API của bạn chạy trên máy của bạn trong quá trình phát triển, hãy kiểm tra xem một công cụ trình duyệt có thể thực sự truy cập được nó trước khi bạn cam kết sử dụng.
Ứng dụng máy tính để bàn tránh những giới hạn đó. Chúng mở các socket trực tiếp, truy cập các dịch vụ cục bộ mà không gặp rắc rối, và xử lý tải trọng lớn mà không bị trình duyệt cản trở. Chúng cũng tiếp tục hoạt động khi mất internet, điều này quan trọng hơn mọi người nghĩ trong chuyến đi hoặc khi mất điện. Chi phí là bước cài đặt và giữ cho ứng dụng được cập nhật. Một giải pháp trung gian thực tế, và là lựa chọn mà hầu hết các đội nhóm lựa chọn, là một ứng dụng máy tính để bàn đồng bộ hóa lên đám mây. Bạn có được quyền truy cập mạng gốc cộng với sự tiện lợi khi các bộ sưu tập của bạn theo bạn giữa các máy. Apidog hoạt động theo cách này, đó là lý do tại sao nó xuất hiện trong cả hàng "máy tính để bàn" và "đồng bộ hóa đám mây" của bảng trên.
Giữ cho bộ kiểm thử công cụ miễn phí khỏe mạnh
Một bộ kiểm thử được xây dựng bằng công cụ miễn phí sẽ bị xuống cấp giống như bất kỳ bộ kiểm thử nào khác. Các endpoint thay đổi, các trường được đổi tên, và một kiểm thử đã qua vào tháng trước âm thầm bắt đầu kiểm tra sai. Hãy lên lịch xem xét ngắn gọn các bộ sưu tập của bạn vài tuần một lần. Xóa các kiểm thử cho các endpoint không còn tồn tại và cập nhật các xác nhận hiện đang kiểm tra các trường đã lỗi thời.
Đặt tên rõ ràng ngay khi bạn xây dựng, không phải sau đó. Một yêu cầu gọi là "test 3" không cho bạn biết gì trong sáu tháng. Một yêu cầu gọi là "tạo đơn hàng với tiền tệ không hợp lệ" cho bạn biết chính xác nó bao gồm gì và tại sao nó có thể thất bại. Nhóm các yêu cầu liên quan vào các thư mục phù hợp với một luồng người dùng thực tế, chẳng hạn như đăng ký, sau đó đăng nhập, sau đó đặt hàng. Cấu trúc đó làm cho bộ kiểm thử dễ đọc và làm rõ khi một luồng bị thiếu một bước. Nguyên tắc đặt tên tương tự giúp một trường hợp kiểm thử cũng giúp một bộ sưu tập các yêu cầu API, và các công cụ miễn phí cung cấp cho bạn không ít tùy chọn đặt tên hơn các công cụ trả phí.
Các câu hỏi thường gặp
Các công cụ kiểm thử API miễn phí có đủ tốt cho công việc sản xuất không?
Có, đối với hầu hết các đội nhóm. Các gói miễn phí ở đây bao gồm xây dựng yêu cầu, xác nhận, môi trường và tự động hóa cơ bản, đó là những gì kiểm thử API hàng ngày cần. Bạn thường chuyển sang gói trả phí để có thêm tài khoản đội nhóm, lịch sử chạy dài hơn hoặc CI khối lượng lớn, không phải vì bản thân việc kiểm thử bị thiếu.
Tôi có thể kiểm thử API SOAP bằng các công cụ trực tuyến miễn phí không?
Bạn có thể. Apidog hỗ trợ SOAP trên gói miễn phí của nó, và phiên bản mã nguồn mở của SoapUI được xây dựng đặc biệt cho nó. SOAP cần các phong bì XML và thường là WSDL, vì vậy một công cụ có hỗ trợ SOAP rõ ràng sẽ tốt hơn một ứng dụng REST client chung chung. Xem đặc tả SOAP chính thức từ W3C để biết chi tiết giao thức.
Sự khác biệt giữa công cụ trình duyệt và công cụ máy tính để bàn là gì?
Công cụ trình duyệt chạy trong một tab mà không cần cài đặt và hoạt động trên nhiều máy, nhưng chúng có thể bị giới hạn bởi bảo mật trình duyệt liên quan đến các cuộc gọi mạng cục bộ. Ứng dụng máy tính để bàn cài đặt một lần, có thể truy cập các dịch vụ cục bộ và tải trọng lớn hơn, và thường hoạt động ngoại tuyến. Nhiều đội nhóm sử dụng ứng dụng máy tính để bàn có đồng bộ hóa đám mây để có được cả hai lợi ích.
Các công cụ miễn phí có hỗ trợ các bộ kiểm thử tự động không?
Hầu hết có. Bạn có thể nối tiếp các yêu cầu, thêm xác nhận và chạy chúng như một bộ kiểm thử. Postman kết hợp với Newman cho các lần chạy dòng lệnh, Hoppscotch và Apidog có trình chạy riêng của chúng. Giới hạn của gói miễn phí thường là số lượng lần chạy tự động bạn nhận được mỗi tháng, chứ không phải liệu tính năng tự động hóa có tồn tại hay không.
Một đội nhóm nhỏ nên bắt đầu với công cụ miễn phí nào?
Hãy chọn một công cụ bao gồm thiết kế, kiểm thử và giả lập cùng nhau để bạn không phải thêm công cụ sau này. Apidog và Hoppscotch đều hoạt động tốt cho các đội nhóm nhỏ trên các gói miễn phí của chúng. Chạy cùng một kế hoạch kiểm thử đơn giản trong mỗi công cụ, hai yêu cầu nối tiếp với các xác nhận, và giữ lại công cụ nào cảm thấy mượt mà nhất cho công nghệ của bạn.
