DEV Community

Cover image for Testfully là gì
Sebastian Petrus
Sebastian Petrus

Posted on • Originally published at apidog.com

Testfully là gì

Nếu bạn đang tìm một giải pháp thay thế Postman nhưng vẫn muốn giám sát API sau khi triển khai, Testfully là một lựa chọn đáng xem xét. Công cụ này không chỉ gửi request như một API client thông thường, mà còn hỗ trợ kiểm thử tự động, chạy kiểm thử theo lịch và cảnh báo khi API gặp sự cố.

Dùng thử Apidog ngay hôm nay

Trong bài viết này, bạn sẽ biết Testfully là gì, cách dùng ba thành phần chính của nó trong workflow API, cách chạy test bằng CLI trong CI/CD, và những định dạng import mà công cụ này hỗ trợ. Cuối bài, chúng ta cũng xem Apidog phù hợp ở đâu nếu nhóm của bạn cần thêm thiết kế API, mock server và tài liệu tương tác.

Testfully là gì?

Testfully (testfully.io) là một nền tảng kiểm thử, giám sát và tài liệu hóa API. Nó kết hợp API client dạng GUI trên desktop/trình duyệt với kiểm thử tự động không cần code và giám sát uptime theo lịch.

Testfully

Cách hiểu đơn giản:

  1. Bạn dùng Testfully để gửi request và kiểm thử API trong quá trình phát triển.
  2. Bạn lưu các request đó thành test case có assertion.
  3. Bạn chạy lại các test case này theo lịch hoặc trong CI/CD.
  4. Khi API lỗi, Testfully gửi cảnh báo qua các kênh như email, SMS, Slack hoặc PagerDuty.

Testfully chạy trên Windows, macOS, Linux và trình duyệt. Công cụ này có hai chế độ:

  • Offline mode: dữ liệu nằm trên máy của bạn.
  • Cloud mode: phù hợp cho cộng tác nhóm.

Cả hai chế độ đều có cùng bộ tính năng, nên việc chọn offline không làm mất chức năng chính.

Nếu bạn muốn so sánh thêm các API client khác, xem bài tổng hợp về các client REST API.

Ba thành phần chính của Testfully

Testfully dễ triển khai hơn nếu bạn chia nó thành ba lớp:

  1. API client
  2. Kiểm thử tự động
  3. Giám sát và cảnh báo

1. API client

API client là nơi bạn tạo, gửi và debug request. Testfully hỗ trợ REST, GraphQL và XML, nên có thể dùng với phần lớn các API chạy trên HTTP.

Một workflow cơ bản:

  1. Tạo collection cho dự án.
  2. Tạo folder theo nhóm endpoint, ví dụ:
    • Auth
    • Users
    • Orders
    • Payments
  3. Tạo environment cho từng môi trường:
    • local
    • staging
    • production
  4. Khai báo biến dùng chung:
    • baseUrl
    • accessToken
    • userId
  5. Dùng biến trong request thay vì hard-code URL hoặc token.

Ví dụ URL request có thể dùng dạng:

{{baseUrl}}/api/users/{{userId}}
Enter fullscreen mode Exit fullscreen mode

Với cách này, bạn chỉ cần đổi environment để chuyển từ local sang staging hoặc production.

Testfully cũng hỗ trợ request chaining. Ví dụ:

  1. Gửi request đăng nhập.
  2. Lấy access_token từ response.
  3. Lưu token vào biến.
  4. Dùng token đó cho các request cần xác thực.

Luồng phổ biến:

POST /auth/login
→ lấy access_token
→ GET /me với Authorization: Bearer {{accessToken}}
Enter fullscreen mode Exit fullscreen mode

Công cụ cũng có hỗ trợ xác thực tích hợp, bao gồm OAuth2. Nếu cần logic phức tạp hơn, bạn có thể dùng JavaScript scripting để xử lý request hoặc response.

Nếu bạn ưu tiên công cụ chạy offline, xem thêm hướng dẫn về client API ngoại tuyến tốt nhất.

