Tiếp tục bài viết vọc phá spiderum nhé!
Bài trước mình có nói sơ qua về chiến lược Manual Test Overview để nắm được kịch bản chức năng của spiderum trước khi đi vào kiểm thử hiệu suất của trang này.

Tuy nhiên khoan hãy nghĩ điến chuyện kiểm thử hiệu suất vội, đơn giản là chúng ta phải hiểu được bản chất của một website là mô hình client-server. Người dùng sẽ thao tác trên trình duyệt web và gọi tới một máy chủ mang tên hosting quản lý server thông qua con số định danh IP loằng ngoằng và có cái tên vô cùng dễ nhớ chính là tên miền (domain) spiderum.com mà bạn đang thấy.
Để hiểu thêm bạn có thể tìm đọc bài dưới đây của mình nói về kiến trúc Server-Client nhé!
Client Server Architecture – Kiến trúc client-server Mô hình Client server là một mô hình nổi tiếng trên mạng máy tính, phổ biến và được áp dụng rộng rãi ở trên các trang Web hiện nay. Ý tưởng của mô hình này như sau: Client (máy khách) sẽ gửi yêu cầu (request) đến Server (máy chủ, cung ứng các dịch vụ cho các máy khách). Server sẽ xử lý dữ liệu và gửi kết quả về cho Client. - Máy chủ: Đây thường là một mánh tính đặc biệt có tốc độ xử lý lớn và được dùng để phục vụ việc chia sẻ tài nguyên như file ảnh, file HTML, dữ liệu, máy in... cho nhiều máy khách.- Máy khách: Là cá máy tính nhỏ như desktop hay laptop. Trong mô hình này các máy khách sẽ gửi yêu cầu tới máy chủ để máy chủ thực hiện một nhiệm vụ nào đó như lấy dữ liệu từ database, in ấn, gửi email... Việc giao tiếp giữa Client với Server phải dựa trên các giao thức chuẩn. Các giao thức chuẩn được sử dụng phổ biến nhất hiện nay là: giao thức TCP/IP, giao thức SNA của IBM, OSI, ISDN, X.25 hay giao thức LAN-to-LAN NetBIOS Mô hình web client-server là một mô hình nổi tiếng trong mạng máy tính, được áp dụng rất rộng rãi và là mô hình của mọi trang web hiện có. Một mô hình ngược lại là mô hình master-slaver, trong đó máy chủ (đóng vai trò ông chủ) sẽ gửi dữ liệu đến máy con (đóng vai trò nô lệ) bất kể máy con có cần hay không. Client/Server là mô hình tổng quát nhất, trên thực tế thì một server có thể được nối tới nhiều server khác nhằm làm việc hiệu quả và nhanh hơn. Khi nhận được 1 yêu cầu từ client, server này có thể gửi tiếp yêu cầu vừa nhận được cho server khác ví dụ như database server vì bản thân nó không thể xử lý yêu cầu này được. Máy server có thể thi hành các nhiệm vụ đơn giản hoặc phức tạp. Ví dụ : Mail Server : Ở bên phía Client, người dùng soạn thảo Email và sẽ gửi đến Mail Server, phía bên Mail Server sẽ tiếp nhận và lưu trữ, tìm kiếm địa chỉ của mail được gửi đến và gửi đi. Web Server : Lưu trữ các trang Web. khi người dùng ở phía máy Client nhập địa chỉ của trang web, Client sẽ gửi yêu cầu đến máy chủ Web và máy chủ Web sẽ gửi toàn bộ nội dung của trang web về cho phía Client. Ưu điểm: - Client server có khả năng chống quá tải mạng- Client server đảm bảo toàn vẹn dữ liệu khi có sự cố xảy ra- Dễ dàng mở rộng hệ thống mạng- Chỉ cần chung định dạng giao tiếp mà không cần chung nền tảng là có thể hoạt động được- Client server cho phép tích hợp các kỹ thuật hiện đại như GIS, mô hình thiết kế hướng đối tượng,…- Với mô hình Client server, người dùng có thể truy cập dữ liệu từ xa, thực hiện các thao tác gửi, nhận file hay tìm kiếm thông tin đơn giản Nhược điểm: - Cần bảo trì, bảo dưỡng server thường xuyên.- Khả năng bảo mật thông tin mạng là một hạn chế nữa của Client server. Bởi vì, nguyên lý hoạt động của Client server là trao đổi dữ liệu giữa server và client ở 2 khu vực địa lý khác nhau. Trong quá trình trao đổi dữ liệu, khả năng thông tin mạng bị lộ là điều dễ xảy ra.blog.ntechdevelopers.com
Được rồi hiểu đơn giản phía client chính là mấy ông hay gọi là Frontend sẽ gọi hay phát một tín hiệu gì đó tới server hay mấy ông gọi là Backend.
Vậy cái trao đổi ở thông tin dữ liệu qua lại giữa cái tương thẳng vào mắt bạn hình ảnh nội dung này và cái nội dung hậu cần cong đít xử lý thuật toán nọ kia mang tên là API nhé!



API là viết tắt của Application Programming Interface – phương thức trung gian kết nối các ứng dụng và thư viện khác nhau. Nó cung cấp khả năng truy xuất đến một tập các hàm hay dùng, từ đó có thể trao đổi dữ liệu giữa các ứng dụng.
Để hiểu rõ hơn API là gì, hãy tưởng tượng bạn đang ngồi trong một nhà hàng, trước mặt bạn là menu để gọi thức ăn. Nhà bếp là một phần của “hệ thống”, nơi sẽ chuẩn bị những món ăn mà bạn gọi. Tuy nhiên, làm thế nào để nhà bếp biết được bạn muốn ăn món nào?
Và làm sao để họ phân phối thức ăn đến bàn của bạn?
Đây là lúc cần đến sự xuất hiện của người phục vụ, đóng vai trò như API.
Người phục vụ (hay API) sẽ nhận yêu cầu từ bạn và truyền đạt với nhà bếp (hệ thống) những thứ cần làm. Sau đó người phục vụ sẽ phản hồi ngược lại cho bạn, trong trường hợp này, họ sẽ mang thức ăn sau khi nhà bếp hoàn thành đến tận bàn cho bạn.
API testing là một loại kiểm thử phần mềm liên quan đến việc kiểm thử các giao diện lập trình ứng dụng (APIs) một cách trực tiếp và là một phần của kiểm thử tích hợp để xác định xem hệ thống có đáp ứng các yêu cầu về tính năng, độ tin cậy, hiệu suất và bảo mật.


Đi từ tầng dưới kim tự tháp lên trên, chi phí liên quan đến việc tạo ra và duy trì các phương pháp kiểm thử, thời gian thực hiện kiểm thử, phạm vi kiểm thử sẽ tăng lên. Các kim tự tháp tự động (Automation pyramid) nói rằng bạn nên làm nhiều hơn nữa kiểm thử tự động thông qua Unit test và API hơn là kiểm thử dựa trên GUI.
Vậy dùng gì để test Api đây?
Vâng, Postman chính là một công cụ cho phép chúng ta thao tác với API, phổ biến nhất là REST. Postman hiện là một trong những công cụ phổ biến nhất được sử dụng trong thử nghiệm các API. Với Postman, ta có thể gọi Rest API mà không cần viết dòng code nào.
Postman là môi trường phát triển API hoàn chỉnh duy nhất. Ngày nay, có khoảng 6 triệu nhà phát triển, và hơn 200 nghìn công ty sử dụng bộ công cụ tích hợp toàn diện này để hỗ trợ mọi giai đoạn của vòng đời API.
Với Postman, bạn có thể thiết kế, mô phỏng, gỡ lỗi, kiểm tra, tài liệu, theo dõi và xuất bản tất cả các API của mình ở một nơi.
Khi mới bắt đầu với postman, bạn sẽ cảm thấy hơi khó khăn trong cách sử dụng. Khi bạn đã làm chủ được postman rồi thì bạn sẽ thấy được việc gọi các Rest API (Google, Amazon, Facebook,…) sẽ trở nên dễ dàng hơn.
Lý do sử dụng postman
Sử dụng Collections (Bộ sưu tập) – Postman cho phép người dùng tạo bộ sưu tập cho các lệnh gọi API của họ. Mỗi bộ sưu tập có thể tạo các thư mục con và nhiều yêu cầu (request). Điều này giúp việc tổ chức các bộ thử nghiệm.
Collaboration – Collections và environment có thể được import hoặc export giúp chia sẻ tệp dễ dàng.
API Testing – Test trạng thái phản hồi HTTP.
Gỡ lỗi – Bảng điều khiển Postman giúp kiểm tra dữ liệu nào đã được truy xuất giúp dễ dàng gỡ lỗi kiểm tra.


Ưu điểm:
- Cho phép gửi HTTP Request với các method GET, POST, PUT, DELETE.
- Cho phép post dữ liệu dưới dạng form (key-value), text, json.
- Hiện kết quả trả về dạng text, hình ảnh, XML, JSON.
- Hỗ trợ authorization (Oauth1, 2).
- Cho phép thay đổi header của các request.
Việc sử dụng Postman rất đơn giản. Bạn chỉ cần chọn method, điền URL, thêm các thông tin cho body, header trong những trường hợp cần thiết, rồi nhấn SEND. Việc của bạn là đợi và Postman sẽ cho bạn kết quả trả về nó có hình thù như thế nào.
Bạn hỏi tôi là tôi nói tôi kiểm thử hiệu suất (Performance tesing) cơ mà? Liên quan khỉ gì đến test API
Haha, có lý do cả đó. Bài viết sau sẽ rõ nhé!

--
Ủng hộ mình tại blog cá nhân:
http://blog.ntechdevelopers.com