configuration testing tutorial with examples
Wprowadzenie do testowania konfiguracji oprogramowania:
Ten artykuł został dostarczony w celu omówienia specjalnego rodzaju testowania oprogramowania, które jest bardzo ważne dla firmy.
Omówimy podstawy testowania konfiguracji, jego potrzeby, znaczenie, cele i typy. W miarę postępów w tym artykule dowiemy się szczegółowo, jak przeprowadzić te testy.
jak dodawać elementy tablicy
Zacznijmy !!
Ten samouczek zapewni Ci pełny przegląd testowania konfiguracji i będzie doskonałym przewodnikiem dla każdego, kto jest nowy w tej koncepcji testowania, i pogłębi wiedzę tych, którzy już mają w tym doświadczenie.
Czego się nauczysz:
- Co to jest testowanie konfiguracji?
- Dlaczego to badanie?
- Przygotowanie do testu konfiguracji
- Microsoft VSTS - narzędzie do testowania konfiguracji
- Cele
- Rodzaje testowania konfiguracji
- Znaczenie tego testu dla przedsiębiorstwa
- Wniosek
- rekomendowane lektury
Co to jest testowanie konfiguracji?
Testowanie konfiguracji to metoda testowania opracowywanego systemu na wielu komputerach, które mają różne kombinacje lub konfiguracje sprzętu i oprogramowania. Wydajność systemu lub aplikacji jest testowana pod kątem każdej obsługiwanej konfiguracji sprzętu i oprogramowania.
Kiedy mówimy o różnych konfiguracjach sprzętu i oprogramowania, przypisuje się to wielu wersjom systemu operacyjnego, przeglądarkom, obsługiwanym sterownikom, rozmiarom pamięci, typom dysków twardych, procesorom itp.
Dlaczego to badanie?
Jak omówiono powyżej, to testowanie jest techniką, która ocenia wydajność oprogramowania, systemu / aplikacji z uwzględnieniem różnych konfiguracji systemu.
To testowanie ma na celu określenie optymalnych konfiguracji, w których system lub aplikacja może działać dobrze bez żadnych błędów, problemów lub wad wydajności. Tak więc za pomocą tych testów wykryto najbardziej efektywną konfigurację, która zapewni wymagane parametry wydajności.
Drugim głównym powodem tych testów jest weryfikacja zgodności systemu z innym oprogramowaniem lub wyposażeniem wymienionym w SRS (specyfikacja wymagań oprogramowania).
Przykład
Weźmy pod uwagę, że Twoja firma opracowała aplikację komputerową w języku C # i ta aplikacja jest oparta na platformie .NET.
Ta aplikacja jest oparta na architekturze trójwarstwowej, która ma trzy warstwy - front-end (klient), warstwę aplikacji (serwer) i warstwę bazy danych. Każda z warstw będzie odpowiednio obsługiwać określone platformy.
Załóżmy, że każda warstwa obsługuje poniższe platformy:
Klient - System operacyjny Windows 10, Windows 7, Windows XP, Linux.
serwer - serwer Ubuntu, Windows Server 2016 , Novell Open Enterprise Server .
Baza danych - Microsoft SQL Server, IBM DB2, MySQL.
Teraz, jako tester oprogramowania, będziesz musiał przetestować aplikację w każdej z różnych kombinacji powyższych platform klienta, serwera i bazy danych, aby upewnić się, że aplikacja działa dobrze w każdej z możliwych konfiguracji.
Na przykład , sprawdzisz, jak aplikacja działa z połączeniem systemu operacyjnego Windows 10, Windows Server 2016 i bazy danych MySQL, następnie wykonasz kolejny test, aby sprawdzić, jak aplikacja działa z połączeniem systemu operacyjnego Windows 10, Windows Server 2016 i bazy danych IBM DB2.
I tak dalej, dopóki nie przetestujesz wszystkich możliwych konfiguracji.
Nasze testy byłyby nie tylko ograniczone do oprogramowania, ale obejmowałyby również sprzęt, w którym będziemy musieli sprawdzić każdą z kombinacji różnych urządzeń sprzętowych. Dlatego czasami ten test jest również nazywany testowaniem konfiguracji sprzętu.
Przygotowanie do testu konfiguracji
To testowanie ma pewne wymagania wstępne, które muszą zostać spełnione, zanim wykonamy testy konfiguracji.
Poniżej znajdują się wymagania wstępne:
# 1) Przygotowanie macierzy pokrycia
Ze względu na ogromną liczbę możliwych konfiguracji sprzętu i oprogramowania efektywne przetestowanie każdej z konfiguracji staje się bardzo czasochłonne i prawie niemożliwe.
Na przykład , w przykładzie, który omówiliśmy powyżej, będziemy mieć w sumie 3 * 3 * 3, czyli 27 konfiguracji oprogramowania. Załóżmy, że mamy 5 różnych dysków twardych i 6 różnych rozmiarów pamięci. Wtedy liczba wzrośnie do 27 * 5 * 9, czyli teraz 810 konfiguracji.
Będzie to rosło, jeśli dodamy więcej komponentów do obrazu. Dlatego kluczowe staje się zaplanowanie wysiłku związanego z testowaniem oprogramowania i wyraźne określenie, które platformy będą obsługiwane.
Następnie musimy wymyślić macierz pokrycia, która będzie zawierać różne kombinacje konfiguracji sprzętu i oprogramowania. Czasami ta macierz pokrycia jest również znana jako BCM (Basic Configuration Matrix).
Powyższy rysunek przedstawia przykładową schematyczną macierz konfiguracji, które chcesz przetestować.
# 2) Priorytetyzacja konfiguracji
Po przygotowaniu macierzy konfiguracji następnym krokiem jest ustalenie priorytetów konfiguracji.
Ten krok jest wymagany, ponieważ niemożliwe jest przetestowanie całej szerokiej gamy konfiguracji. Tak więc, w oparciu o opinie klientów, wybierane są najbardziej krytyczne konfiguracje, które należy najpierw dokładnie przetestować.
Gdy skończymy z dwoma powyższymi krokami, możemy przejść do testowania różnych konfiguracji w oparciu o ich priorytet.
Microsoft VSTS - narzędzie do testowania konfiguracji
Microsoft Visual Studio Team Services (VSTS) to narzędzie, które bardzo pomaga w testowaniu aplikacji w różnych konfiguracjach w oparciu o plan testów.
Powinieneś mieć plan testów, aby zdecydować, które testy chcesz wykonać i na jakich konfiguracjach. Musisz upewnić się, że masz odpowiednie środowisko skonfigurowane dla wymaganych konfiguracji. Gdy masz już macierz kombinacji, musisz ją przetestować.
Możesz wykonać poniższe kroki, aby przeprowadzić te testy:
# 1) Skonfiguruj konfiguracje i utwórz zmienne. Zmienna jest jednym z elementów twojej konfiguracji.
Na przykład , może istnieć zmienna „Browser”, która może mieć wiele wartości, takich jak Chrome, Firefox, IE10 itp.
#dwa) Przypisz konfiguracje do planów testów / zestawów testów lub indywidualnych przypadków testowych.
# 3) Wykonaj testy dla każdej konfiguracji.
# 4) Śledź wyniki testów dla każdej konfiguracji.
Szczegółowy przewodnik krok po kroku dotyczący przeprowadzania tego testu za pomocą VSTS można obejrzeć tutaj: VSTS - Testuj różne konfiguracje
Cele
Poniżej podano różne cele tego testu:
- Określenie optymalnej konfiguracji AUT (testowana aplikacja).
- Aby odkryć ukryte luki zawarte w sprzęcie.
- Zapewnienie ciągłości biznesowej poprzez wykrywanie i naprawianie problemów, zanim utrudnią one prowadzenie działalności.
- Aby wyeliminować dryf konfiguracji.
- Aby zminimalizować liczbę błędów spowodowanych błędami konfiguracji hosta.
- Weryfikacja aplikacji w celu upewnienia się, że spełnia ona wymagania konfigurowalności.
- Aby przeanalizować wydajność systemu, dodając, usuwając lub modyfikując komponenty sprzętowe ( Na przykład . Zmienianie rozmiarów pamięci, dodawanie modułów równoważenia obciążenia itp.).
- Aby sprawdzić, czy system działa dobrze w środowisku rozproszonym geograficznie (serwery i klienci znajdują się w różnych lokalizacjach).
- Weryfikacja, jak łatwo można replikować błędy niezależnie od zmian konfiguracji.
- Aby sprawdzić, jak identyfikowalne i zarządzalne są elementy aplikacji.
Rodzaje testowania konfiguracji
Możemy mieć dwie różne linie podziałów dla tego testu.
Na Pierwsza linia można go podzielić na dwie części:
- Testowanie konfiguracji oprogramowania
- Testowanie konfiguracji sprzętu
Na druga linia , można go ponownie podzielić na dwie części - 1. Testowanie na poziomie klienta i 2. Testowanie na poziomie serwera
Na początek przyjrzyjmy się konfiguracji sprzętu i oprogramowania.
# 1) Testowanie konfiguracji oprogramowania:
Testy te są wykonywane przez AUT (testowaną aplikację) z wieloma wersjami systemu operacyjnego, aktualizacjami oprogramowania itp. Jest to długotrwałe testowanie, ponieważ zajmuje dużo czasu na zainstalowanie i odinstalowanie różnych programów, które mają być używane do testowania.
Jednym ze sposobów oszczędzania czasu jest wykorzystanie maszyn wirtualnych do testowania konfiguracji oprogramowania. Maszyna wirtualna symuluje konfiguracje w czasie rzeczywistym i daje takie same wrażenia jak maszyna fizyczna.
Tak więc zamiast instalować i odinstalowywać wiele programów na jednej maszynie fizycznej, możemy mieć wiele maszyn wirtualnych symulujących każdą inną konfigurację, w odniesieniu do której musimy przeprowadzić testy.
Testowanie konfiguracji oprogramowania rozpoczyna się po wydaniu kompilacji po przejściu przez testy jednostkowe i testy integracji.
# 2) Testowanie konfiguracji sprzętu:
Testowanie konfiguracji sprzętu jest zwykle przeprowadzane w laboratoriach, gdzie mamy fizyczne maszyny z podłączonym do nich różnym sprzętem.
Za każdym razem, gdy publikowana jest kompilacja, oprogramowanie musi być zainstalowane na wszystkich fizycznych maszynach, do których jest podłączony sprzęt, a zestaw testów musi zostać wykonany na każdej maszynie, aby potwierdzić, że aplikacja działa poprawnie.
Aby wykonać powyższe zadanie, wymagana jest znaczna ilość pracy, aby skonfigurować oprogramowanie na każdym komputerze, podłączyć do niego sprzęt, a następnie ręcznie wykonać zestawy testów. Nawet jeśli zautomatyzujemy to zadanie i uruchomimy zestaw testów, nawet wtedy wymagany byłby znaczny wysiłek.
Ponadto, jak już omówiliśmy w poprzedniej części tego artykułu, podczas testowania konfiguracji sprzętowej określamy rodzaj sprzętu, który ma być testowany, a istnieje wiele sprzętu komputerowego i urządzeń peryferyjnych, które sprawiają, że prawie niemożliwe jest wykonanie wszystkich testy.
Tak więc tester analizuje, jaki sprzęt jest używany głównie przez klienta, a następnie przeprowadza testy na podstawie priorytetów.
Omówmy teraz testy konfiguracji na poziomie klienta i serwera.
# 1) Testowanie na poziomie klienta : Ma wspólne cechy z testowaniem użyteczności i funkcjonalności. Testowanie to jest przeprowadzane z punktu widzenia interesów jego bezpośredniego użytkownika.
# 2) Testowanie na poziomie serwera : Ten typ testów jest wykonywany w celu zbadania interakcji między oprogramowaniem a środowiskiem zewnętrznym, gdy planowana jest integracja po wydaniu.
Znaczenie tego testu dla przedsiębiorstwa
Te testy są bardzo ważne, aby przedsiębiorstwo mogło opracować i utrzymać wydajne, skalowalne i dostępne aplikacje.
Testowanie to powinno być wykonywane w sposób ciągły i najlepiej w sposób zautomatyzowany (w przeciwnym razie jest bardzo czasochłonne, gdy jest wykonywane ręcznie) w celu szybkiego zidentyfikowania i skorygowania czynników przyczyniających się do nieefektywności.
11 najlepszych narzędzi do zarządzania konfiguracją oprogramowania (narzędzia SCM w 2020 r.)
Wniosek
Testowanie konfiguracji jest tak samo ważne, jak każdy inny rodzaj testowania oprogramowania, ponieważ odkrywa optymalną konfigurację systemu, w którym aplikacja działa najlepiej. Pomaga również w identyfikowaniu i usuwaniu wszelkich problemów ze zgodnością.
jak zgrać DVD za darmo
W tym artykule dowiedzieliśmy się, czym jest testowanie konfiguracji, dlaczego wykonujemy te testy, jakie są jego cele, jakie są jego rodzaje, jakie są wymagania wstępne tego testowania, jak należy to zrobić, jak ważne jest to dla przedsiębiorstwa itp. w sposób szczegółowy.
Mam nadzieję, że ten artykuł był pouczający i dałby ci dobry pomysł na temat testowania konfiguracji.
rekomendowane lektury
- Najlepsze narzędzia do testowania oprogramowania 2021 (Narzędzia do automatyzacji testów QA)
- Testy funkcjonalne a testy niefunkcjonalne
- Testowanie w parach lub samouczek testowania we wszystkich parach z narzędziami i przykładami
- Asystent testowania oprogramowania
- Samouczek dotyczący testowania objętościowego: przykłady i narzędzia do testowania objętościowego
- Testy niszczące i samouczek dotyczący testów nieniszczących
- Dogłębne samouczki dotyczące Eclipse dla początkujących
- Czym są testy wytrzymałościowe w testowaniu oprogramowania (przykłady)