2. Kiểm thử tự động không cần code

Sau khi tạo request, bước tiếp theo là biến request thành test có thể chạy lại.

Thay vì chỉ gửi request một lần để xem API có phản hồi hay không, bạn thêm assertion để kiểm tra kết quả mong đợi.

Ví dụ các assertion thường dùng:

  • Status code phải là 200
  • Response time nhỏ hơn một ngưỡng nhất định
  • Body phải có field id
  • Field email phải đúng định dạng
  • Giá trị success phải là true

Một checklist triển khai test cơ bản:

  1. Chọn request cần kiểm thử.
  2. Thêm assertion cho status code.
  3. Thêm assertion cho body.
  4. Gom các request liên quan vào cùng folder.
  5. Chạy cả folder như một test suite.
  6. Xem lịch sử chạy test để phát hiện regression.

Điểm quan trọng là Testfully cho phép tạo test không cần code. Điều này hữu ích cho QA, backend developer hoặc product engineer không muốn duy trì một framework test riêng.

Khi cần logic tùy chỉnh, bạn vẫn có thể dùng JavaScript. Ví dụ, nếu response trả về danh sách user, bạn có thể kiểm tra số lượng item hoặc validate dữ liệu theo rule riêng.

Giá trị thực tế của lớp này là khả năng lặp lại. Một request thủ công chỉ cho bạn biết API hoạt động tại thời điểm đó. Một test đã lưu giúp bạn xác nhận API vẫn hoạt động sau lần deploy tiếp theo.

3. Giám sát và cảnh báo theo lịch

Đây là điểm làm Testfully khác nhiều API client thông thường. Testfully có thể chạy các bài test theo lịch và gửi cảnh báo khi test fail.

Một workflow giám sát API có thể như sau:

  1. Tạo test suite kiểm tra các endpoint quan trọng.
  2. Chọn environment production.
  3. Lên lịch chạy test, ví dụ mỗi 5 phút, 15 phút hoặc 1 giờ.
  4. Cấu hình kênh cảnh báo.
  5. Nhận thông báo khi API fail hoặc không đáp ứng assertion.

Các kênh cảnh báo được nhắc đến gồm:

  • Email
  • SMS
  • Slack
  • PagerDuty

PagerDuty đặc biệt hữu ích với nhóm có lịch trực on-call. Khi một health check hoặc functional test fail, cảnh báo có thể được chuyển đến đúng người phụ trách.

Cách tiếp cận này giúp bạn tái sử dụng test đã viết trong giai đoạn phát triển cho production monitoring. Bạn không cần viết lại health check trong một công cụ quan sát riêng.

Dùng Testfully Run CLI trong CI/CD

Test chỉ chạy trên máy cá nhân sẽ bỏ sót nhiều lỗi. Để đưa test vào pipeline, Testfully cung cấp CLI.

Cài đặt CLI từ npm:

npm install -g @testfully/cli
Enter fullscreen mode Exit fullscreen mode

Sau đó, chạy request hoặc folder đã lưu bằng lệnh:

testfully run [options] -- [files]
Enter fullscreen mode Exit fullscreen mode

Bạn có thể dùng CLI để:

  • Chạy một request cụ thể
  • Chạy một folder/test suite
  • Chọn environment
  • Nạp biến global
  • Xuất báo cáo cho CI/CD

Testfully hỗ trợ hai reporter:

  • cli: output dễ đọc trên terminal
  • junit: xuất báo cáo JUnit XML cho CI tools

Ví dụ chạy collection và xuất báo cáo JUnit:

testfully run rick-and-morty.json --reporters junit --reporter-junit-export ./junit-report.xml
Enter fullscreen mode Exit fullscreen mode

Trong pipeline, file junit-report.xml có thể được CI system đọc để đánh dấu build là pass hoặc fail.

Ví dụ workflow tổng quát trong CI:

