Co to jest testowanie konfiguracji? Przykładowe przypadki testowe
⚡ Inteligentne podsumowanie
Testowanie konfiguracji polega na uruchomieniu aplikacji w różnych kombinacjach oprogramowania i sprzętu, dzięki czemu zespół może potwierdzić, że wszędzie nadal obowiązują wymagania funkcjonalne, a także określić optymalną konfigurację na potrzeby wydania.
Testowanie konfiguracji
Testowanie konfiguracji jest techniką testowania oprogramowania, w której aplikację testuje się przy użyciu wielu kombinacji oprogramowania i sprzętu, w celu oceny wymagań funkcjonalnych i znalezienia optymalnej konfiguracji, w której aplikacja będzie działać bez defektów lub wad.
Konfiguracja to dowolna kombinacja, którą produkt musi obsługiwać: wersja systemu operacyjnego, przeglądarka, wersja bazy danych, sterownik, rozmiar pamięci lub podłączone urządzenie peryferyjne. Warto oddzielić to od testy zgodności, który pyta, czy produkt współistnieje z innym oprogramowaniem i platformami. Testowanie konfiguracji zadaje węższe pytanie: czy ta sama kompilacja nadal zachowuje się poprawnie po zmianie obsługiwanej przez nią konfiguracji?
Przykład testowania konfiguracji
Jako przykład można podać aplikację działającą na komputerze stacjonarnym.
Aplikacje desktopowe są zazwyczaj tworzone w formie dwu- lub trójwarstwowej. Weźmy na przykład aplikację desktopową trójwarstwową opracowaną w ASP.NETskładający się z Klienta, Serwera Logiki Biznesowej i Serwera Bazy Danych, przy czym każdy komponent obsługuje platformy wymienione poniżej.
- Platforma kliencka – Windows XP Windows 7, Windows 8 i tak dalej
- Platforma serwerowa – Windows Serwer 2008, Windows Serwer 2008 R2, Windows Serwer 2012 R2
- Baza danych - SQL Serwer 2008, SQL Server 2008 R2, SQL Server 2012 itd.
Tester musi przetestować klienta, serwer i bazę danych jednocześnie na wszystkich platformach i wersjach bazy danych, aby potwierdzić, że aplikacja działa poprawnie i nie powoduje awarii w żadnej obsługiwanej kombinacji.
Testowanie konfiguracji nie ogranicza się do oprogramowania. Dotyczy również sprzętu, dlatego aspekt sprzętowy nazywa się testowaniem konfiguracji sprzętu: drukarek, skanerów, kamer internetowych i podobnych urządzeń, które testowana aplikacja musi obsługiwać. Poniższa matryca pokazuje, jak te kombinacje są rozmieszczane przed rozpoczęciem testu.
Wymagania wstępne dotyczące testowania konfiguracji
Zanim rozpocznie się test konfiguracji w jakimkolwiek projekcie, muszą zostać spełnione trzy warunki wstępne.
- Utworzenie macierzy zawierającej listę różnych kombinacji konfiguracji oprogramowania i sprzętu
- Nadawanie priorytetu tym konfiguracjom, ponieważ testowanie każdej z nich nie jest realistyczne
- Testowanie każdej konfiguracji w kolejności ustalonej przez priorytetyzację
Cele testowania konfiguracji
Testowanie konfiguracji ma na celu osiągnięcie następujących celów.
- Sprawdź, czy aplikacja spełnia wymagania dotyczące konfigurowalności
- Celowo wywołuj awarie, aby ujawnić wady, których nie da się wykryć podczas zwykłego testowania, np. poprzez zmianę ustawień regionalnych, takich jak strefa czasowa, język lub format daty.
- Określ optymalną konfigurację testowanej aplikacji
- Analizuj wydajność systemu podczas zmiany zasobów sprzętowych, np. poprzez dodawanie modułów równoważenia obciążenia, zwiększanie lub zmniejszanie pamięci lub podłączanie różnych modeli drukarek
- Przeanalizuj wydajność systemu w odniesieniu do priorytetów, oceniając, jak dobrze testy wykorzystały dostępne zasoby, aby osiągnąć optymalną konfigurację.
- Zweryfikuj system w środowisku rozproszonym geograficznie, na przykład z serwerem w jednej lokalizacji i klientami w innej, gdzie system powinien działać niezależnie od lokalnych ustawień systemowych
- Sprawdź, jak łatwo defekty się odtwarzają po zmianie konfiguracji
- Potwierdź, że elementy aplikacji pozostają tracmożliwe dzięki odpowiedniej dokumentacji i wyraźnie identyfikowalnym zapisom wersji
- Potwierdź, że elementy aplikacji pozostają możliwe do zarządzania przez cały czas cykl życia oprogramowania
Jak przeprowadzić testowanie konfiguracji
Strategia zależy od tego, który z dwóch typów testowania konfiguracji jest objęty zakresem.
- Testowanie konfiguracji oprogramowania
- Testowanie konfiguracji sprzętowej
Testowanie konfiguracji oprogramowania
Testowanie konfiguracji oprogramowania polega na uruchomieniu testowanej aplikacji w wielu systemach operacyjnych, z wieloma aktualizacjami oprogramowania i wersjami zależności. Jest to czasochłonne, ponieważ każda runda wiąże się z koniecznością instalacji i deinstalacji oprogramowania.
Powszechnym sposobem na obniżenie tych kosztów jest testowanie wirtualne maszynyMaszyna wirtualna to środowisko zainstalowane w oprogramowaniu, które zachowuje się jak sprzęt fizyczny, dzięki czemu tester pracuje tak, jakby pracował na prawdziwej maszynie, a sama konfiguracja jest jednorazowa. Maszyny wirtualne symulują rzeczywiste konfiguracje na tyle wiernie, że umożliwiają przeprowadzenie większości testów funkcjonalnych.
Zamiast instalować i odinstalowywać aplikację na kilku maszynach fizycznych, aplikacja jest instalowana na maszynie wirtualnej, a testowanie jest kontynuowane od tego momentu. Równoległe uruchomienie kilku maszyn wirtualnych, z których każda została przywrócona z migawki, znacznie upraszcza pracę.
Testowanie konfiguracji oprogramowania można zazwyczaj rozpocząć, kiedy
- Określono wymagania dotyczące konfigurowalności, które należy przetestować
- Środowisko testowe jest gotowy
- Zespół testujący jest przeszkolony w zakresie testowania konfiguracji
- Wydana wersja przeszła testy jednostkowe i integracyjne
Typowy strategia testowania polega na uruchomieniu zestawu testów funkcjonalnych dla każdej konfiguracji oprogramowania i sprawdzeniu, czy aplikacja działa zgodnie z przeznaczeniem, bez wad i błędów. Drugą strategią jest celowe zaliczanie niepowodzeń testów i sprawdzanie, jak sprawnie system sobie z nimi radzi.
Przykład:
Weźmy aplikację bankową, którą trzeba przetestować w wielu przeglądarkach. Hostowana w środowisku, w którym spełnione są wszystkie wymagania wstępne, może z powodzeniem przejść testy jednostkowe i testy integracyjne w laboratorium testowym.
Zainstalowana u klienta ta sama aplikacja może ulec awarii, ponieważ na tych komputerach brakuje aktualizacji oprogramowania lub wersji zależności, od których aplikacja korzysta bezpośrednio lub pośrednio. Celowe niezaliczenie testów poprzez usunięcie niektórych wymagań dotyczących konfigurowalności, a następnie ponowne przeprowadzenie testów, ujawnia ten typ defektu, zanim klient go wykryje. Poniższy zrzut ekranu przedstawia reprodukcję takiej awarii zależnej od konfiguracji w kontrolowanym środowisku.
Testowanie konfiguracji sprzętowej
Testowanie konfiguracji sprzętu przeprowadza się zazwyczaj w laboratorium, w którym znajdują się fizyczne maszyny z podłączonymi do nich różnymi urządzeniami.
Za każdym razem, gdy udostępniana jest nowa wersja oprogramowania, oprogramowanie jest instalowane na każdym z tych komputerów, a na każdym z nich uruchamiany jest zestaw testów w celu potwierdzenia, że aplikacja działa z podłączonym urządzeniem.
To zadanie wymaga znacznego wysiłku: należy zainstalować oprogramowanie na każdym komputerze, podłączyć sprzęt, a następnie uruchomić pakiet ręcznie lub najpierw zautomatyzować tę czynność.
Należy również określić rodzaj testowanego sprzętu. Sprzęt komputerowy i urządzenia peryferyjne są tak różnorodne, że uwzględnienie ich wszystkich jest niemożliwe, dlatego tester analizuje, z których urządzeń faktycznie korzystają użytkownicy i przeprowadza testy zgodnie z tą priorytetyzacją.
Przykładowe przypadki testowe
Rozważmy scenariusz bankowy testowany pod kątem kompatybilności sprzętowej. Aplikacja bankowa połączona z liczarką banknotów musi współpracować z kilkoma modelami, takimi jak Rolex, Strob, Maxsell i StoK.
Próba przypadki testowe dla maszyny do liczenia banknotów obejmują następujące elementy.
- Sprawdź połączenie między aplikacją a modelem Rolex, jeśli wymagania wstępne NIE są zainstalowane
- Sprawdź połączenie między aplikacją a modelem Rolex, gdy zainstalowane są wymagania wstępne
- Sprawdź, czy system prawidłowo liczy banknoty
- Sprawdź, w jaki sposób system raportuje błędne liczenie
- Zweryfikuj sposób postępowania z banknotami zmanipulowanymi
- Sprawdź czasy reakcji
- Sprawdź, czy wykrywane są fałszywe notatki
Te przypadki dotyczą pojedynczego modelu, a każdy pozostały model na rynku musi zostać skonfigurowany w laboratorium testowym i przetestowany w ten sam sposób, co rzadko jest praktyczne w przypadku firmy. Zlecenie testowania konfiguracji sprzętu organizacji specjalizującej się w tym zakresie jest często bardziej realistyczną opcją.


