2010-08-06 6 views
5

Jaki jest najlepszy sposób testowania usług SOA? Czy powinienem napisać własne testy używając WCF, czy powinienem używać szkieletu testowego, takiego jak SOAPUI. Jakie są ograniczenia dla każdej metody i czy istnieją lepsze narzędzia?Testowanie usług SOA

Odpowiedz

4

Zdecydowanie powinieneś używać SoapUI. Zwłaszcza w środowisku mieszanym. tj. w środowisku mieszanym (java, delphi, WCF, itd.) SoapUI będzie Twoim wspólnym narzędziem, które może potwierdzić, co działa, a co nie. Można go również użyć do skonfigurowania fałszywych usług, aby można było przetestować na podstawie usługi, która nie została jeszcze zbudowana. tj. z WSDL można zbudować coś w ciągu kilku minut, które będzie rejestrować żądania i udzielać odpowiedzi. To bardzo korzystne. W dalszej części będziesz mógł sprawdzić, co działa, a co nie za pomocą wspólnego narzędzia, zamiast walczyć o "działa tutaj w technologii x, więc musi to być problem na TWÓJ końcu".

Zobacz demo manusługi, w którym pokazują, jak wykonać proste odpowiedzi w puszkach na podstawie xpath. Bardzo proste i skuteczne. Możesz wysłać odpowiedź i zwrócić wiele przewidywalnych odpowiedzi. na przykład, wysyłasz aktualizacje dla emps Tom, Dick, Harry. Skonfiguruj system mockservice SoapUI, aby odnieść sukces dla Toma, błąd miękki dla Dicka, katastrofalny błąd dla Harry'ego.

IMO, najlepszym miejscem do rozpoczęcia przed zbudowaniem jakiegokolwiek serwisu internetowego jest zbudowanie usługi makiety w SoapUI. Następnie możesz przetestować z przykładowymi ładunkami i sprawdzić, czy wszyscy widzą to, czego oczekują. tj. HR wysyła nowego pracownika do Payroll, używając WSDL, na który wszyscy zgodzili się. Payroll dev jeszcze nie zakodował swojej części, ale patrząc na transakcję w SoapUI, widzi, że format EmpID "nie zadziała na nasz koniec". Teraz HR może dokonać zmiany. Deweloper Payroll widzi również, że Terminy wypowiedzenia to 12/31/1889 dla pracowników, którzy nie zostali jeszcze zwolnieni. Spodziewał się ". Teraz może nastąpić dyskusja pomiędzy programistami a analitykami, zamiast później podczas integracji lub uruchamiania, gdy dyskusja prawdopodobnie obejmowałaby kilka warstw PM, "leadów sytuacyjnych", itp.

+0

Cóż, tak naprawdę nie potrzebuję usług makiety. Wszystkie usługi zostały wykonane i jestem bardziej zainteresowany opracowaniem narzędzi dla testerów, a nie programistów do wstępnego testowania regresji z ich własnymi zestawami danych. Czy mydło nadaje się do tego? Widzę, że soapUI pro ma wejście oparte na formularzach. Czy to oznacza, że ​​mogę mieć wyskakujący formularz na początku, czy użytkownik może wybrać plik do użycia jako źródło danych? – Reflux

+0

@Reflux, formularz jest kolejną opcją przy składaniu zapytania. zamiast surowego XML da ci formularz oparty na XML, w którym możesz wpisać dane do pól. ex: LastName: [] FirstName: [] –

2

Proponuję również przyjrzeć się zupełnie nowego SO-Aware od Tellago Studios; http://www.tellagostudios.com/. Jedną z funkcji jest automatyczne testowanie usług.

+0

Wygląda obiecująco, mam nadzieję, że licencja nie jest zbyt droga. Teraz muszę poczekać, aż dział IT zainstaluje usługi IIS, zanim będę mógł przetestować edycję ekspresową. Czy wykorzystałeś SO-Aware? Jakie są Twoje myśli? Czy SO-Aware jest również hostem moich usług? Nie chcę, aby zastąpił mój istniejący serwer usług. – Reflux

+0

Nie, So-Aware nie będzie obsługiwać Twoich usług - jest to rejestr usług pomagający oddzielić klientów od twoich usług. – larsw

0

Testy Soa gwarantują, że wszystkie niezależne usługi zachowują się w oczekiwany sposób, przy jednoczesnym przestrzeganiu kontraktu wejścia i wyjścia ustanowionego przez te usługi. Narzędzie nie powinno ograniczać się jedynie do testowania usług sieciowych. SOA narzędzia do testowania:

  1. Soap UI
  2. SOArite.