npm install -g @testfully/cli
testfully run ./api-tests.json --reporters junit --reporter-junit-export ./junit-report.xml
Enter fullscreen mode Exit fullscreen mode

Vì CLI được phân phối như một package Node.js, bạn có thể tích hợp nó vào các hệ thống như:

  • GitHub Actions
  • GitLab CI
  • Jenkins
  • Bitbucket Pipelines
  • Bất kỳ runner nào có Node.js

Một điểm hữu ích là CLI có thể chạy trên máy chủ mà không cần phụ thuộc vào tài nguyên cloud. Điều này phù hợp nếu bạn muốn chạy test API nội bộ hoặc môi trường local không public ra internet.

Nếu bạn đang xây dựng kiểm thử API trong pipeline, xem thêm các phương pháp hay nhất về CI/CD cho kiểm thử API.

Import từ Postman và Insomnia

Chuyển công cụ API thường khó vì collection, environment và request đã được xây dựng trong công cụ cũ. Testfully giảm chi phí chuyển đổi bằng cách hỗ trợ import.

Bạn có thể import collection từ:

  • Postman
  • Insomnia

Điều này giúp bạn giữ lại phần lớn cấu trúc hiện có thay vì tạo lại từ đầu.

Một quy trình migration thực tế:

  1. Export collection từ Postman hoặc Insomnia.
  2. Import vào Testfully.
  3. Kiểm tra lại environment và biến.
  4. Chạy thử các request quan trọng.
  5. Thêm assertion để biến request thành test.
  6. Gom test vào folder hoặc suite.
  7. Đưa suite vào lịch monitoring hoặc CI/CD.

Tính năng này đặc biệt hữu ích với các nhóm đã có nhiều collection trong Postman hoặc Insomnia. Nếu bạn đang cân nhắc chuyển công cụ, xem danh sách các lựa chọn thay thế Postman.

Giá của Testfully

Giá có thể thay đổi, vì vậy bạn nên kiểm tra trang giá chính thức trước khi quyết định. Dưới đây là cấu trúc tại thời điểm viết bài, dựa trên trang giá của Testfully.

Gói Giá Đối tượng phù hợp
Developer (Miễn phí) $0 Một workspace offline và một workspace cloud, tối đa 5 người dùng, collection runner không giới hạn, tất cả tính năng cốt lõi và CLI
Team $14 mỗi người dùng/tháng, thanh toán hàng năm Workspace không giới hạn, tích hợp Git cho workspace offline, custom role, secret management
Enterprise $29 mỗi người dùng/tháng, thanh toán hàng năm SSO, SCIM, audit log, custom RBAC và báo cáo tuân thủ như SOC 2 Type 2, ISO 27001:2022, HIPAA

Gói Developer miễn phí đã bao gồm CLI và collection runner không giới hạn, nên đủ để developer cá nhân hoặc nhóm nhỏ bắt đầu. Các gói trả phí tập trung vào cộng tác, quản trị và tuân thủ.

Khi nào nên dùng Testfully?

Testfully phù hợp nếu workflow của bạn cần cả kiểm thử API lẫn monitoring production.

Bạn nên cân nhắc Testfully khi:

  • Bạn muốn một công cụ vừa gửi request, vừa chạy test, vừa giám sát API.
  • Bạn cần cảnh báo qua PagerDuty, Slack, SMS hoặc email.
  • Bạn muốn viết test không cần code nhưng vẫn có JavaScript khi cần tùy chỉnh.
  • Bạn cần chế độ offline đầy đủ tính năng.
  • Bạn đang chuyển từ Postman hoặc Insomnia.
  • Bạn muốn tái sử dụng test suite cho cả CI/CD và production monitoring.

Nếu bạn chỉ cần gửi request ad-hoc, một client API miễn phí nhẹ hơn có thể là đủ. Nhưng nếu bạn cần giám sát tích hợp sẵn, Testfully có lợi thế rõ ràng hơn một API client chỉ dùng để gửi request.

