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.

  • 🔘 Nazywany również: Testowanie zgodności lub testowanie typu – formalna weryfikacja zgodności z opublikowaną normą.
  • 📚 Pokrycie: Obejmuje testy zgodności, obciążenia, naprężenia i objętości w ramach jednego programu zgodności.
  • 🧭 Podzbiory: Przed rozpoczęciem projektowania testów specyfikacje grupowane są w Profile, Poziomy i Moduły.
  • 🔄 Proces: Przeanalizuj standardy, wybierz narzędzia, zaprojektuj procedury, zweryfikuj, a następnie przyjmij zasady certyfikacji.
  • 📱 Telefon: Urządzenia GSM i CDMA dodają testy protokołu, karty SIM, częstotliwości radiowej, dźwięku i absorpcji.
  • ⚖️. Różnica: Zgodność jest formalna i stanowi pełne wsparcie; zgodność jest nieformalna i stanowi częściowe wsparcie.

Testowanie zgodności i proces testowania zgodności w testowaniu oprogramowania

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:

Poniższy diagram ilustruje sposób, w jaki te typy testów są ze sobą powiązane w ramach jednego programu zgodności.

Rodzaje testów zgodności podzielone na testy zgodności, testowanie obciążenia, testowanie wytrzymałości i testowanie objętoś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:

  1. Analiza standardów i specyfikacji
  2. Wybór narzędzi testowych i zestawu testowego
  3. Projektowanie procedur testowych
  4. Sprawdzanie niezbędnych walidacji
  5. 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.

Pięcioetapowy proces testowania zgodności od analizy standardów do certyfikacji

Wyrażony jako przypadek użycia, ten sam proces pokazuje, który aktor wykonuje każdy etap.

Diagram przypadku użycia procesu testowania zgodności z udziałem testerów i podmiotów certyfikujących

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

  1. Zapewnia właściwą realizację specyfikacji
  2. Zapewnia przenośność i interoperacyjność
  3. Zapewnia odpowiednie wykorzystanie standardów
  4. Umożliwia zapewnienie, że interfejsy i funkcje działają zgodnie z oczekiwaniami
  5. 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:

  1. Skuteczne testowanie zgodności wymaga określenia klasy testowanego systemu i zastosowania odpowiedniej metodologii
  2. Kategoryzowanie specyfikacji według profili, poziomów i modułów
  3. Predefiniowanie wartości
  4. 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:

  1. Najlepiej dopasowane metodologie testowania
  2. Wybór narzędzia testowego, które zautomatyzuje proces testowania
  3. Jasne zrozumienie, że testy zgodności wykazują jedynie niezgodność, a nigdy zgodność samą w sobie
  4. Projektowanie i wdrażanie programu testów zgodności
  5. Określenie, jak formalnie należy to przeprowadzić
  6. 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ć:

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.

Diagram przypadku użycia do testowania zgodności wdrożonego systemu mobilnego

Można to opracować w celu testowania karty SIM w dwóch etapach. Pierwszy etap to walidacja hasła, pokazane poniżej.

Przypadek użycia weryfikacji hasła karty SIM z poprawnymi i niepoprawnymi ścieżkami PIN

Drugi etap to wykonywanie połączenia, który ma dwa wyniki: połączenie zakończone powodzeniem i połączenie nieudane.

Przykład użycia połączenia pokazujący wyniki połączenia zakończonego powodzeniem i nieudanego

Testowanie protokołu przebiega według tego samego schematu, jak pokazuje ten przypadek użycia.

Przypadek użycia testowania protokołu dla systemu mobilnego w ramach testu zgodności

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ń.

FAQ

Najczęściej wymieniane są IEEE, W3C, ETSI i 3GPP, obok ISO. Każda z tych organizacji publikuje specyfikację, a w wielu przypadkach także oficjalny zestaw testów przeprowadzanych przez laboratorium przed przyznaniem certyfikatu.

Modele odczytują długą specyfikację i mapują każdą klauzulę na przypadek testowy kandydata, co skraca czas tracPraca nad zapewnieniem jakości. Kwalifikowany recenzent nadal zatwierdza, ponieważ dowody certyfikacji muszą być możliwe do obrony przed audytorem.

Tak, w przypadku powtarzalnego kodu i asercji w opublikowanym zestawie testów. Agenty uruchamiające testy mogą również ponownie uruchamiać zestaw przy każdej kompilacji, chociaż kryteria zaliczenia muszą pochodzić ze standardu, a nie z asystenta.

Akredytowany organ certyfikujący lub laboratorium badawcze, uznane przez organ normalizacyjny, a nie przez zespół programistów. Wyniki deklarowane przez jednostkę są zazwyczaj określane jako deklaracja zgodności, a nie certyfikat.

Za każdym razem, gdy standard zostanie zmieniony lub implementacja ulegnie zmianie w sposób, który wpłynie na certyfikowany interfejs. Wiele certyfikatów ma również okres ważności, po którym pakiet jest ponownie uruchamiany.

Zgodność oznacza, że ​​implementacja jest zgodna ze specyfikacją. Testowanie interoperacyjności Następnie udowadnia, że ​​dwie niezależnie zbudowane implementacje faktycznie ze sobą współpracują. Zaliczenie pierwszej implementacji nie gwarantuje powodzenia drugiej.

Przeważnie czarna skrzynka. Zestaw testów testuje opublikowany interfejs i porównuje zaobserwowane zachowanie ze standardem, niezależnie od sposobu, w jaki implementacja została zbudowana wewnętrznie.

A tracMacierz eability łącząca każdą klauzulę normy z przypadkiem testowym, wykonanymi wynikami oraz oświadczeniem o dowolnym profilu lub poziomie. Audytorzy czytają ten pakiet, a nie kod.

Podsumuj ten post następująco: