portability testing guide with practical examples
Wprowadzenie do testowania przenośności:
Testowanie przenośności to niefunkcjonalna metodologia testowania, która określa łatwość lub trudność, z jaką komponent oprogramowania lub aplikacja może zostać przeniesiona z jednego środowiska do drugiego.
Wyniki testów uzyskane w ramach testów przenośności pomagają dowiedzieć się, jak łatwo komponent oprogramowania z jednego środowiska może być używany w innym środowisku.
Termin „środowisko” odnosi się do przejścia z jednego systemu operacyjnego do innego systemu operacyjnego, jednej przeglądarki do innej przeglądarki lub z jednej wersji bazy danych do innej wersji bazy danych.
Główną zasadą testowania przenośności jest to, że należy je stosować tylko wtedy, gdy składnik oprogramowania ma zostać przeniesiony z jednego środowiska do innego.
Miarą przenośności jest nakład pracy wymagany do przeniesienia komponentu oprogramowania z jednego środowiska do innego. Jednostką miary przenośności jest koszt przystosowania oprogramowania do nowego środowiska w porównaniu z kosztem przebudowy oprogramowania.
Ten samouczek zawiera pełny przegląd znaczenia, celów, atrybutów, listy kontrolnej, zalet i wad testowania przenośności wraz z kilkoma praktycznymi przykładami w prostych słowach, które ułatwiają zrozumienie.
Czego się nauczysz:
- Różnica między testowaniem przenośności a testowaniem zgodności
- Cele
- Atrybuty
- Lista kontrolna testowania przenośności
- Plusy i minusy
- Przykłady testów przenośności
- Wniosek
- rekomendowane lektury
Różnica między testowaniem przenośności a testowaniem zgodności
Poniższe punkty pokrótce rozróżnią różnice między przenośnością a kompatybilnością.
=> Zgodność dotyczy tego, czy dwa lub więcej komponentów może działać w tym samym środowisku w tym samym czasie bez negatywnego wpływu na zachowanie się nawzajem.
Przykład: Można powiedzieć, że procesor tekstu i kalkulator działający w tym samym systemie operacyjnym, takim jak Windows 10, są ze sobą zgodne, ponieważ uruchomienie jednej aplikacji nie wpłynie na zachowanie drugiej aplikacji.
=> Przenośność dotyczy przenoszenia komponentu z jednego środowiska do innego.
Przykład: Mówi się, że gra działająca w systemie Windows XP jest przenośna, jeśli tę samą grę można uruchomić w systemie Windows 7 bez żadnych zmian w zachowaniu gry.
jak zaimplementować hashtable w java
=> Krótko mówiąc, testowanie przenośności dotyczy komponentów oprogramowania w wielu środowiskach, podczas gdy testowanie zgodności dotyczy testowania dwóch różnych aplikacji w tym samym środowisku.
Cele
Oto cele tego testu:
- Sprawdź, czy system można przenieść na każdą z cech środowiskowych, takich jak szybkość procesora, miejsce na dysku i pamięć RAM, rozdzielczość monitora, wersje systemu operacyjnego i przeglądarki.
- Sprawdź, czy wygląd i działanie aplikacji w odniesieniu do interfejsu użytkownika i funkcji funkcjonalnych są podobne do wielu systemów operacyjnych i wielu przeglądarek.
- Testy te pomagają określić, czy system może być gotowy do wydania, zwłaszcza gdy istnieje świadomość, że klienci produktu będą używać wielu systemów operacyjnych z wieloma wersjami przeglądarek.
- Testowanie to jest zwykle wykonywane w odniesieniu do wstępnie zdefiniowanego zestawu wymagań dotyczących przenośności, które pomagają znaleźć usterki, które zostały pominięte w ramach testów jednostkowych i integracyjnych aplikacji.
- Wady wykryte w tych testach muszą zostać naprawione i dostarczone przez programistów jako część wydania produktu.
- Testowanie to jest zwykle wykonywane w sposób przyrostowy przez cały cykl rozwoju oprogramowania.
Atrybuty
Płyta testująca oprogramowanie określiła pewne główne cechy tego testu.
Oni są:
- Instalowalność
- Zdolność adaptacji
- Wymienialność
- Zgodność lub współistnienie
# 1) Możliwość instalacji:
Instalowalność jest wykonywana na oprogramowaniu, które musi być zainstalowane w środowisku docelowym.
Następujące cechy są sprawdzane w ramach testów instalowalności:
- Wymagania systemu operacyjnego dotyczące instalacji.
- Wymagania przeglądarki dotyczące korzystania z aplikacji.
- Wymagania dotyczące pamięci lub pamięci RAM.
- Procedura instalacji.
- Procedura dezinstalacji.
- Wyjątki od przerw w instalacji.
- Wymagania wstępne do instalacji oprogramowania.
# 2) Zdolność adaptacyjna:
Testowanie zdolności adaptacyjnych to proces sprawdzania, czy system można dostosować do każdego ze środowisk docelowych. Stosowanie wspólnych standardów komunikacji między wieloma systemami może pomóc w poprawie zdolności adaptacyjnych systemu jako całości.
Testowanie zdolności adaptacyjnych obejmuje następujące cechy:
- Zależność sprzętowa.
- Zależność oprogramowania.
- Standardowy język.
- Komunikacja systemu z każdym ze środowisk docelowych.
- Hermetyzacja zależności.
- Reprezentacja zależności w wielu systemach.
# 3) Wymienialność:
Wymienialność to możliwość zastąpienia jednego komponentu oprogramowania innym. Komponent, który zastępuje poprzedni, musi dawać takie same wyniki, jak poprzedni komponent we wszystkich środowiskach docelowych. W idealnym przypadku powinien służyć temu samemu celowi, co wymieniany element.
Konkurencyjne produkty z tej samej domeny będą idealnymi kandydatami do zastąpienia, ponieważ zastępowany produkt może być znacznie tańszy niż dotychczasowy produkt konkurencji.
# 4) Zgodność lub współistnienie:
Zgodność to zdolność dwóch lub więcej komponentów do istniejącego w tym samym środowisku bez negatywnego wpływu na zachowanie się nawzajem. Testowanie to jest szczególnie przydatne w dużych systemach, które zawierają wiele podsystemów jako część.
Podsystemy idealnie współdzielą wspólny obszar stosu i pamięć. W rezultacie wyjątek, który wystąpił w jednym podsystemie, może łatwo przenieść się do innego podsystemu, powodując awarię całej aplikacji.
Zmiana istniejącego komponentu, aktualizacja do nowego komponentu, dostosowanie nowego interfejsu do istniejącego komponentu to wszystkie problemy, z którymi borykają się systemy oprogramowania w miarę upływu czasu.
Składniki, które nie działają testy zgodności wymagania mają głęboki wpływ na cały system, dlatego każdy składnik musi zostać dokładnie przetestowany pod kątem wpływu na wspólne zasoby.
Niewiele innych na liście:
Oprócz tych głównych atrybutów, testowanie przenośności może również obejmować kilka innych atrybutów, takich jak testowanie interoperacyjności i testowanie lokalizacji.
(i) Interoperacyjność: Testowanie interoperacyjności pomaga określić, czy dwa lub więcej komponentów może współdziałać ze sobą bez żadnych problemów z komunikacją.
Na przykład , transfer danych przez Bluetooth między komputerem PC z systemem Windows 10 a smartfonem z systemem Android może zostać wykorzystany do testowania interoperacyjności.
(ii) Lokalizacja: Testowanie lokalizacji ma na celu sprawdzenie, czy opracowane oprogramowanie można zrozumieć w lokalnym języku, w którym jest używane. Ten typ testowania jest również znany jako testowanie internalizacji.
Na przykład , oprogramowanie musi być testowane w różnych językach międzynarodowych, takich jak chiński, włoski, rosyjski itp.
przekazać tablicę do metody java
Lista kontrolna testowania przenośności
Lista kontrolna zawiera wymagania, które mają zostać przetestowane w ramach testu przenośności.
Przed przystąpieniem do sporządzania listy kontrolnej konieczne jest upewnienie się, że wszystkie poszczególne elementy systemu zostały dokładnie przetestowane i zintegrowane ze sobą, tworząc jeden duży system.
Należy pamiętać o wszystkich celach testowania przenośności, aby lista kontrolna była skuteczna i wydajna.
- Testy te muszą spełniać wszystkie wymagania dotyczące przenośności.
- Należy przeprowadzić testowanie aplikacji na wielu systemach operacyjnych.
- Należy przeprowadzić testowanie aplikacji w wielu wersjach przeglądarek.
- To testowanie można zautomatyzować do ciągłego testowania regresji.
- Testowanie to musi być wykonywane w sposób przyrostowy i iteracyjny przez cały cykl rozwoju oprogramowania.
Plusy i minusy
Testowanie przenośności ma swoje zalety, a także wady, jak każde inne testowanie. Przyjrzyjmy się im.
Plusy:
- Pomaga w identyfikacji zależności między wieloma komponentami.
- Testowanie to jest szczególnie przydatne w dużych systemach, które mają kilka współpracujących ze sobą podsystemów.
- To testowanie jest preferowane, gdy klienci produktu używają wielu systemów operacyjnych z różnymi wersjami przeglądarek.
- Za pomocą tego testu można wykryć błędy pominięte podczas testów jednostkowych i integracyjnych.
- W ramach tych testów można również przetestować instalację i dezinstalację oprogramowania.
- Reakcję i wydajność aplikacji można przetestować w wielu przeglądarkach i wielu systemach operacyjnych.
- Wygląd i działanie aplikacji w wielu przeglądarkach i wielu systemach operacyjnych można zweryfikować za pomocą tych testów.
- To testowanie pomaga określić, czy funkcjonalność aplikacji jest zgodna z oczekiwaniami w wielu systemach operacyjnych i wielu przeglądarkach.
- Pomaga również wyeliminować propagację błędów między wieloma systemami.
Cons:
- Testowanie to generalnie nie jest preferowane, gdy istnieje ograniczenie czasowe w cyklu testowania oprogramowania.
- To testowanie wymaga dużego budżetu od organizacji, ponieważ wymaga wielu konfiguracji do testowania, takich jak wiele systemów operacyjnych i wiele przeglądarek.
- Aby można było przeprowadzić testy przenośności, wszystkie konfiguracje sprzętu instalacyjnego muszą być dostępne. Oznacza to, że organizacja musi zapłacić, aby zapewnić wsparcie w zakresie konserwacji konfiguracji sprzętu instalacyjnego.
- Testowanie przenośności to powtarzalny proces, który oznacza, że testerzy mogą stracić koncentrację podczas testowania.
- Automatyzacja testowania przenośności jest żmudnym zadaniem i do pomyślnego wdrożenia wymaga umiejętności i cierpliwości testerów.
- Wykonywanie testów przenośności w środowisku wielu użytkowników może być bardzo trudne. Ponadto, aby testy zakończyły się powodzeniem, wymaga dużej ilości danych.
- Przestrzeń dyskowa dla środowisk hostingowych może stać się kosztowna dla organizacji.
Przykłady testów przenośności
Poniżej podano kilka klasycznych przykładów:
- Oprogramowanie zaprojektowane do pracy w systemach operacyjnych Windows 7 i Macintosh.
- Aplikacje zaprojektowane do działania na urządzeniach Apple iOS i Google Android.
- Oprogramowanie zaprojektowane tak, aby było zgodne z przeglądarką Microsoft Edge i Google Chrome.
- Gry wideo zaprojektowane do działania w systemach operacyjnych Windows 10 i Apple Macintosh.
- Oprogramowanie zaprojektowane do pracy na serwerze MySQL z systemem Windows 7 i bazach danych Oracle Macintosh.
- Instalacja oprogramowania w systemach operacyjnych Windows 10 i Windows XP.
- Dezinstalacja oprogramowania w systemach operacyjnych Macintosh i Linux.
Wniosek
Testowanie przenośności jest generalnie preferowane, gdy istnieje potrzeba przeniesienia składnika oprogramowania z jednego środowiska do innego. Testowanie to pomaga wykryć defekty, które nie zostały zidentyfikowane w ramach testów jednostkowych i testów integracji systemu.
Jedną z głównych wad testowania przenośności jest wielkość budżetu przeznaczonego na te testy, ponieważ wymaga użycia wielu konfiguracji sprzętowych. Konserwacja i zapewnienie wsparcia dla tych konfiguracji sprzętowych może być bardzo żmudnym i czasochłonnym zadaniem.
W związku z tym testowanie przenośności jest ogólnie preferowane, gdy korzyści przeważają nad wadami.
Mam nadzieję, że dzięki temu doskonałemu samouczkowi dobrze zrozumielibyście koncepcję testowania przenośności!
rekomendowane lektury
- Najlepsze narzędzia do testowania oprogramowania 2021 (Narzędzia do automatyzacji testów QA)
- Rodzaje testowania oprogramowania: różne typy testów ze szczegółami
- Testy funkcjonalne a testy niefunkcjonalne
- Asystent testowania oprogramowania
- Praktyczne testowanie oprogramowania - nowy BEZPŁATNY eBook (Pobierz)
- Czym są testy wytrzymałościowe w testowaniu oprogramowania (przykłady)
- Testy alfa i testy beta (kompletny przewodnik)
- Myślenie nieszablonowe podczas testowania oprogramowania!