Testowanie konfiguracji
Testowanie konfiguracji to technika testowania oprogramowania, w której aplikacja jest testowana przy użyciu wielu kombinacji oprogramowania i sprzętu w celu oceny wymagań funkcjonalnych i znalezienia optymalnych konfiguracji, w których aplikacja działa bez żadnych wad i wad.
Jak omówiono powyżej, testowanie konfiguracji to testowanie oprogramowania, w którym testowana aplikacja musi zostać przetestowana przy użyciu wielu kombinacji oprogramowania i sprzętu.
W tym samouczku nauczysz się:
- Co to jest testowanie konfiguracji?
- Przykład testowania konfiguracji
- Wymagania wstępne do testowania konfiguracji
- Cele testowania konfiguracji
- Jak przeprowadzić testowanie konfiguracji
- Przykładowe przypadki testowe
Przykład testowania konfiguracji
Zrozummy to na przykładzie aplikacji komputerowej:
Generalnie aplikacje dla komputerów stacjonarnych będą dwu- lub trójwarstwowe, tutaj rozważymy trzywarstwową aplikację komputerową, która została opracowana przy użyciu Asp.Net i składa się z klienta, serwera Business Logic i serwera bazy danych, gdzie każdy składnik obsługuje wymienione poniżej platformy.
- Platforma kliencka - system operacyjny Windows XP, system operacyjny Window7, system operacyjny Windows 8 itp
- Platforma serwerowa - Windows Server 2008 R2, Windows Server 2008 R2, Windows Server 2012R2
- Baza danych -SQL Sever 2008, SQL Server 2008R2, SQL Server 2012 itd.
Tester musi przetestować połączenie klienta, serwera i bazy danych z kombinacjami wyżej wymienionych platform i wersji bazy danych, aby upewnić się, że aplikacja działa poprawnie i nie zawiedzie.
Testowanie konfiguracji ogranicza się nie tylko do oprogramowania, ale ma również zastosowanie do sprzętu, dlatego jest również określane jako testowanie konfiguracji sprzętu, w którym testujemy różne urządzenia sprzętowe, takie jak drukarki, skanery, kamery internetowe itp., Które obsługują testowaną aplikację.
Wymagania wstępne do testowania konfiguracji
W przypadku każdego projektu przed rozpoczęciem testu konfiguracji musimy spełnić kilka wymagań wstępnych
- Tworzenie macierzy składającej się z różnych kombinacji konfiguracji oprogramowania i sprzętu
- Priorytetyzacja konfiguracji, ponieważ testowanie wszystkich konfiguracji jest trudne
- Testowanie każdej konfiguracji w oparciu o priorytetyzację.
Cele testowania konfiguracji
Celem testowania konfiguracji jest
- Weryfikacja aplikacji w celu określenia, czy spełnia ona wymagania dotyczące konfigurowalności
- Ręczne wywoływanie błędów, które pomagają w identyfikacji defektów, które nie zostały skutecznie wykryte podczas testowania (np .: zmiana regionalnych ustawień systemu, takich jak strefa czasowa, język, formaty daty i godziny itp.)
- Określ optymalną konfigurację testowanej aplikacji.
- Analizowanie wydajności systemu poprzez dodawanie lub modyfikowanie zasobów sprzętowych, takich jak równoważniki obciążenia, zwiększanie lub zmniejszanie rozmiaru pamięci, podłączanie różnych modeli drukarek itp.
- Analiza wydajności systemu w oparciu o priorytetyzację, jak efektywnie przeprowadzono testy z dostępnymi zasobami, aby osiągnąć optymalną konfigurację systemu.
- Weryfikacja systemu w środowisku rozproszonym geograficznie w celu sprawdzenia, jak efektywnie działa system.
W przypadku np. Serwera w innej lokalizacji i klientów w innej lokalizacji system powinien działać poprawnie niezależnie od ustawień systemu.
- Weryfikacja, jak łatwo błędy są odtwarzalne niezależnie od zmian konfiguracji.
- Zapewnienie identyfikowalności elementów aplikacji poprzez odpowiednie dokumentowanie i utrzymywanie wersji, które są łatwo identyfikowalne.
- Weryfikacja możliwości zarządzania elementami aplikacji w całym cyklu ż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 testów konfiguracji, jak wspomniano poniżej
- Testowanie konfiguracji oprogramowania
- Testowanie konfiguracji sprzętu
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ż instalowanie i odinstalowywanie różnych programów używanych do testów zajmuje dużo czasu.
Jednym z podejść stosowanych do testowania konfiguracji oprogramowania jest testowanie na maszynach wirtualnych. Maszyna wirtualna to środowisko, które jest instalowane na oprogramowaniu i działa jak sprzęt fizyczny, a użytkownicy będą mieli takie same wrażenia jak maszyna fizyczna. Maszyny wirtualne symulują 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. Ten proces można wykonać, mając wiele maszyn wirtualnych, co upraszcza pracę testera
Testowanie konfiguracji oprogramowania można zwykle rozpocząć, kiedy
- Określono wymagania dotyczące konfigurowalności, które mają być testowane
- Środowisko testowe jest gotowe
- Zespół testujący jest dobrze przeszkolony w testowaniu konfiguracji
- Kompilacja została wydana i przeszła pomyślnie test integracji
Typowa strategia testowa stosowana w celu przetestowania testu konfiguracji oprogramowania polega na uruchomieniu zestawu testów funkcjonalnych w 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 dobrze, ręcznie kończąc przypadki testowe i weryfikując wydajność.
Przykład:
Załóżmy, że istnieje aplikacja bankowa, która musi zostać przetestowana pod kątem kompatybilności z wieloma przeglądarkami, gdy aplikacja jest hostowana w środowisku, w którym spełnione są wszystkie wymagania wstępne, może przejść przez jednostkę i testy integracji w laboratorium testowym.
Ale jeśli ta sama aplikacja jest zainstalowana w miejscu klienta, a 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 się nie powieść. Aby uniknąć tego rodzaju sytuacji, zawsze zaleca się ręczne niepowodzenie testów poprzez usunięcie niektórych wymagań dotyczących konfigurowalności, a następnie kontynuowanie testów.
Testowanie konfiguracji sprzętu
Testowanie konfiguracji sprzętu jest zwykle wykonywane w laboratoriach, gdzie znajdujemy fizyczne maszyny z podłączonym innym sprzętem.
Za każdym razem, gdy publikowana jest kompilacja, oprogramowanie musi być zainstalowane na wszystkich komputerach fizycznych, do których jest podłączony sprzęt, a zestaw testów należy uruchomić na każdej maszynie, aby upewnić się, że aplikacja działa poprawnie.
Do wykonania powyższego zadania wymagany jest znaczny wysiłek, aby zainstalować oprogramowanie na każdym komputerze, podłączyć sprzęt i ręcznie uruchomić lub nawet zautomatyzować powyższy proces i uruchomić zestaw testów.
Ponadto, wykonując test konfiguracji sprzętu, określamy typ sprzętu, który ma być testowany, a jest wiele sprzętu komputerowego i urządzeń peryferyjnych, które uniemożliwiają uruchomienie ich wszystkich. Zatem obowiązkiem testera staje się przeanalizowanie, jaki sprzęt jest najczęściej używany przez użytkowników i próba przeprowadzenia testów w oparciu o priorytetyzację.
Przykładowe przypadki testowe
Rozważ scenariusz bankowy, aby przetestować zgodność sprzętu. Aplikacja bankowa połączona z maszyną do liczenia banknotów musi zostać przetestowana z różnymi modelami, takimi jak Rolex, Strob, Maxsell, StoK itp.
Weźmy kilka przykładowych przypadków testowych, aby przetestować maszynę do liczenia notatek
- Weryfikacja połączenia aplikacji z modelem Rolex, gdy wymagania wstępne NIE są zainstalowane
- Weryfikacja połączenia aplikacji z modelem Rolex po zainstalowaniu wymagań wstępnych
- Sprawdź, czy system poprawnie liczy notatki
- Sprawdź, czy system nieprawidłowo liczy notatki
- Weryfikacja sfałszowanych notatek
- Weryfikacja czasów odpowiedzi
- Sprawdzanie, czy fałszywe notatki zostały wykryte 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 zaleca się zlecanie testowania konfiguracji sprzętu organizacjom, które je specjalizują.
Podsumowanie:
W inżynierii oprogramowania testowanie konfiguracji powinno mieć taką samą wagę jak inne typy testów. Bez testów konfiguracji trudno jest przeanalizować optymalną wydajność systemu, a także oprogramowanie może napotkać problemy ze zgodnością, na których powinno działać.