Tìm hiểu về API: Lộ trình học kiểm thử API từ cơ bản đến nâng cao
Ngày nay, theo xu hướng phát triển của công nghệ, việc cần thiết phải thực hiện kiểm thử cho API luôn là điều cần thiết cho mọi Tester. Bởi hiện nay, mọi sản phẩm đều dùng API để giao tiếp với client. Thông qua API, ta có thể đảm bảo được tính an toàn cho dữ liệu, dễ dàng cho việc tích hợp với các Backend khác hay mở rộng sản phẩm. Trong bài viết này, Test Mentor sẽ chia sẻ với các bạn lộ trình học API testing từ cơ bản đến nâng cao.
Nội Dung Bài Viết
Phần 1: Tiếp cận cơ bản
Khi nói về API testing, đầu tiên chúng ta cần hiểu những khái niệm căn bản về manual test nói chung và kiểm thử phần mềm nói riêng. Đặc biệt là web application, vì khi thực hiện API testing, thì với các ứng dụng web sẽ tiếp cận trực quan nhất, dễ nắm bắt nhất so với ứng dụng mobile hay desktop application.
Sau khi có kiến thức cơ bản về manual test, điều cần thiết phải nắm được đó là kiến thức cơ bản về API là gì, hiểu được cách hoạt động của API là gì và các thành phần của API. Bên cạnh đó, điều tiên quyết là cần trả lời được câu hỏi: Tại sao lại phải cần test API?
>>> Xem thêm: Video Tại sao cần Test API của anh Sang Bùi – Test Mentor
Phần 2: Thực hiện API testing mức căn bản
Ở giai đoạn này, khi các bạn đã có những kiến thức ở phần 1, chúng ta sẽ tiến tới quá trình kiểm thử API ở mức độ căn bản. Ở mức độ này, các bạn cần trả lời được những câu hỏi:
- API cần kiểm thử thực thi tác vụ gì?
Ví dụ: API cần kiểm thử thực thi tác vụ gì trong hệ thống (thực thi theo tính năng hay nghiệp vụ nào), API truy xuất vào những tập dữ liệu nào hay tương tác với hệ thống tích hợp nào đó - Những đặc tính nào của API đã được thiết kế để thực thi những tác vụ đó?
Một số đặc tính có thể đề cập đến ở giai đoạn này chủ yếu tập trung ở phần body của API và response data mà server trả về sau khi xử lý yêu cầu mà API gửi lên.
Ví dụ: Body của API chứa những trường thông tin nào, response data của API sau khi được xử lý chứa những thông tin nào, dữ liệu có trùng khớp với thông tin tương ứng trong database hay không; hay định dạng body của API là dạng file XML hay JSON; hay phương thức gửi request là GET, POST hay các phương thức khác. Những kiến thức cụ thể về những đặc tính này, các bạn có thể tìm hiểu ở các bài viết chi tiết hơn về API và cách kiểm thử API. Nội dung bài viết này sẽ chỉ đề cập sơ qua để các bạn nắm thông tin và cũng tránh việc cung cấp nhiều kiến thức sâu hơn có thể sẽ khiến các bạn độc giả bị gây nhiễu thông tin. Các bạn hãy đón chờ trong những bài viết sau về kiểm thử API để nắm được cụ thể, đầy đủ và chính xác nhất nhé.
Với mức độ cơ bản này, chúng ta sẽ tập trung chủ yếu vào các thành phần chính của API bao gồm:
- URL request: Đường dẫn của API, có thể gọi là endpoint.
- Response code: Mã code trả về sau khi API được xử lý, còn được gọi là HTTP status code.
- Response data: Dữ liệu server trả về sau khi xử lý xong yêu cầu của API.
Với các thành phần này, chúng ta cần so sánh nghiệp vụ mà API thực thi và kết quả của API sau khi được xử lý xong.
Tham khảo thêm khóa học API Testing từ cơ bản đến nâng cao của Test Mentor:
Phần 3: Thực hiện API testing nâng cao
Trong giai đoạn này, sau khi chúng ta đã quen thuộc đối với việc test API mức cơ bản như đã nói ở phần 2, việc cần thiết đó là thực hiện kiểm thử nâng cao hơn, toàn diện hơn về API trong quá trình phát triển.
Như đã nói ở phần trên, thì ở mức căn bản, chúng ta chỉ cần tập trung ở request body, response data. Nhưng đến giai đoạn nâng cao này, ta cần thực hiện kiểm thử chuyên sâu hơn, với những thành phần khác của API. Các thành phần này của API có thể kể đến như:
- Authen: Tính xác thực của API, liên quan tới phân quyền, khóa xác thực (access-token) đến tệp dữ liệu mà phía client được phép truy cập thông qua API.
- Validation của body: Tính đúng đắn về dữ liệu của request truyền lên. Ví dụ: Kiểu dữ liệu, định dạng của giá trị truyền vào, số ký tự tối đa hoặc tối thiểu của giá trị truyền vào …
- Verify response data: Quá trình đối chiếu dữ liệu API trả về với request gửi lên server, và dữ liệu được lưu lại trong database.
Khác biệt với ở mức cơ bản, thì giờ chúng ta cần test thêm về tính xác thực của API, kiểm thử các validation của các trường dữ liệu trong API để có thể có đưa ra những test case cover đủ cho API. Ngoài ra, có khả năng đánh giá được độ phức tạp hoặc tính cần thiết của 1 số trường dữ liệu của API. Kết hợp API với Frontend và Backend để đánh giá và có thể lường được một số vấn đề hoặc lỗi có thể xảy ra khi tích hợp Frontend, API, và Backend.
Phần 4: Thực hiện API testing mở rộng
Với giai đoạn này, ngoài việc kiểm thử tính đúng đắn của API ra, chúng ta cần mở rộng vấn đề hơn. Cụ thể là thực hiện kiểm thử API tự động, kiểm thử khi có nhiều request, kiểm thử chuỗi các API theo 1 luồng tính năng nào đó.
Không chỉ có thế, ở giai đoạn mở rộng này, việc test API còn để phục vụ cho các loại test chuyên sâu như: Performance testing, Security testing. Thêm nữa, ngoài việc kiểm thử cho một hay nhiều API, chúng ta còn cần phải biết sử dụng script để thực hiện một vài tác vụ đặc thù để phục vụ cho quá trình kiểm thử nhiều API kết hợp theo một luồng tính năng mà hệ thống cung cấp.
Việc sử dụng script để thực thi test một API đơn lẻ cũng vẫn có thể xảy ra, nhưng không bắt buộc. Nó sẽ tùy thuộc vào bản thân người thực hiện kiểm thử có kiến thức lập trình hay không. Nhưng khi tới giai đoạn mở rộng này, việc thực hiện viết script để test luồng tính năng là bắt buộc, chỉ khác nhau về độ phức tạp.
Ngoài ra, khi thực hiện kiểm thử hiệu năng hoặc kiểm thử bảo mật, việc viết script hay test API tự động hóa là không thể tránh khỏi.
Tổng kết
Trên đây là 4 giai đoạn cho việc học API testing từ cơ bản đến nâng cao mà mỗi Tester đều cần phải tiếp cận. Việc này có thể trang bị cho các bạn kiến thức về API testing, cũng như đóng góp cho chính dự án mình tham gia những giá trị lớn và đem đến cho khách hàng sản phẩm có giá trị cao nhất. Điều này cũng đồng nghĩa với việc nâng cao giá trị và chuyên môn của bản thân. Hy vọng bài viết này sẽ giúp các bạn có hướng đi rõ ràng hơn trong quá trình tiếp cận API testing. Chúc các bạn sớm thành thạo với API testing nhé!
Nếu bạn muốn nâng cao kiến thức về Kiểm thử API và nhận được hướng dẫn trực tiếp, bạn có thể tham khảo Khóa học kiểm thử API tại Test Mentor.
Hồ Việt Hoàng
Leave a Comment