2010-08-06 59 views
5

Cách tốt nhất để kiểm tra các dịch vụ SOA là gì? Tôi có nên viết bài kiểm tra của riêng tôi bằng cách sử dụng WCF hoặc tôi nên sử dụng một khung kiểm tra như SOAPUI. Những hạn chế đối với từng phương pháp và có những công cụ tốt hơn là gì?Kiểm tra dịch vụ SOA

Trả lời

4

Bạn chắc chắn nên sử dụng SoapUI. Đặc biệt là trong một môi trường hỗn hợp. tức là trong một môi trường hỗn hợp (java, delphi, WCF, vv ..) SoapUI sẽ là công cụ phổ biến của bạn có thể xác nhận những gì làm việc và những gì không. Nó cũng có thể được sử dụng để thiết lập các dịch vụ giả lập để bạn có thể kiểm tra dựa trên một dịch vụ chưa được xây dựng. tức là từ WSDL, bạn có thể xây dựng thứ gì đó trong vài phút để ghi lại các yêu cầu và trả lời. Đó là cực kỳ có lợi. Xuống đường, bạn sẽ có thể xác minh những gì hoạt động và những gì không sử dụng công cụ phổ biến, thay vì chiến đấu về "hoạt động ở đây trong công nghệ x, do đó, nó phải là một vấn đề ở cuối BẠN".

Nhìn vào bản demo mockservices nơi chúng hiển thị cách thực hiện phản hồi đóng hộp đơn giản dựa trên xpath. Rất đơn giản và hiệu quả. Bạn có thể gửi phản hồi và trả về nhiều câu trả lời có thể dự đoán được. ví dụ, bạn gửi cập nhật cho emps Tom, Dick, Harry. Cấu hình SoapUI mockservice của bạn để trả về thành công cho Tom, lỗi mềm cho Dick, lỗi thảm khốc cho Harry.

IMO, nơi tốt nhất để bắt đầu trước khi xây dựng bất kỳ dịch vụ web nào là xây dựng một mockservice trong SoapUI. Sau đó, bạn có thể thử nghiệm với tải trọng mẫu và xem liệu mọi người có nhìn thấy những gì họ mong đợi hay không. tức là nhân sự gửi một nhân viên mới đến Bảng lương, sử dụng WSDL mà mọi người đã đồng ý. Các dev lương đã thậm chí không mã hóa một phần của mình được nêu ra, nhưng bằng cách nhìn vào các giao dịch trong SoapUI, ông thấy rằng định dạng EmpID là "hoàn toàn sẽ không làm việc trên đầu của chúng tôi". Bây giờ nhân sự có thể thay đổi. Người lập Bảng lương cũng thấy rằng Ngày Chấm dứt là ngày 31/12/1889 cho các nhân viên chưa bị sa thải. Anh ta mong đợi ''. Bây giờ, một cuộc thảo luận có thể xảy ra giữa các nhà phát triển và nhà phân tích, thay vì sau này trong quá trình hội nhập hoặc khởi động, khi thảo luận có thể liên quan đến một số lớp PM, "tình huống dẫn", v.v.

+0

Tôi không thực sự cần mockservices. Tất cả các dịch vụ đã được thực hiện và tôi đang tìm kiếm nhiều hơn để phát triển các công cụ cho những người thử nghiệm không phải là nhà phát triển để thử nghiệm hồi quy trước với bộ dữ liệu của riêng họ. SoapUI có phù hợp với điều đó không? Tôi thấy rằng soapUI pro có hình thức đầu vào dựa. Điều đó có nghĩa là tôi có thể có một biểu mẫu bật lên ngay từ đầu là người dùng có thể chọn tệp để sử dụng làm nguồn dữ liệu không? – Reflux

+0

@Reflux, biểu mẫu là một tùy chọn khác khi gửi truy vấn. thay vì XML thô, nó sẽ cung cấp cho bạn một biểu mẫu, dựa trên XML, nơi bạn có thể nhập dữ liệu vào các trường. ví dụ: Họ: [] Tên: [] –

2

Tôi đề nghị bạn cũng nên xem của phần mềm SO-Aware mới từ Tellago Studios; http://www.tellagostudios.com/. Một trong những tính năng là thử nghiệm dịch vụ tự động.

+0

Có vẻ hứa hẹn hy vọng nó không quá đắt để cấp phép. Ngay bây giờ tôi cần phải chờ đợi cho CNTT để cài đặt IIS trước khi tôi thực sự có thể kiểm tra các ấn bản thể hiện. Bạn đã sử dụng SO-Aware chưa? Quan điểm của bạn là gì? Ngoài ra, SO-Aware có lưu trữ các dịch vụ của tôi không? Tôi không muốn nó thay thế máy chủ dịch vụ hiện tại của mình. – Reflux

+0

Không, So-Aware sẽ không lưu trữ các dịch vụ của bạn - đó là một dịch vụ đăng ký giúp bạn tách riêng khách hàng khỏi các dịch vụ của mình. – larsw

0

Thử nghiệm Soa chỉ đảm bảo rằng tất cả các dịch vụ độc lập hoạt động theo cách mong đợi, tất cả đều tuân thủ hợp đồng đầu vào và đầu ra được thiết lập bởi các dịch vụ này. Công cụ không nên chỉ giới hạn bản thân để thử nghiệm webservices. công cụ kiểm tra SOA:

  1. Xà phòng UI
  2. SOArite.
Các vấn đề liên quan