Apidog phù hợp ở đâu?

Testfully mạnh ở kiểm thử và giám sát. Nếu nhóm của bạn cũng cần thiết kế API, mock API và tài liệu tương tác, Apidog là một lựa chọn khác cần xem xét.

Apidog là một nền tảng API tất cả trong một, bao gồm thiết kế, kiểm thử, mocking và tài liệu hóa trong cùng một nơi. Bạn có thể:

  • Thiết kế contract bằng công cụ OpenAPI trực quan
  • Tạo mock server không cần code
  • Xây dựng kịch bản kiểm thử tự động với assertion trực quan
  • Xuất bản tài liệu API tương tác
  • Chạy test bằng desktop app, web app hoặc CLI

Apidog hỗ trợ REST, GraphQL, gRPC, WebSocket, SOAP và Socket.IO.

Với CI/CD, lệnh apidog run cho phép chạy test scenario và test suite đã lưu trong pipeline. Nó hỗ trợ các định dạng báo cáo:

  • cli
  • html
  • json
  • junit

Nó cũng hỗ trợ chạy test theo dữ liệu với -d và chọn environment với -e.

Bạn có thể xem thêm trong hướng dẫn đầy đủ về Apidog CLI và hướng dẫn kiểm thử REST API từ dòng lệnh.

Khác biệt chính nằm ở phạm vi:

  • Testfully tập trung vào kiểm thử API và monitoring theo lịch, bao gồm cảnh báo production.
  • Apidog tập trung vào toàn bộ vòng đời API contract: thiết kế, mock, kiểm thử và tài liệu.

Apidog không cung cấp monitoring uptime production theo lịch với cảnh báo on-call như Testfully. Vì vậy, hãy chọn theo nhu cầu chính của nhóm:

  • Nếu ưu tiên monitoring API production: Testfully phù hợp hơn.
  • Nếu cần thiết kế API từ specification, mock trước khi backend sẵn sàng và quản lý tài liệu API: Apidog phù hợp hơn.

Câu hỏi thường gặp

Testfully có miễn phí không?

Có. Testfully có gói Developer miễn phí với giá $0. Gói này bao gồm một workspace offline và một workspace cloud, tối đa 5 người dùng, collection runner không giới hạn, tất cả tính năng cốt lõi và CLI. Gói trả phí bắt đầu từ $14 mỗi người dùng mỗi tháng, thanh toán hàng năm, cho bản Team.

Testfully có CLI không?

Có. Testfully CLI được cài từ npm:

npm install -g @testfully/cli
Enter fullscreen mode Exit fullscreen mode

Bạn chạy request hoặc folder đã lưu bằng:

testfully run
Enter fullscreen mode Exit fullscreen mode

CLI hỗ trợ reporter clijunit, phù hợp để tích hợp vào CI/CD pipeline.

Testfully hỗ trợ giao thức nào?

Testfully hỗ trợ REST, GraphQL và XML qua HTTP. Nó cũng hỗ trợ environment, variable, request chaining, OAuth2 và JavaScript scripting cho logic tùy chỉnh.

Testfully có import từ Postman không?

Có. Testfully có thể import collection từ Postman và Insomnia. Điều này giúp bạn di chuyển request, environment và cấu trúc collection hiện có mà không cần tạo lại thủ công.

Điều gì làm Testfully khác một API client thông thường?

Điểm khác biệt chính là monitoring tích hợp. Testfully có thể chạy test theo lịch và cảnh báo qua email, SMS, Slack hoặc PagerDuty khi API gặp sự cố. Hầu hết API client thông thường chỉ gửi request, không có lớp giám sát production.

Testfully có phải lựa chọn thay thế Postman tốt không?

Có thể, đặc biệt nếu bạn muốn kết hợp API testing và production monitoring trong một công cụ. Để so sánh rộng hơn, xem bài tổng hợp về các lựa chọn thay thế Postman tốt nhất cho kiểm thử API.

Top comments (0)