W tym samouczku nauczysz się:
- Co to jest prawdziwe urządzenie testujące?
- Co to są emulatory?
- Różnica między testowaniem opartym na emulatorze i symulatorze
- Zalety testów opartych na rzeczywistym urządzeniu i emulatorze / symulatorze
- Wady emulatora / symulatora i urządzenia rzeczywistego
- Wniosek
Co to jest prawdziwe urządzenie testujące?
Testowanie na prawdziwym urządzeniu pozwala na uruchomienie aplikacji mobilnych i sprawdzenie ich funkcjonalności. Testowanie prawdziwego urządzenia zapewnia, że Twoja aplikacja będzie działać bezproblemowo w telefonach klientów.
Co to jest emulator?
Emulator to program, który umożliwia telefonowi komórkowemu naśladowanie funkcji innego komputera lub oprogramowania mobilnego, które ma imitować, instalując je na komputerze lub telefonie komórkowym.
Różnica między testowaniem opartym na emulatorze i symulatorze
Zarówno emulatory, jak i symulatory są urządzeniami wirtualnymi. Urządzenie wirtualne nie jest prawdziwym telefonem, ale oprogramowaniem, które zapewnia taką samą funkcjonalność jak prawdziwy telefon (z wyjątkiem kilku funkcji, takich jak aparat).
Ale są pewne różnice między emulatorem a symulatorem opisanym poniżej -
Testowanie na symulatorze | Testowanie oparte na emulatorze |
---|---|
Celem symulatora jest symulacja stanu wewnętrznego obiektu jak najbliżej stanu wewnętrznego obiektu. | Emulator ma na celu emulowanie lub naśladowanie jak najbliżej zewnętrznego zachowania obiektu |
Symulatory są preferowane, gdy zespół testujący musi przetestować wewnętrzne zachowanie telefonu komórkowego, takie jak jego wewnętrzny sprzęt, oprogramowanie układowe i tak dalej. | Emulatory są preferowane, gdy zespół testujący musi przetestować zewnętrzne zachowanie telefonu komórkowego, takie jak obliczenia, dokonywanie transakcji itp. |
Symulatory są napisane w językach wysokiego poziomu. | Emulatory są napisane w językach asemblera na poziomie komputera. |
Symulatory mogą być trudne pod względem celu debugowania. | Emulatory są bardziej odpowiednie, jeśli chodzi o debugowanie |
Symulator to tylko częściowa re-implementacja oryginalnego oprogramowania. | Często emulator stanowi całkowitą re-implementację oryginalnego oprogramowania. |
Zalety testów opartych na rzeczywistym urządzeniu i emulatorze / symulatorze
Kwestia | Testowanie emulatora | Testowanie prawdziwego urządzenia |
---|---|---|
Aplikacja sytuacyjna | Istnieją szczególne sytuacje, w których termin uzyskania wyników wykonania tekstu jest krótki, a zakup wymaganych urządzeń mobilnych może nie być możliwy. Dlatego w takich okolicznościach może być konieczne użycie emulatora / symulatora do testowania odpowiednich aplikacji mobilnych, które wymagają przetestowania. | Prawdziwe urządzenie pozwala testerom przetestować prawie wszystkie scenariusze w czasie rzeczywistym, które można przetestować dla aplikacji mobilnych. Urządzenia te są obsługiwane za pomocą palców i symulują rzeczywiste użytkowanie. Pomagają też w sytuacji. Rzeczywisty kontekst: czy łatwo jest korzystać z aplikacji w pociągu, czy idąc ulicą? Sytuacja w ostrym słońcu lub w deszczu? |
Poczucie bliskości do prawdziwych urządzeń przenośnych | Szeroka gama urządzeń mobilnych stwarza problemy, przez co testerzy nie mają pewności, w które urządzenia mobilne inwestować do testów, biorąc pod uwagę ograniczenia budżetowe. Emulator / symulator (y) jest dostosowany do tego typu sytuacji. | Prawdziwe urządzenie pozwala testerom przetestować nawet problemy z użytecznością, takie jak wygląd aplikacji, rozdzielczość kolorów ekranu, czy obraz jest jasny, czy nie, zarówno w dzień, jak iw nocy i tak dalej. |
Łatwość dostępności | Emulator / symulator (y) to w większości przypadków otwarte i bezpłatne oprogramowanie, które można bardzo łatwo pobrać z Internetu i gotowe do przetestowania. | Prawdziwe urządzenia pozwalają na rygorystyczne problemy z testowaniem wydajności, takie jak praca z aplikacją transportową w czasie rzeczywistym przez 15 godzin bez przerwy, czego emulatory nie mogą z powodzeniem zasymulować. |
Łatwość otwierania aplikacji internetowej za pośrednictwem adresu URL | Testowanie aplikacji internetowych jest łatwiejsze, jeśli chodzi o otwieranie aplikacji internetowej. Użytkownik musi tylko skopiować i wkleić adres URL aplikacji. | Testowanie na prawdziwych urządzeniach zapewnia więcej pod względem niezawodności. |
Przechwytywanie zrzutów ekranu z sytuacji, w których pojawiają się usterki | Przechwytywanie zrzutów ekranu na symulatorze jest bardzo łatwe w symulatorze, ponieważ wystarczy skorzystać z udogodnień biurowych Microsoft. | Testowanie na rzeczywistych urządzeniach jest bardzo pomocne w testowaniu współdziałania. |
Symulacja walidacji scenariuszy dotyczących baterii | Emulator / symulatory nie są w stanie symulować problemów z baterią. | Rzeczywiste urządzenia mogą z łatwością wykonywać to samo. |
Walidacja przychodzących przerwań | Emulator / symulatory nie są w stanie symulować przychodzących przerwań dla SMS-ów, jak również połączeń przychodzących. | Rzeczywiste urządzenia mogą z łatwością symulować przychodzące przerwania. |
Walidacja dokładnych kolorów wyświetlaczy | Emulator / symulator nie jest w stanie poprawnie emulować / symulować dokładnego wyświetlania kolorów urządzeń, gdy rzeczywiste urządzenie jest w słońcu lub w czerni. | Rzeczywiste urządzenia mogą z łatwością symulować dokładne kolorowe wyświetlacze. |
Walidacja wykonania | Wydajność emulatora / symulatora jest czasami wolniejsza niż oryginalnych urządzeń. | Oryginalne urządzenia działają szybciej niż emulator lub symulatory. |
Symulowanie problemów związanych z pamięcią | Pamięć dostępna w emulatorze / symulatorze wydaje się być znacznie większa niż w rzeczywistych urządzeniach, więc może to powodować nieporozumienia dla użytkowników, którzy używaliby tych samych walidacji. | Poziom pamięci urządzeń jest zwykle znacznie mniejszy niż emulatorów, a zatem może |
Wady emulatora / symulatora i urządzenia rzeczywistego
Emulatory / symulatory | Prawdziwe urządzenie |
---|---|
Emulator / symulator nie zawsze jest najlepszym rodzajem rozwiązania dla scenariuszy, takich jak te, w których zespół testujący musi walidować działanie aplikacji przez dłuższy czas. |
Prawdziwe urządzenia są kosztowne w porównaniu z emulatorami / symulatorami. W związku z tym projekty w ramach ograniczeń budżetowych i czasowych mogą zagrażać rentowności, jak również wykonalności całego projektu. |
Emulator / symulator nadaje się głównie do niektórych typów funkcjonalnych przypadków testowych. |
Istnieje bardzo szeroka gama urządzeń mobilnych, od Apple do Samsunga, Androida, Symbiana i tak dalej. Biorąc pod uwagę tak szeroką gamę urządzeń mobilnych, zespołowi testującemu bardzo trudno jest zaaranżować wszelkiego rodzaju urządzenia mobilne, pracując przy znacznych ograniczeniach budżetowych i czasowych. |
Emulator / symulator może czasami nie obsługiwać niektórych typów aplikacji iw takich przypadkach zespół testujący może potrzebować zakupić poprawki oprogramowania, które nie zawsze są bezpłatne, ale czasami mogą być kosztowne. |
Prawdziwe urządzenia mobilne używane na etapie opracowywania do testów jednostkowych i podobnych celów mogą okazać się trudniejsze do połączenia z IDE niż emulatory, co powoduje ogromne problemy z debugowaniem, aw projekcie, z ograniczeniami osi czasu, może to być bardzo trudne. utrudniają ogólne zakończenie projektu. |
Nie każdy emulator / symulator obsługuje pełną gamę aplikacji mobilnych. Na przykład symulator bada obsługuje Maemo (taki jak Nokia N900), Symbian Touch (taki jak Nokia N8) i Symbian bezdotykowy (taki jak Nokia E71), ale nie obsługuje innych urządzeń mobilnych, takich jak Android. Jeśli chodzi o funkcje testowania aplikacji, bada nie obsługuje testów bezpośredniego przeglądania sieci, ale pozwala użytkownikowi testować i tworzyć tylko aplikacje internetowe i widżety. |
Aby przetestować z rzeczywistymi urządzeniami, urządzenia muszą być zawsze podłączone do portu USB maszyn. Więc jeśli porty USB nie działają poprawnie, test nie byłby możliwy. Bez zapewnienia odpowiednich środków bezpieczeństwa urządzenia mobilne (jeśli okażą się kosztowne, jak Apple iPhone) mogą zostać zgubione lub skradzione, utrudniając w ten sposób ogólny wysiłek. Zwiększenie bezpieczeństwa może również przyczynić się do zwiększenia ogólnych wydatków związanych z projektem. |
Aby otworzyć aplikację internetową, którą należy przetestować, użytkownik musi ręcznie wpisać adres URL. Aby rozwiązać ten konkretny problem, tester może potrzebować utworzyć zakładki telefoniczne, usługi krótkich adresów URL lub wysłać adresy URL do telefonu komórkowego za pomocą połączenia Bluetooth lub utworzyć stronę internetową, która zawiera niektóre adresy URL. Przyjęcie tych procedur zapewniłoby zajęcie dużej ilości bardzo ważnej pamięci, co wpłynęłoby na ogólną wydajność aplikacji. |
Wniosek
Biorąc pod uwagę znaczącą rolę, jaką odgrywają obecnie aplikacje mobilne, w naszym codziennym życiu testowanie tych aplikacji będzie ewoluować, a zatem wymagają one wielu testów, aby działały zgodnie z wymaganiami. Testowanie zarówno w symulatorze / emulatorze, jak i na rzeczywistych urządzeniach jest niezbędne do utrzymania wysokich standardów i zapewnienia jakości.
Po dokładnym rozważeniu zarówno zalet, jak i wad mobilnych emulatorów i rzeczywistych urządzeń, warto byłoby dojść do wniosku, że optymalnym rozwiązaniem do testów mobilnych dla przedsiębiorstw nie jest ani wkładanie wszystkich jajek do koszyka rzeczywistych urządzeń, ani wkładanie ich do emulator, ale raczej to, czego potrzebujemy, to optymalne połączenie obu .
Emulatory można uznać za bardzo przydatne na początkowych etapach tworzenia aplikacji.
Aby jednak uniknąć kosztownego scenariusza udostępniania krytycznej dla firmy aplikacji z defektami, przedsiębiorstwa muszą zapewnić, że większość testów mobilnych wykonają na rzeczywistych urządzeniach, zanim aplikacja trafi do produkcji.
Każda organizacja musi opracować strategię i dokładnie planować, aby określić, na jakim etapie wprowadzić prawdziwe urządzenia. Muszą również zdecydować, ile urządzeń jest wystarczających, aby zaspokoić potrzeby rynku i jaka może być najlepsza możliwa opcja do zarządzania tymi urządzeniami.
Najlepsze praktyki wskazywałyby, że rzeczywisty rozwój powinien wykorzystywać emulatory (i kilka rzeczywistych telefonów referencyjnych) w celu przyspieszenia debugowania aplikacji na etapie kodowania, podczas gdy normalność, testowanie dymu, wydajność, interoperacyjność i wykonalność sieci oraz testy regresyjne powinny odbywać się na prawdziwych słuchawkach.
Pojawia się również praktyka polegająca na zapewnieniu, że programiści używają emulatora do szybkiego uruchamiania w fazie rozwoju, podczas gdy zespół testujący powinien testować na prawdziwym urządzeniu podczas fazy testowania, aby zapewnić ogólne cele i cele zapewniania jakości. Aby zaoszczędzić na kosztach, mogą rozważyć użycie narzędzi do wirtualnego testowania urządzeń mobilnych. Usługi te oferują programistom możliwość przetestowania ich aplikacji na wielu różnych telefonach przy użyciu różnych sieci komórkowych zlokalizowanych geograficznie na całym świecie (przydatne w przypadku aplikacji korzystających z GPS). Takie usługi są oferowane w systemie godzinowym i są bardzo opłacalne w porównaniu z zakupem nowych telefonów.