#7 Bắt đầu chiến dịch – Tôi kiểm thử API của spiderum như thế nào

#7 Bắt đầu chiến dịch – Tôi kiểm thử API của spiderum như thế nào

November 9, 2020 1 By Nam Vu

Ở phần chiến lược vọc phá spiderum thông qua Manual Tesing lần trước mình đã có đưa ra cho các bạn một số lỗi nho nhỏ. Tuy nhiên đó không phải mục đích thật sự của mình với loạt bài viết này.

Ở đây mình muốn kiểm thử hiệu suất trước tiên mình phải trải qua bước test api trước, vì suy cho cùng mỗi bước trong kịch bản kiểm thử hiệu suất là giả lập người dùng để call api tới server thay cho những thao tác trên trình duyệt người dùng.

Bắt đâu nhé! Mình sẽ đan xem lý thuyết cùng các bước thông qua hình minh hoạ nhé!

Thiết lập môi trường test API

API testing khác với các loại kiểm thử phần mềm khác vì GUI không khả dụng.
Tuy nhiên, bạn được yêu cầu thiết lập môi trường ban đầu gọi API với một bộ tham số bắt buộc và cuối cùng là kiểm tra kết quả.
Do đó, thiết lập môi trường thử nghiệm API testing khá phức tạp. Cơ sở dữ liệu và máy chủ nên được cấu hình theo yêu cầu ứng dụng.
Sau khi cài đặt xong, Hàm API sẽ được gọi để kiểm tra xem API đó có hoạt động không.

Các loại đầu ra của API

Đầu ra của API có thể là:
– Bất kỳ loại dữ liệu nào
– Trạng thái (Pass hoặc Fail)
– Gọi một API function khác.

Test case trong API testing dựa vào:

– Giá trị trả về dựa trên điều kiện đầu vào: tương đối dễ kiểm tra, vì đầu vào có thể được xác định và kết quả có thể được xác thực.
– Không trả về bất cứ điều gì: Khi không có giá trị trả về, một hành vi API trên hệ thống sẽ được kiểm tra
– Kích hoạt một số API / Event / Interupt: Nếu đầu ra của API kích hoạt một số event hoặc gián đoạn, thì những listerner của event hoặc interupt đó sẽ được theo dõi.
– Cập nhật cấu trúc dữ liệu: Cập nhật cấu trúc dữ liệu sẽ có một số kết quả hoặc ảnh hưởng đến hệ thống và cần được xác thực.
– Sửa đổi một số tài nguyên: Nếu lệnh gọi API sửa đổi một số tài nguyên thì nó phải được xác thực bằng cách truy cập các tài nguyên tương ứng.

Tìm API thông qua UI trên trình duyệt

Do mình là một người bên ngoài (bên thứ 3 kiểm thử) nên mình không hề biết trước các API mà đội ngũ spiderum xây dựng trước đó. Đây chính là lý do mình có bước này. Đúng ra thì thường bộ API thì phải được đội phát triển cung cấp cho đội ngũ kiểm thử. Tuy nhiên bài viết chỉ mang tính chất giải thích cũng như giúp bạn đọc hiểu được quy trình kiểm thử là chính. Các bạn có thể tìm kiếm thêm trên các diễn đàn kiểm thử chuyên nghiệp nhé!

Mình sẽ liệt kê chạy thử một vài API trên UI mà mình lấy được sau đó dùng postman để test nhé!API và Postman là gì thì bạn có thể đọc lại bài viết trước nhé!

Cách lấy API từ UI
Đầu tiên hãy vào spiderum và cùng bật F12 lên nhé! (hoặc chuột phải chọn Inspect Element). 

Bạn có thấy quen quen không? Bài viết cào dữ liệu từ trang web mình có đề cập tới rồi đó. Nhưng không bạn vào tab Network sau đó refresh lại trang thì bạn sẽ thấy những gì nó gọi tới server và lấy file cũng như dữ liệu lên. Hãy tìm đến API của chức năng trong tab này nhé. Như hình dưới là mình lấy được thông tin của API “getExternalInfo” gồm tab header (dùng cho input đầu vào của api), response (dùng để nhận kết quả đầu ra và validate kết quả), preview (dùng để phân tích cấu trúc dữ liệu sau khi nhận được). Lấy dữ liệu dùng để làm gì thì lại đọc bài viết trước của mình nhé!

Ở đây mình dùng dữ liệu để cho bước chuẩn bị dữ liệu chạy kiểm thử hiệu suất trong bài viết sau cơ :)))

Bạn có liên tưởng được điều gì đó đến những vấn đề lộ thông tin người dùng của facebook không?Chính xác, đây là cách mà ai đó có thể biết được thông tin của bạn (các thông tin mà bạn vô tình để ở chế độ công khai mà chủ trang đưa ra.

Ở đây mình có thể dùng kỹ thuật này kết hợp với tool để cào dữ liệu tự động và có được tất cả các thông tin của thành viên trên diễn dàn từ họ tên, email, bài viết, số người theo dõi…

Ví dụ mình chưa hề đăng nhập website, mình có thể lấy tất cả email của tất cả các thành viên trong diễn đàn. Bạn hỏi tôi để làm gì ah, để spam mail chơi thôi, hoặc là tìm bồ :)))

Bài viết cũng hơi dài rồi! Bài viết sau mình sẽ liệt kê các api mà mình thu thập được và sử dụng postman để test nhé!