Testowanie zgodności (testowanie zgodności) w testowaniu oprogramowania
⚡ Inteligentne podsumowanie
Testowanie zgodności ma na celu potwierdzenie, że system oprogramowania spełnia standardy i regulacje ustanowione przez takie organizacje, jak IEEE, W3C lub ETSI, obejmujące wydajność, funkcje, solidność, interoperacyjność i ogólne zachowanie systemu.
Testy zgodności
Testy zgodności Testowanie zgodności to technika testowania oprogramowania służąca do certyfikacji zgodności systemu oprogramowania ze standardami i przepisami określonymi przez organizacje takie jak IEEE, W3C czy ETSI. Określa ona, w jakim stopniu testowany system spełnia poszczególne wymagania danego standardu. Testowanie zgodności jest również nazywane testowaniem zgodności.
Może on dotyczyć aspektów technicznych, ale z założenia obejmuje również:
- Wydajność
- Funkcje
- Krzepkość
- Interoperacyjność
- Zachowanie systemu
Rodzaje testów zgodności
Testowanie zgodności może mieć charakter logiczny lub fizyczny i obejmuje następujące rodzaje testowania:
- Testy zgodności
- Testowanie obciążenia
- Testy warunków skrajnych
- Testowanie głośności
Poniższy diagram ilustruje sposób, w jaki te typy testów są ze sobą powiązane w ramach jednego programu zgodności.
Dlaczego potrzebujemy testów zgodności?
- Aby sprawdzić spełnienie wymagań systemowych
- Aby sprawdzić, czy dokumentacja systemu jest kompletna
- Aby sprawdzić zgodność rozwoju, projektu i oceny ze specyfikacjami
Co musimy przetestować?
- Standardy według których odbywa się wdrożenie
- Zew systemu, który ma zostać opracowany
- Zakres specyfikacji
- Cele specyfikacji
Testowanie zgodności jest inicjowane przez kierownictwo, po upewnieniu się, że zespół rozumie obowiązujące normy, specyfikacje i procedury.
Normy i specyfikacje powinny być jasno określone, aby uniknąć niejasności. W przeciwnym razie testy zgodności same w sobie są przydatne w określeniu kroków niezbędnych do ich trafności i wiarygodności.
Kiedy i jak przeprowadzać testy zgodności?
Testowanie zgodności przeprowadza się, gdy konieczne jest sprawdzenie ogólnej spójności, kompletności i poprawności systemu pod kątem zgodności ze specyfikacją wymagań. Zastosowane metodologie nie różnią się znacząco od standardowych etapów cyklu rozwoju oprogramowania:
- Analiza specyfikacji wymagań
- Przygotowanie planu testów
- Przygotowywanie przypadków testowych i określanie ich celu
- Tworzenie dokumentacji dla przygotowanych projektów testowych
Należy zwrócić uwagę na pewne dodatkowe aspekty specyfikacji, w szczególności podzbiory, które generalnie dzielą się na trzy typy — profil, poziom i moduły:
- Profil jest podzbiorem specyfikacji obejmującym funkcjonalność systemu wymaganą do spełnienia wymagań określonej grupy użytkowników
- Poziomy są zagnieżdżonymi podzbiorami specyfikacji, gdzie Poziom 1 oznacza podstawowe specyfikacje, a Poziom 2 oznacza Poziom 1 plus dodatkową lub nową funkcjonalność
- Moduły są zbiorami istotnie skorelowanych norm i specyfikacji
Proces testowania zgodności
Proces testowania zgodności (Compliance Testing Process) jest niezbędny do zapewnienia wydajności i efektywności oraz uniknięcia ryzyka dla aplikacji programowej w przyszłości. Skuteczny test zgodności przebiega według następującego, krok po kroku procesu:
- Analiza standardów i specyfikacji
- Wybór narzędzi testowych i zestawu testowego
- Projektowanie procedur testowych
- Sprawdzanie niezbędnych walidacji
- Przyjęcie odpowiednich zasad testowania i certyfikacji
Poniższa graficzna reprezentacja procesu testowania zgodności i kompatybilności ułatwia śledzenie kolejności czynności.
Wyrażony jako przypadek użycia, ten sam proces pokazuje, który aktor wykonuje każdy etap.
Testowanie zgodności a testowanie zgodności
Testowanie zgodności jest czasami nazywane testowaniem zgodności, jednak kilka podstawowych faktów odróżnia je. Poniższa tabela je porównuje.
| Testy zgodności | Testy zgodności |
| Formalny i precyzyjny sposób testowania zgodności ze standardami | Nieformalny i mniej precyzyjny sposób testowania zgodności ze standardami |
| Certyfikacja zgodności dotyczy wyłącznie systemu operacyjnego posiadającego oficjalną aprobatę Urzędu Certyfikacji | System operacyjny zapewniający pojedynczy interfejs API POSIX (Portable OperaInterfejs systemu ting) jest uważany za zgodny |
| Służy do testowania systemu zapewniającego pełne wsparcie dla danych standardów | Służy do testowania systemu zapewniającego obsługę tylko niektórych z podanych standardów |
Zalety testowania zgodności
- Zapewnia właściwą realizację specyfikacji
- Zapewnia przenośność i interoperacyjność
- Zapewnia odpowiednie wykorzystanie standardów
- Umożliwia zapewnienie, że interfejsy i funkcje działają zgodnie z oczekiwaniami
- Pomaga zidentyfikować obszary, które muszą być zgodne, i te, które nie muszą, takie jak składnia i semantyka
Wady testów zgodności
Podobnie jak inne rodzaje testowania, testowanie zgodności wiąże się z zadaniami, które są trudne do wykonania i mogą stanowić wyzwanie. Poniżej wymieniono niektóre z nich:
- Skuteczne testowanie zgodności wymaga określenia klasy testowanego systemu i zastosowania odpowiedniej metodologii
- Kategoryzowanie specyfikacji według profili, poziomów i modułów
- Predefiniowanie wartości
- Projektowanie rozszerzeń, opcji i podejść niezbędnych do pomyślnego przeprowadzenia procesu testowania
Testowanie zgodności: krytyczne punkty widzenia
Testowanie zgodności obejmuje obszary, które wymagają szczególnej uwagi i wiedzy, aby jego pomyślna implementacja przebiegła pomyślnie:
- Najlepiej dopasowane metodologie testowania
- Wybór narzędzia testowego, które zautomatyzuje proces testowania
- Jasne zrozumienie, że testy zgodności wykazują jedynie niezgodność, a nigdy zgodność samą w sobie
- Projektowanie i wdrażanie programu testów zgodności
- Określenie, jak formalnie należy to przeprowadzić
- Zasady i regulacje
Testowanie zgodności dla systemu mobilnego
Podobnie jak inne rodzaje testowania oprogramowania, testowanie zgodności można również przeprowadzić dla systemów mobilnych. Po zmontowaniu systemu, przed wdrożeniem, jest on sprawdzany pod kątem użyteczności za pomocą testu zgodności.
W zależności od rodzaju sieci, takiej jak GSM czy CDMA, testy przeprowadza się w celu zapewnienia zgodności i interoperacyjności. Testy te mogą obejmować:
- Testowanie protokołu
- Pewność i Testowanie bezpieczeństwa
- Testowanie karty SIM
- Testowanie częstotliwości radiowej (RF)
- Testy dźwięku
- Specyficzne testy absorpcji
Przykładowy diagram przypadków użycia
Poniższy diagram przypadku użycia pokazuje, jak przeprowadzane są testy zgodności dla wdrożonych systemy mobilne.
Można to opracować w celu testowania karty SIM w dwóch etapach. Pierwszy etap to walidacja hasła, pokazane poniżej.
Drugi etap to wykonywanie połączenia, który ma dwa wyniki: połączenie zakończone powodzeniem i połączenie nieudane.
Testowanie protokołu przebiega według tego samego schematu, jak pokazuje ten przypadek użycia.
Poniższy szablon przypadku testowego pokazuje, jak pisać przypadki testowe na potrzeby testowania protokołu.
| Identyfikator testu | Scenariusz testowy | Kroki testowe | Dane testowe | Spodziewany wynik | Aktualny rezultat | Status | Uwagi |
| PT001 | Protokół nie ma impasu | Zacznij od procesu komunikacji | _ | Powinno pomyślnie nawiązać komunikację | Komunikacja została nawiązana pomyślnie | Przechodzić | _ |
| PT002 | "Pingpolecenie działa poprawnie w przypadku przekroczenia limitu czasu | Wchodzę Ping polecenie jako 'Ping -w' w wierszu poleceń | Ping 1000 | Powinien wyświetlić się komunikat „Transmit Udany." | Komunikat pokazuje „Transmit Udany." | Przechodzić | _ |
| PT003 | Policz liczbę żądań „echa” | Wchodzę Ping polecenie jako 'Ping -n' w wierszu poleceń | Ping 4 | Powinien zacząć pinging 0.0.0.4 z 32 bajtami danych i wyświetla komunikat „Transmit Udany." | Rozpoczyna pinging 0.0.0.4 z 32-bajtowymi danymi, ale wyświetla komunikat „Transmit Przegrany." | Fail | Błąd semantyczny lub funkcjonalny |
| PT004 | Do dowolnego stanu można dotrzeć z dowolnego stanu | Wyjście ze stanu i powrót do poprzedniego lub następnego | _ | Powinien pomyślnie zmienić stan | Pomyślnie zmienia stan | Przechodzić | _ |
Takie szablony zapewniają jednolitość procesu testowania. W zależności od rodzaju sieci, można zdefiniować i wykonać setki przypadków testowych, aby potwierdzić, że system mobilny działa zgodnie ze specyfikacją wymagań.







