Co to jest testowanie konfiguracji? Przykładowe przypadki testowe
Testowanie konfiguracji
Testowanie konfiguracji to technika testowania oprogramowania, podczas której aplikacja jest testowana z wieloma kombinacjami oprogramowania i sprzętu w celu oceny wymagań funkcjonalnych i znalezienia optymalnych konfiguracji, w których aplikacja działa bez żadnych defektów i wad.
Jak omówiono powyżej, testowanie konfiguracji to testowanie oprogramowania, podczas którego testowana aplikacja musi zostać przetestowana przy użyciu wielu kombinacji oprogramowania i sprzętu.
Przykład testowania konfiguracji
Rozumiemy to na przykładzie aplikacji komputerowej:
Ogólnie rzecz biorąc, aplikacje komputerowe będą dwu- lub trzywarstwowe. Tutaj rozważymy trzywarstwową aplikację komputerową opracowaną przy użyciu Asp.Net i składa się z klienta, serwera logiki biznesowej i serwera bazy danych, gdzie każdy komponent obsługuje platformy wymienione poniżej.
- Platforma Klienta – Windows XP, system operacyjny Windows 7, system operacyjny Windows 8 itp.
- Platforma serwerowa – Windows Serwer 2008 R2,Windows Serwer 2008 R2, Windows Serwer 2012R2
- Baza danych – SQL Server 2008, SQL Serwer 2008R2, SQL Server 2012 itp.
Tester musi przetestować Kombinację Klienta, Serwera i Bazy Danych z kombinacjami wyżej wymienionych platform i wersji baz danych, aby upewnić się, że aplikacja działa poprawnie i nie zawodzi.
Testowanie konfiguracji nie ogranicza się tylko do oprogramowania, ale ma również zastosowanie do sprzętu, dlatego nazywa się je również testowaniem konfiguracji sprzętu, podczas którego testujemy różne urządzenia sprzętowe, takie jak drukarki, skanery, kamery internetowe itp., które obsługują testowaną aplikację.
Wymagania wstępne dotyczące testowania konfiguracji
W przypadku każdego projektu przed rozpoczęciem testu konfiguracji musimy spełnić pewne wymagania wstępne
- Stworzenie macierzy składającej się z różnych kombinacji konfiguracji oprogramowania i sprzętu
- Nadanie priorytetu konfiguracjom, ponieważ przetestowanie wszystkich konfiguracji jest trudne
- Testowanie każdej konfiguracji w oparciu o priorytetyzację.
Cele testowania konfiguracji
Celem testowania konfiguracji jest
- Walidacja aplikacji w celu ustalenia, czy spełnia ona wymagania dotyczące konfigurowalności
- Ręczne powodowanie awarii, które pomaga w identyfikacji defektów, które nie są skutecznie wykrywane podczas testowania (np. zmiana ustawień regionalnych systemu, takich jak strefa czasowa, język, formaty daty i godziny itp.)
- Określ optymalną konfigurację testowanej aplikacji.
- Analizowanie wydajności systemu poprzez dodanie lub modyfikację zasobów sprzętowych, takich jak Load Balancers, zwiększenie lub zmniejszenie rozmiaru pamięci, podłączenie różnych modeli drukarek itp.
- Analizowanie wydajności systemu w oparciu o ustalenie priorytetów, jak efektywnie przeprowadzono testy przy dostępnych zasobach, aby osiągnąć optymalną konfigurację systemu.
- Weryfikacja systemu w środowisku rozproszonym geograficznie w celu sprawdzenia efektywności działania systemu. Na przykład: serwer w innej lokalizacji i klienci w innej lokalizacji, system powinien działać poprawnie niezależnie od ustawień systemu.
- Sprawdzenie, jak łatwo błędy są odtwarzane niezależnie od zmian konfiguracji.
- Zapewnienie identyfikowalności elementów aplikacji poprzez odpowiednie dokumentowanie i utrzymywanie wersji, które są łatwe do zidentyfikowania.
- Sprawdzanie możliwości zarządzania elementami aplikacji w całym programie cykl życia oprogramowania.
Jak przeprowadzić testowanie konfiguracji
W tej sekcji omówimy strategię, której należy przestrzegać w przypadku typów testów konfiguracji. Istnieją dwa typy testowania konfiguracji, jak wspomniano poniżej
- Testowanie konfiguracji oprogramowania
- Testowanie konfiguracji sprzętowej
Testowanie konfiguracji oprogramowania
Testowanie konfiguracji oprogramowania polega na testowaniu testowanej aplikacji z wieloma systemami operacyjnymi, różnymi aktualizacjami oprogramowania itp. Testowanie konfiguracji oprogramowania jest bardzo czasochłonne, ponieważ instalacja i dezinstalacja innego oprogramowania używanego do testowania zajmuje dużo czasu.
Jednym z podejść stosowanych do testowania konfiguracji oprogramowania jest testowanie na maszynach wirtualnych. Maszyna wirtualna to środowisko instalowane na oprogramowaniu i działające jak sprzęt fizyczny, a użytkownicy będą mieli takie same odczucia, jak w przypadku maszyny fizycznej. Virtual Machines symuluje konfiguracje w czasie rzeczywistym.
Zamiast instalować i odinstalowywać oprogramowanie na wielu maszynach fizycznych, co jest czasochłonne, zawsze lepiej jest zainstalować aplikację/oprogramowanie na maszynie wirtualnej i kontynuować testowanie. Proces ten można przeprowadzić, mając wiele wirtualne maszyny, co upraszcza pracę testera
Testowanie konfiguracji oprogramowania można zazwyczaj rozpocząć, kiedy
- Określono wymagania dotyczące konfigurowalności, które należy przetestować
- Środowisko testowe jest gotowe
- Zespół testujący jest dobrze przeszkolony w testowaniu konfiguracji
- Wydana kompilacja przeszła pomyślnie test jednostkowy i integracyjny
Typowy Strategia testowania Kolejnym krokiem w celu przetestowania testu konfiguracji oprogramowania jest uruchomienie zestawu testów funkcjonalnych na wielu konfiguracjach oprogramowania w celu sprawdzenia, czy testowana aplikacja działa zgodnie z oczekiwaniami, bez żadnych wad i błędów.
Inną strategią jest upewnienie się, że system działa prawidłowo, poprzez ręczne niezaliczenie przypadków testowych i weryfikację wydajności.
Przykład:
Załóżmy, że istnieje aplikacja bankowa, którą należy przetestować pod kątem kompatybilności w wielu przeglądarkach, gdy aplikacja jest hostowana w środowisku, w którym spełnione są wszystkie wymagania wstępne, może przejść przez jednostkę i Testy integracyjne w laboratorium testowym.
Jeśli jednak ta sama aplikacja jest zainstalowana na komputerze klienckim i na komputerach brakuje niektórych aktualizacji oprogramowania lub wersji, od których aplikacja jest bezpośrednio lub pośrednio zależna, istnieje ryzyko, że aplikacja może nie działać. Aby uniknąć tego rodzaju sytuacji, zawsze sugeruje się ręczne niepowodzenie testów poprzez usunięcie niektórych wymagań dotyczących konfigurowalności, a następnie kontynuowanie testowania.
Testowanie konfiguracji sprzętowej
Testowanie konfiguracji sprzętu jest zwykle przeprowadzane w laboratoriach, gdzie znajdujemy fizyczne maszyny z podłączonym do nich różnym sprzętem.
Za każdym razem, gdy wydawana jest kompilacja, oprogramowanie należy zainstalować na wszystkich komputerach fizycznych, do których podłączony jest sprzęt, a na każdym komputerze należy uruchomić zestaw testów, aby upewnić się, że aplikacja działa poprawnie.
Aby wykonać powyższe zadanie, wymagany jest znaczny wysiłek, aby zainstalować oprogramowanie na każdej maszynie, podłączyć sprzęt i ręcznie uruchomić lub nawet zautomatyzować powyższy proces i uruchomić zestaw testów.
Ponadto podczas wykonywania testu konfiguracji sprzętu określamy typ sprzętu, który ma zostać przetestowany, a sprzętu komputerowego i urządzeń peryferyjnych jest dużo, co uniemożliwia uruchomienie ich wszystkich. Zatem obowiązkiem testera staje się analiza tego, jakiego sprzętu najczęściej używają użytkownicy i próba przeprowadzenia testów w oparciu o priorytetyzację.
Przykładowe przypadki testowe
Rozważ scenariusz bankowy, aby przetestować kompatybilność sprzętu. Aplikację bankową podłączoną do maszyny do liczenia banknotów należy przetestować z różnymi modelami, takimi jak Rolex, Strob, Maxsell, StoK itp.
Weźmy kilka przykładowych przypadków testowych, aby przetestować maszynę do liczenia banknotów
- Weryfikacja połączenia aplikacji z modelem Rolex, gdy NIE są zainstalowane wymagania wstępne
- Weryfikacja połączenia aplikacji z modelem Rolex po zainstalowaniu wymagań wstępnych
- Sprawdź, czy system poprawnie zlicza banknoty
- Sprawdź, czy system nieprawidłowo liczy banknoty
- Weryfikacja sfałszowanych notatek
- Weryfikacja czasów reakcji
- Sprawdzanie, czy zostaną wykryte fałszywe notatki i tak dalej
Powyższe przypadki testowe dotyczą jednego modelu i to samo należy przetestować ze wszystkimi modelami dostępnymi na rynku, ustawiając je w laboratorium testowym, co jest trudne. Dlatego też wskazane jest zlecanie testowania konfiguracji sprzętu firmom, które się w nim specjalizują.
Podsumowanie
W inżynierii oprogramowania testowanie konfiguracji powinno być traktowane z taką samą wagą, jak inne typy testów. Bez przeprowadzenia testów konfiguracji trudno jest przeanalizować optymalną wydajność systemu, a oprogramowanie może napotkać problemy ze zgodnością, na których powinno działać.