.Kiểm thử dịch vụ web

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu kiểm thử Webservice và xây dựng công cụ hỗ trợ (Trang 37 - 40)

Kiểm thử dịch vụ web là một nội dung trong kiểm thử phần mềm bao gồm kiểm thử chức năng cơ bản, kiểm thử khả năng liên kết và tương tác với các hệ thống khác, kiểm thử bảo mật và khả năng chịu tải.

Về phương pháp, các thức tiến hành kiểm thử WS thì tương tự như kiểm thử phần mềm đã nêu ở chương 1. Tuy nhiên khi kiểm thử WS thì cần lưu ý thêm kiểm thử bảo mật và kiểm thử khả năng chịu tải.

a. Kiểm thử bảo mật

Kiểm thử bảo mật và kiểm soát truy cập WS tập trung vào hai lĩnh vực bảo mật chính:

 Bảo mật ở mức ứng dụng, bao gồm truy cập dữ liệu và các chức năng nghiệp vụ  Bảo mật ở mức hệ thống, bao gồm truy cập vào hệ thống hoặc truy cập từ xa

Bảo mật mức ứng dụng đảm bảo rằng, dựa trên bảo mật đã yêu cầu, người dùng bị hạn chế sử dụng một số chức năng hoặc tình huống sử dụng, hoặc bị hạn chế trong giới hạn dữ liệu phù hợp với họ. Ví dụ khi khai báo WS thì hệ thống phải định nghĩa ra các quyền khác nhau. Ví dụ như hệ thống A khi gọi đến WS sẽ được cung cấp một quyền Admin có thể gọi hàm thêm mới, cập nhật dữ liệu. Còn hệ thống B chỉ được cấp quyền User thì chỉ có thể gọi hàm xem dữ liệu.

Bảo mật mức hệ thống đảm bảo rằng chỉ những người dùng được cho quyền truy cập vào hệ thống mới có khả năng truy cập vào ứng dụng và chỉ bằng các cổng thích hợp. Ví dụ như WS sẽ khai báo cái IP (tương ứng các địa chỉ các hệ thống) được gọi phép gọi đến WS.

Chính vì thế khi thực hiện kiểm thử WS thì sẽ có các trường hợp kiểm thử để đảm bảo hai mức bảo mật ở trên. Tuy nhiên thì khi thực hiện kiểm thử có thể bổ sung các trường hợp kiểm tra khai báo user và password đã đủ mạnh(lớn hơn hoặc bằng 6 ký tự, có chứa các ký tự, số và ký tự đặc biệt) và trong một số user, password được mã hóa thì sẽ phải có thêm trường hợp kiểm tra tính đúng đắn của việc mã hóa

b. Kiểm thử hiệu năng

Kiểm thử khả năng chịu tải của WS là kiểm thử thời gian phản hồi khi client gửi request tới server cho đến khi client nhận được response từ server trả về và số giao dịch thực hiện được trong một khoảng thời gian nhất định. Hiện nay có nhiều công cụ hỗ trợ việc kiểm thử hiệu năng cho WS. Có thể kể đến như chức năng Testload trên công cụ Soap UI, Jmeter hoặc Load Runner. Việc thực hiện trên thì đều thực hiện để đưa ra kết quả cho các tiêu chí về hiệu năng:

 Response time = Transfering time + Waiting time + Processing time. Trong đó Transfering time là thời gian truyền tải dữ liệu trên đường truyền, Waiting time là thời gian request chờ trong queue, Processing time là thời gian request được xử lý thực sự. Tính bằng công thức 90% (tức là giả sử đo 100 mẫu, sắp xếp giá trị từ nhỏ đến lớn, lấy giá trị trung bình của 90 mẫu đầu tiên). Đơn vị là một đơn vị của thời gian, vd: giây, phút, mili giây...

 Throughput: Thông lượng hệ thống, tính bằng số giao dịch (transaction) hệ thống đáp ứng được trong một khoảng thời gian. Đơn vị tổng quát là transaction per time_period vd: transactions per second, calls per day...

 Concurrency: Số giao dịch đồng thời được thực hiện, tính bằng số giao dịch đồng thời hệ thống đáp ứng được. Đơn vị là transaction, vd: 200 transactions đồng thời, 300 transactions đồng thời...

 CPU usage: Hiệu suất sử dụng CPU. Đơn vị là %.  RAM usage: Hiệu suất sử dụng RAM. Đơn vị là %.

 Fail rate: Tỉ lệ lỗi, tính bằng số giao dịch không thực hiện thành công trên tổng số giao dịch đã thực hiện. Giá trị này dùng để làm điều kiện cần cho các mục tiêu trên. Đơn vị là %.

Tuy nhiên sau khi xác định được các tham số về tiêu chí kiểm thử hiệu năng thì dựa vào chức năng của WS cần kiểm thử để đưa ra các mục tiêu quan trọng cần đánh giá:

 Những chức năng có mật độ sử dụng cao: Trọng tâm vào cả 6 mục tiêu kiểm thử.  Những chức năng có xử lý logic phức tạp: Trọng tâm vào mục tiêu CPU usage và

Response time.

 Những chức năng là nghiệp vụ quan trọng: Trọng tâm vào cả 6 mục tiêu kiểm thử.  Những chức năng chiếm dụng và tranh chấp tài nguyên cao.: Trọng tâm vào mục tiêu

RAM usage và Throughput.

 Những chức năng sử dụng nhiều giao tiếp với các hệ thống ngoài: Trọng tâm vào mục tiêu Response time và Throughput.

Lịch biểu kiểm thử: Thời gian và nguồn lực tham gia vào việc kiểm thử hiệu năng.

Tiêu chuẩn thành công của một trường hợp kiểm thử hiệu năng là các tham số:  Response time, Throughput, Concurrency, CPU usage, RAM usage, Fail rate có thể

chấp nhận được

 Phải được tham khảo từ yêu cầu khách hàng, mô hình thiết kế, mô hình triển khai của ứng dụng.

 Phải thỏa mãn luật cơ sở: Concurrency ~ (xấp xỉ bằng) Throughput * Response time. Trong đó Throughput và Response time phải có cùng thứ nguyên về thời gian.

Khi kiểm thử hiệu năng thì cần lưu ý là phải thực hiện lại ít nhất 5 lần với từng bộ dữ liệu khác nhau. Và sau mỗi một lần kiểm thử thì yêu cầu phải reset lại môi trường kiểm thử (dữ liệu, ứng dụng, các yếu tố xét thấy có thể tác động tới hiệu năng của ứng dụng). Giá trị cuối cùng được tính theo công thức 90%.[12]

Các giá trị như Think time, Pacing time về số giao dịch đồng thời trong kịch bản kiểm thử hiệu năng nên được lập dựa trên cơ sở khảo sát hoạt động thực hoặc dự báo hoạt động thực của ứng dụng.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu kiểm thử Webservice và xây dựng công cụ hỗ trợ (Trang 37 - 40)

Tải bản đầy đủ (PDF)

(80 trang)