Wytyczne dotyczące testowania usług

Przed przetestowaniem usługi należy skonfigurować środowisko testowe oraz zastosować się do niniejszych wytycznych. Pozwoli to przygotować niezawodne testy.

Wymagania wstępne dotyczące testów

Przed utworzeniem testów usług może być konieczne wykonanie czynności początkowych. Czynności te są zależne od protokołów transportu i zabezpieczeń zaimplementowanych przez testowaną usługę WWW.
  • HTTP: ta metoda transportu jest obsługiwana domyślnie i nie jest wymagana żadna dodatkowa konfiguracja.
  • SSL: obszar roboczy musi zawierać pliki magazynu kluczy certyfikatów (JKS) wymagane na potrzeby pojedynczego lub podwójnego uwierzytelniania.
  • Java™ Message Service (JMS): składnia języka WSDL (Web Services Description Language) musi być zgodna z wymaganiami produktu. Więcej informacji na ten temat zawiera sekcja Sprawdzanie zgodności składni plików WSDL w przypadku usług JMS.

Generowanie testów

Podczas generowania testów tworzone są koperty wywoływania komunikatów zgodnie z definicją schematu XML (XSD). W tym procesie są tworzone pola obowiązkowe, a także są określane wartości wybrane domyślnie. Te elementy można modyfikować w edytorze testów.
Uwaga: Podczas rejestrowania mogą być podawane szczegóły uwierzytelniania, które nie dotyczą rzeczywiście testowanej aplikacji. Aby wykluczyć takie działania z generowanego testu, należy w sekcji Okna > Preferencje > Test > Edytor testów > Test usługi upewnić się, że zaznaczone jest pole wyboru Wyświetl kolumnę „Pomiń, jeśli puste” w przeglądarce drzewa XML. Aby wybrać puste elementy XML, które mają zostać pominięte, w edytorze testów należy wybrać elementy w kolumnie Pomiń, jeśli pusta.

Szyfrowanie i zabezpieczenia

Środowisko Java Runtime Environment (JRE) używane przez środowisko robocze musi obsługiwać poziom szyfrowania wymagany przez wybrany certyfikat cyfrowy. Na przykład nie można używać certyfikatu cyfrowego wymagającego szyfrowania 256-bitowego ze środowiskiem JRE, które obsługuje tylko szyfrowanie 128-bitowe. W środowisku roboczym są domyślnie skonfigurowane szyfry z nałożonymi ograniczeniami lub ograniczoną mocą. Aby użyć mniej ograniczonych algorytmów szyfrowania, należy pobrać i zastosować pliki strategii o nieograniczonej jurysdykcji (local_policy.jar i US_export_policy.jar).

Pliki strategii o nieograniczonej jurysdykcji można pobrać z następującego serwisu: http://www.ibm.com/developerworks/java/jdk/security/50/

Aby uzyskać pliki strategii o nieograniczonej jurysdykcji, należy kliknąć opcję Pliki strategii pakietu SDK IBM, a następnie zalogować się do serwisu developerWorks. Przed zainstalowaniem tych plików strategii należy utworzyć kopię zapasową istniejących plików strategii na wypadek, gdyby było konieczne późniejsze odtworzenie oryginalnych plików. Następnie należy nadpisać pliki w katalogu /jre/lib/security/ przy użyciu plików strategii o nieograniczonej jurysdykcji.

Uwierzytelnianie SSL

Testy usług obsługują mechanizmy prostego lub podwójnego uwierzytelniania SSL.
  • Uwierzytelnianie proste (uwierzytelnianie serwera): w tym przypadku klient testowy wymaga określenia, czy usługa jest zaufana. Nie ma potrzeby konfigurowania magazynu kluczy. Jeśli zostanie wybrana opcja Zawsze ufaj, nie ma potrzeby udostępniania magazynu kluczy certyfikatów serwera.

    Aby przeprowadzić rzeczywiste uwierzytelnienie usługi, można skonfigurować magazyn zaufanych certyfikatów, który zawiera certyfikaty zaufanych usług. W tym przypadku test będzie oczekiwał otrzymania poprawnego certyfikatu.

  • Uwierzytelnianie podwójne (uwierzytelnianie klienta i serwera): w tym przypadku usługa wymaga uwierzytelnienia klienta testowego zgodnie z uprawnieniem administratora. Należy udostępnić magazyn kluczy certyfikatów klienta, którego utworzenie jest konieczne w celu uwierzytelnienia testu jako przeprowadzanego przez certyfikowany klient.

