Tính khả kiểm thử cho phần máy chủ

Một phần của tài liệu Nghiên cứu tính khả kiểm thử của ứng dụng trên nền web (Trang 42)

Áp dụng lý thuyết ở Chƣơng 2, để tăng tính khả kiểm thử cho phần máy chủ, chúng ta cần:

 Tăng khả năng điều khiển máy chủ

 Tăng khả năng quan sát kết quả ở phía máy chủ

3.2.2.1 Khả năng điều khiển

Để tăng khả năng điểu khiển ở máy chủ, chúng ta thấy thông tin từ phía trình duyệt gửi lên máy chủ là các yêu cầu (request) mà đặc trƣng là các url 11. Một ví dụ thƣờng gặp với url đƣợc mô tả trong Hình 10. Chúng ta thấy nó là một xâu ký tự có nhiều phần, đặc biệt phần cuối là các tham số gửi đến máy chủ.

Hình 10 Ví dụ url

Vì url là dữ liệu để chúng ta kiểm thử độc lập phần máy chủ, do đó đầu tiên chúng ta cần chú ý đến tính khả kiểm thử của các url này. Nếu các url này đƣợc sinh ra từ mã nguồn một cách tùy ý sẽ gây khó khăn để quan sát và kiểm soát. Do đó các url này cần đƣợc thiết kế dễ đọc, ngắn gọn, dễ hiểu, dễ suy ra đƣợc kết quả mong đợi của yêu cầu.

Các url này chính là một dạng API đặc biệt đề cập ở Phần 2.1. Do đó cần thiết kế và chú ý tính khả kiểm thử của API cho các url. Chúng ta cần đặc tả nó một cách rõ ràng, chính xác, không mơ hồ. Tốt hơn nữa chúng ta có thể thiết kế các url mang ngữ nghĩa. Url mang ngữ nghĩa (semantic url) là url bản thân đã mang các thông tin cần thiết, không cần phải chỉ ra các tham số, còn gọi là RESTful url. Bảng sau so sánh giữa url thông thƣờng và url ngữ nghĩa.

Non-semantic URL Semantic URL

http://example.com/index.php?page=name http://example.com/name http://example.com/index.php?page=consulting/marketing http://example.com/consulting/marketing http://example.com/products?category=2&pid=25 http://example.com/products/2/25 http://example.com/cgi-bin/feed.cgi?feed=news&frm=rss http://example.com/news.rss http://example.com/kb/index.php?cat=8&id=41 http://example.com/kb/8/41 http://example.com/index.php?mod=profiles&id=193 http://example.com/profiles/193 Bảng 3 Url có ngữ nghĩa12

Tóm lại để tăng khả năng điều khiển máy chủ chúng ta cần chú ý khi thiết kế url, đặc biệt các url do mã nguồn sinh ra.

3.2.2.2 Khả năng quan sát

Để tăng khả năng quan sát phía máy chủ, các file log của các phần mềm phục vụ phía máy chủ nhƣ apache13, nginx14 đã làm khá tốt việc này. Để tốt hơn ở mức ứng dụng phía máy chủ, chúng ta cần ghi các file log trong quá trình xử lý, tính toán phía máy chủ đối với từng yêu cầu.

3.2.2.3 Công cụ hỗ trợ

Qua kinh nghiệm chúng tôi thấy phần mềm SOAP UI 15 là phần mềm hỗ trợ rất tốt kiểm thử máy chủ một cách độc lập. Hình 11 là một màn hình giao diện của SOAP UI. Tuy tên có giao thức SOAP nhƣng phần mềm này hỗ trợ tích cực kiểm thử các phần máy chủ nói chung, và với nó ta không cần trình duyệt để hiển thị và kiểm tra kết quả nhƣng vẫn có thể đƣa ra các lệnh kiểm tra tính đúng đắn của kết quả. Ngoài việc chạy, công cụ này hỗ trợ rất tốt phần tƣơng tác để giúp ngƣời kiểm thử tạo các ca kiểm thử thông qua việc khám phá trang web kết quả.

13 http://www.apache.org/

14 http://nginx.org/

Hình 11 Màn hình SOAP UI16

Một phần của tài liệu Nghiên cứu tính khả kiểm thử của ứng dụng trên nền web (Trang 42)