Jeśli test usługi jest rejestrowany za pośrednictwem proxy, proxy rejestrowania znajduje się między usługą i klientem. W tym przypadku należy skonfigurować ustawienia protokołu SSL dla proxy rejestrowania tak, aby uwierzytelniało się w kliencie jako rzeczywista usługa (dla uwierzytelniania prostego) i jako klient w usłudze (dla uwierzytelniania podwójnego). Oznacza to, że proxy rejestrowania musi mieć dostęp do odpowiednich certyfikatów.

W przypadku korzystania z kodów pośredniczących usług można również skonfigurować ustawienia protokołu SSL kodu pośredniczącego usługi tak, aby uwierzytelniał się jako rzeczywisty serwer. Oznacza to, że kod pośredniczący usługi musi mieć dostęp do odpowiedniego certyfikatu.

Uwierzytelnianie NTLM i Kerberos

Produkt obsługuje uwierzytelnianie Microsoft NT LAN Manager (NTLMv1 i NTLMv2) oraz protokół Kerberos. Informacje o uwierzytelnianiu są rejestrowane jako część testu podczas fazy rejestrowania.

Aby włączyć obsługę protokołu NTLMv2, należy dodać do środowiska roboczego bibliotekę innej firmy. Więcej informacji na ten temat zawiera sekcja Konfigurowanie środowiska roboczego na potrzeby uwierzytelniania NTLM w wersji 2.

Certyfikaty cyfrowe

Usługi z certyfikatami cyfrowymi można testować zarówno w przypadku protokołu SSL, jak i protokołu zabezpieczeń SOAP. Certyfikaty cyfrowe muszą znajdować się w zasobach magazynu kluczy Java Key Store (JKS), które są dostępne w obszarze roboczym. Podczas operacji na plikach kluczy należy zarówno w edytorze zabezpieczeń, jak i w edytorze testów ustawić hasło wymagane do uzyskania dostępu do kluczy. W przypadku zabezpieczeń protokołu SOAP może być konieczne udostępnienie jawnej nazwy klucza oraz hasła wymaganego do uzyskania dostępu do kluczy prywatnych w magazynie kluczy.

Ograniczenia

Tablice nie są obsługiwane.

Z powodu braku specyfikacji załączniki nie są obsługiwane w przypadku transportu Java Message Service (JMS). Koperta jest wysyłana bezpośrednio z użyciem kodowania UTF-8.

Wszystkie algorytmy zabezpieczeń nie są zawsze dostępne w każdej implementacji środowiska Java Runtime Environment (JRE). Jeśli określona implementacja zabezpieczeń jest niedostępna, należy dodać wymagane biblioteki do ścieżki klasy środowiska JRE, z którego korzysta produkt.

Klient Generic Service Tester wyświetla kopertę w sposób, w jaki jest przedstawiona w dokumencie XML. Jednak algorytmy zabezpieczeń traktują kopertę jako dane binarne. Z tego powodu należy skonfigurować konfigurację zabezpieczeń SOAP, tak aby przychodzące i wychodzące komunikaty były poprawnie szyfrowane, ale pozostały zdeszyfrowane w czasie testu.

Wydajność

Wydajność użytkowników wirtualnych zależy od implementacji aplikacji kontenera. W przypadku transportu HTTP produkt został przetestowany z maksymalną liczbą 900 współbieżnych użytkowników wirtualnych w systemie Windows i 600 użytkowników w systemie Linux. W przypadku usług JMS maksymalna liczba wynosi 100 współbieżnych użytkowników wirtualnych, ale ta liczba może ulegać zmianie ze względu na asynchroniczną implementację usług JMS. Przekroczenie tych wartości może powodować błędy połączeń, a także spadek szybkości realizacji transakcji.


Opinia