Testowanie mobilne - krótki przewodnik

Zanim zaczniemy samouczek, bawmy się trochę. Spójrz na poniższą listę. Możesz łatwo odnieść się do tych podstawowych obowiązków, z którymi niezmiennie musimy się mierzyć w dzisiejszym zabieganym i gorączkowym stylu życia -

  • Chcę zapłacić rachunek za prąd.

  • Muszę jak najszybciej skontaktować się z moim przełożonym i złożyć raporty.

  • Chcę kupić nowe ubrania dla mojego dziecka, ale nie mam czasu iść do sklepu.

  • Och ... jest 22:00; Spóźnię się na lot. Gdzie jest moja taksówka?

  • Byłem w tym mieście po raz pierwszy; który hotel mam zarezerwować?

Teraz odpowiedz sobie. Czego potrzebujesz, aby wykonać te czynności w ułamku sekundy? Odpowiedź brzmi:

  • Smartfon,
  • Łączność z Internetem i
  • Aplikacja mobilna do wykonania pracy.

To uświadamia nam znaczenie aplikacji mobilnej w dzisiejszych czasach. Wszystko odbywa się w inteligentny sposób za pośrednictwem smartfona. Każdego dnia dowiadujemy się o nowej aplikacji lub narzędziu, które ma ułatwić nam życie.

Jest jeden dobrze znany przypadek Gowalla. Miliony ludzi cieszyły się tą lokalizacyjną siecią społecznościową, która rozpoczęła się w 2007 roku i została zamknięta pięć lat później. Wiele problemów uniemożliwiło Gowalli dotarcie do masowego odwołania. Jednym z głównych powodów, które się pojawiły, było „Odprawa nie była tak przyjazna dla użytkownika”.

Aby mieć udaną aplikację mobilną, musimy zrozumieć, że stworzenie ładnej aplikacji mobilnej nie jest jedynym wymaganiem. Aplikacja mobilna musi zostać dokładnie przetestowana, aby zyskać sympatię użytkowników. W końcu to doświadczenie użytkownika sprawia, że ​​każde oprogramowanie jest skuteczne.

Zanim przejdziemy do testów mobilnych, warto zapoznać się z podstawami platform mobilnych. Obejmuje głównie system operacyjny telefonu komórkowego, typ urządzenia i typ aplikacji mobilnej. Posiadanie wystarczającej wiedzy na temat każdego z nich pomoże nam przeprowadzić solidne planowanie testów w dłuższej perspektywie.

Mobilne systemy operacyjne

Poniższa tabela zawiera przegląd niektórych popularnych mobilnych systemów operacyjnych dostępnych na rynku -

System operacyjny Opracowany przez Popularność (niska, średnia, wysoka) Najnowsza dostępna wersja
Android Google Inc Wysoki Lollipop, Android 5.0-5.1
iOS Apple Inc. Wysoki iOS 8.X
Blackberry Blackberry Ltd. Niska Blackberry 10.2.1
Windows Microsoft Inc. Średni Windows 10 Mobile
Symbian Fundacja Symbian Niska Przerwane

Na podstawie ogólnej ankiety można przedstawić użycie różnych systemów operacyjnych na rynku, jak pokazano poniżej.

Urządzenia mobilne to zazwyczaj komputery podręczne. Mają wiele wariantów w oparciu o ich cechy, takie jak wymiary fizyczne, możliwości sprzętu i oprogramowania, do czego są przeznaczone itp.

Spójrz na poniższą tabelę. Rozróżnia tablety, czytniki e-booków i smartfony na podstawie ich cech.

Urządzenie Tablety Czytniki e-booków Smartfony
Co to jest Tablety to przenośne urządzenia komputerowe. W przeciwieństwie do tradycyjnych komputerów nie mają klawiatury ani myszy, jednak cały ekran jest wrażliwy na dotyk. Czytniki e-booków - zwane także czytnikami e-booków - są podobne do tabletów, z wyjątkiem tego, że są przeznaczone głównie do czytania e-booków (książek cyfrowych, do pobrania). Smartfon to potężny telefon komórkowy, który oprócz świadczenia usług telefonicznych jest przeznaczony do uruchamiania różnorodnych aplikacji.
Używany do Prawie wszystkie prace, które możemy wykonać na tradycyjnych komputerach lub desktopach. Czytanie e-booków Przeglądanie sieci, oglądanie filmów, czytanie e-booków i granie w gry
Przykład Tablety Samsung Amazon Kindle, Barnes & Noble Nook. Smartfony Sony, smartfony Samsung, Apple iPhone.

Krytycznym czynnikiem, który należy wziąć pod uwagę podczas planowania testów, jest sprawdzenie typu aplikacji mobilnej. Spotkasz głównie trzy typy aplikacji mobilnych: Mobile Web, Native App i Hybrid App. Klasyfikacja jest oparta na pracach rozwojowych i strategii redystrybucji aplikacji. Rozumiemy szczegółowo każdy z nich.

Internet mobilny

Aplikacje internetowe nie są prawdziwymi aplikacjami; w rzeczywistości są to strony internetowe otwierane w smartfonie za pomocą przeglądarki internetowej. Serwisy mobilne mają najszerszą grupę odbiorców spośród wszystkich podstawowych typów aplikacji.

  • Example- Tutorials Point

  • Benefits -

    • Łatwy dostęp.

    • Łatwe tworzenie - Opracowanie responsywnego projektu i restrukturyzacja treści w celu prawidłowego wyświetlania na mniejszym ekranie / sprzęcie sprawi, że każda witryna internetowa będzie przyjazna dla urządzeń mobilnych.

    • Łatwa aktualizacja - wystarczy zaktualizować w jednym miejscu, a wszyscy użytkownicy automatycznie uzyskają dostęp do najnowszej wersji serwisu.

    • Nie jest wymagana instalacja w porównaniu z aplikacją natywną lub hybrydową.

  • Downside -

    • Witryny mobilne nie mogą korzystać z niektórych funkcji. Na przykład dostęp do systemu plików i zasobów lokalnych nie jest dostępny w witrynach internetowych.

    • Wiele istniejących witryn internetowych nie obsługuje funkcji offline.

    • Użytkownicy nie będą mieli ikony aplikacji na ekranie głównym jako ciągłego przypomnienia. Stronę internetową wystarczy otworzyć w przeglądarce internetowej.

    • Podczas gdy aplikacje natywne i hybrydowe pojawiają się w App Store i Google Play, aplikacje internetowe nie. Tak więc redystrybucja nie jest tak rozsądna.

Aplikacja natywna

Aplikacja natywna została opracowana specjalnie dla jednej platformy. Można go zainstalować za pośrednictwem sklepu z aplikacjami (takiego jak Google Play Store lub Apple App Store).

  • Example - Whatsapp, Facebook.

  • Benefits -

    • Aplikacje natywne działają na urządzeniu i są dostępne za pośrednictwem ikon na ekranie głównym urządzenia.

    • Mogą w pełni wykorzystać wszystkie funkcje urządzenia - mogą korzystać z aparatu, GPS, akcelerometru, kompasu, listy kontaktów i tak dalej. Mogą również zawierać gesty (standardowe gesty systemu operacyjnego lub nowe gesty zdefiniowane przez aplikację).

    • Aplikacje natywne mogą korzystać z systemu powiadomień urządzenia i mogą działać w trybie offline.

    • Wydawcy mogą korzystać z powiadomień push, ostrzegających użytkowników za każdym razem, gdy zostanie opublikowana nowa treść lub gdy wymagana jest ich uwaga.

    • Aplikacje natywne zachowują projekt interfejsu użytkownika każdego systemu operacyjnego, dzięki czemu zapewniają najlepsze wrażenia użytkownika. Na przykład aplikacja natywna może mieć nagłówek wyrównany do lewej w systemie Android i wyrównany do środka nagłówek w systemie iOS.

    • Redystrybucja jest łatwa, ponieważ można ją znaleźć w sklepie z aplikacjami.

  • Downside -

    • Wysoki koszt tworzenia aplikacji: aplikacje natywne opracowane dla jednej platformy nie będą działać na innej platformie. Aplikacja stworzona na Androida nie będzie działać na iOS. Musimy stworzyć zupełnie inną aplikację na iOS. Z tego powodu musimy utrzymywać wiele wersji aplikacji.

    • Nawet jeśli możesz publikować aplikacje natywne, będziesz chciał, aby witryna mobilna była dobrze utrzymana, ponieważ urządzenia mobilne generują większy ruch. Więc konserwacja jest wyższa.

Aplikacja hybrydowa

Aplikacje hybrydowe to sposób na udostępnienie treści z istniejących witryn internetowych w formacie aplikacji. Można je dobrze opisać jako połączenie aplikacji internetowej i aplikacji natywnej.

  • Example - Instagram, Wikipedia.

  • Benefits -

    • Tworzenie aplikacji hybrydowej jest tańsze niż tworzenie aplikacji natywnej. Można go zbudować dla wielu platform, tj. Obniżyć koszt tworzenia aplikacji.

    • Konserwacja jest prosta, ponieważ nie ma wielu wersji do utrzymania.

    • Może skorzystać z kilku funkcji dostępnych w urządzeniu.

    • Można go znaleźć w App Store, co ułatwia dystrybucję.

    • Ma przeglądarkę osadzoną tylko w aplikacji.

  • Downside -

    • Grafika jest mniej przyzwyczajona do systemu operacyjnego w porównaniu z aplikacjami natywnymi.

    • Aplikacje hybrydowe są wolniejsze niż aplikacje natywne.

Testowanie urządzeń

Ten typ testów jest zwykle wykonywany w celu zapewnienia jakości urządzenia mobilnego. Testowanie obejmuje testowanie sprzętu i oprogramowania dla telefonu komórkowego. Omówimy tutaj różne rodzaje testów, które są zwykle przeprowadzane na urządzeniach mobilnych.

Testów jednostkowych

Testowanie jednostkowe to faza testowa, podczas której testowane są części rozwoju urządzenia mobilnego, zwykle przez programistę. Może obejmować testowanie sprzętu, testowanie oprogramowania i testy mechaniczne.

Testy fabryczne

Testy fabryczne to rodzaj kontroli poprawności na urządzeniach mobilnych. Jest przeprowadzany automatycznie, aby sprawdzić, czy nie ma żadnych wad spowodowanych produkcją lub montażem. Obejmuje głównie następujące testy -

  • Testowanie aplikacji mobilnych
  • Testowanie sprzętu
  • Testowanie (ładowanie) baterii
  • Odbiór sygnału
  • Testowanie sieci
  • Testowanie protokołów
  • Testowanie gier mobilnych
  • Testowanie zgodności oprogramowania mobilnego

Testy certyfikacyjne

Testy certyfikacyjne to kontrola przed wprowadzeniem urządzenia mobilnego na rynek.

Testowanie aplikacji

Testowanie aplikacji mobilnej to proces, w ramach którego aplikacja, oprogramowanie opracowane dla przenośnych urządzeń mobilnych, jest testowana pod kątem funkcjonalności, użyteczności i spójności. Istnieją różne rodzaje testów, które można przeprowadzić na urządzeniu mobilnym. Na przykład,

  • Testy funkcjonalności
  • Testowane laboratoryjnie
  • Test wydajności
  • Testowanie upływu pamięci
  • Testowanie przerwania
  • Test użyteczności
  • Testowanie instalacji
  • Testy certyfikacyjne
  • Testowanie bezpieczeństwa

Kluczowe punkty

  • Testowanie urządzeń jest generalnie przeprowadzane w celu sprawdzenia samego urządzenia mobilnego, podczas gdy testowanie aplikacji mobilnych polega na testowaniu aplikacji, która będzie działać na wybranym urządzeniu.

  • Kiedy nazywamy to testowaniem urządzeń, testowanie sprzętu staje się jego częścią. W przypadku testowania aplikacji mobilnych jest to zależne, tj. Czy testowana aplikacja wymaga integracji sprzętowej, wtedy będzie to testowanie sprzętowe.

  • Automatyzacja jest możliwa do testowania urządzeń mobilnych, jak również do testowania aplikacji mobilnych.

Jedno jest oczywiste w przypadku testów mobilnych. Aby przeprowadzić testy mobilne, potrzebujesz urządzenia mobilnego. Ma to na celu sprawdzenie, jak nasz produkt będzie działał i wyglądał na danym zestawie mobilnym.

Załóżmy, że tworzymy aplikację do systemu rezerwacji biletów lotniczych. Po całkowitym opracowaniu produktu, w ramach testów mobilnych, musimy sprawdzić, czy aplikacja działa zgodnie z oczekiwaniami ze wszystkimi najczęściej używanymi urządzeniami, takimi jak telefony z Androidem, iOS, telefony Blackberry i inne rodzaje tabletów i iPadów.

Aby wykonać tego rodzaju kontrolę, musimy zdobyć każde takie urządzenie, a następnie możemy sprawdzić, czy aplikacja zachowuje się zgodnie z oczekiwaniami. Tak, pomyślałeś słusznie, jako właściciel produktu zdecydowanie uzna to za bardzo drogie zakup tak dużej liczby urządzeń mobilnych i przeprowadzenie testów. Czy jest więc dostępna jakaś inteligentna alternatywa?

Rozwiązaniem tego problemu jest użycie mobilnych symulatorów i mobilnych emulatorów. Są to przede wszystkim programy przeznaczone do symulacji ważnych funkcji smartfona. Mają bardzo podobny charakter, więc czasami są używane zamiennie.

Porównajmy, jak testowanie na emulatorze / symulatorze różni się od testowania na prawdziwym urządzeniu -

Prawdziwe urządzenie Emulator / symulator
Cena £ Zdobycie prawdziwych urządzeń będzie Cię dużo kosztować. Jest prawie darmowy, wystarczy je pobrać i zainstalować
Szybkość przetwarzania Ma szybsze przetwarzanie; jednak opóźnienia w sieci mogą być normalne. Jest wolniejszy w porównaniu do rzeczywistych urządzeń. Zaobserwował mniejsze opóźnienia niż rzeczywiste urządzenia podłączone do sieci lokalnej lub w chmurze.
Debugowanie Debugowanie nie jest takie proste. Zapewnia debugowanie aplikacji krok po kroku. Zapewnia również skuteczny sposób przechwytywania zrzutów ekranu.
Testowanie aplikacji internetowych Aplikacje internetowe można testować w normalny sposób. Testowanie aplikacji internetowej jest znacznie łatwiejsze.
Niezawodność Testowanie na prawdziwym urządzeniu ma tę główną zaletę, że zawsze daje dokładne wyniki. Nie może symulować wszystkich rodzajów interakcji użytkownika; stąd czasami może to prowadzić do fałszywych wyników. Więc ma niskie wyniki, jeśli chodzi o niezawodność.

Symulator / emulator nie może naśladować następujących funkcji -

  • Bateria urządzenia mobilnego
  • Aparat urządzenia mobilnego
  • Trudne do naśladowania zakłóceń, takich jak połączenia przychodzące i SMS-y.
  • Niezbyt realistyczna symulacja wykorzystania pamięci urządzenia mobilnego.

Pozwól nam teraz zrozumieć więcej na temat symulatorów mobilnych i emulatorów mobilnych. Są między nimi szczególne różnice. W poniższej tabeli wymieniono główne różnice między symulatorem a emulatorem.

Emulator Symulator
Co naśladuje

Oprogramowanie na urządzenia mobilne

Sprzęt do urządzeń mobilnych

Mobilny system operacyjny

Zachowanie wewnętrzne urządzenia.

Nie naśladuje sprzętu.

Jak to zdobyć Generalnie jest dostarczany przez producenta urządzenia. Zwykle jest dostarczany przez producenta urządzenia lub inną firmę.
Struktura wewnętrzna Jest napisany w języku asemblera na poziomie maszyny. Jest napisany w języku wysokiego poziomu.
Debugowanie Jest bardziej odpowiedni do debugowania. Nie nadaje się do debugowania.
Wydajność Emulatory działają bardzo wolno. Emulowanie rzeczywistego sprzętu zwykle powoduje, że oprogramowanie działa wolniej niż natywnie. Szybszy niż emulatory.
Przykład SDK Google dla Androida Symulator iOS firmy Apple

Jaki jest zatem najlepszy wybór do testów mobilnych? Najlepsza praktyka wskazuje, że w trakcie faktycznego rozwoju powinniśmy użyć emulatora lub symulatora. Przed sfinalizowaniem produktu należy przeprowadzić kontrolę poczytalności z wybranymi prawdziwymi urządzeniami. Na przykład istnieje ogromna liczba użytkowników smartfonów z Androidem, więc mądrym wyborem jest sprawdzenie poczytalności najnowszego urządzenia z Androidem i regresja może być przeprowadzona na symulatorach.

Prosta definicja testowania aplikacji mobilnych wyglądałaby następująco: „Mobile application testing jest procesem, w którym plik application softwareopracowany dla przenośnych urządzeń mobilnych jest testowany pod kątem funkcjonalności, użyteczności i spójności. Testowanie aplikacji mobilnych może być zautomatyzowane lub ręczne. ”

Note - Dla lepszego zrozumienia przyjmiemy, że testujemy aplikację mobilną do systemu rezerwacji biletów lotniczych online.

Testy funkcjonalności

Testowanie funkcjonalne to najbardziej podstawowy test dla każdej aplikacji, zapewniający, że działa ona zgodnie z określonymi wymaganiami. Podobnie jak inne aplikacje oparte na interfejsie użytkownika, aplikacje mobilne wymagają wielu interakcji w scenariuszach użytkownika.

Przykładowe scenariusze testowe -

  • Sprawdź, czy dostępność lotów jest wyświetlana dla wybranego źródła docelowego tylko w wybranym dniu.

  • Sprawdź, czy przeszłe daty nie są uwzględniane w wynikach wyszukiwania.

Testowanie zgodności

Testowanie zgodności ma najwyższy stos, jeśli chodzi o testowanie aplikacji mobilnych. Ogólnie rzecz biorąc, celem testu zgodności aplikacji mobilnej jest upewnienie się, że kluczowe funkcje aplikacji działają zgodnie z oczekiwaniami na określonym urządzeniu. Sama kompatybilność powinna zająć tylko kilka minut i można ją zaplanować z dużym wyprzedzeniem.

Nie będzie łatwo zadecydować, na jakich urządzeniach mobilnych wykonać testy zgodności (ponieważ testowanie ze wszystkimi dostępnymi urządzeniami jest po prostu niemożliwe). Dlatego przygotuj macierz testową z każdą możliwą kombinacją i nadaj jej priorytety klientowi.

Przykładowe scenariusze testowe -

  • Sprawdź, czy wyszukiwanie lotów zostało pomyślnie przeprowadzone na urządzeniu z systemem Android.
  • Sprawdź, czy wyszukiwanie lotów zostało pomyślnie przeprowadzone dla Apple iPad.

Testowanie lokalizacji

Obecnie większość aplikacji jest przeznaczona do użytku globalnego i bardzo ważne jest, aby dbać o regionalne szlaki, takie jak języki, strefy czasowe itp. Ważne jest, aby sprawdzić działanie aplikacji, gdy ktoś zmieni strefę czasową. Należy wziąć pod uwagę, że czasami zachodnie projekty mogą nie działać z publicznością z krajów wschodnich lub odwrotnie.

Przykładowe scenariusze testowe -

  • Sprawdź, czy nie ma problemu z interfejsem użytkownika lub obcięciem danych, gdy korzystamy z aplikacji mobilnej w różnych językach (lub powiedzmy, w języku innym niż angielski).

  • Sprawdź, czy zmiany stref czasowych są prawidłowo obsługiwane przez aplikację mobilną.

Testowane laboratoryjnie

Testy laboratoryjne, zwykle przeprowadzane przez operatorów sieciowych, są przeprowadzane poprzez symulację całej sieci bezprzewodowej. Ten test jest wykonywany w celu wykrycia wszelkich usterek, gdy aplikacja mobilna używa połączenia głosowego i / lub połączenia danych do wykonywania niektórych funkcji.

Przykładowe scenariusze testowe -

  • Sprawdź, czy nie ma usterki, gdy klient prowadzi czat głosowy z personelem pomocy technicznej.

Test wydajności

Test wydajności mobilnej obejmuje wydajność aplikacji klienckich, wydajność serwera i wydajność sieci. Ważne jest, aby upewnić się, że scenariusze testów wydajności obejmują wszystkie te obszary. Przy pomocy narzędzi do testowania wydajności nietrudno jest zidentyfikować istniejące sieci, serwery i wąskie gardła aplikacji po stronie serwera, biorąc pod uwagę predefiniowane obciążenia i kombinację transakcji.

Przykładowe scenariusze testowe -

  • Sprawdź, czy sprawdzenie dostępności lotu zajmuje tylko rozsądną ilość czasu.

  • Sprawdź, czy podczas sprawdzania dostępności lotu telefon komórkowy działa normalnie i nie zawiesza się.

Test naprężeń

Testowanie warunków skrajnych jest konieczne, aby znaleźć wyjątki, zawieszenia i zakleszczenia, które mogą pozostać niezauważone podczas testowania funkcjonalnego i interfejsu użytkownika. Oto lista niektórych kryteriów testów warunków skrajnych -

  • Załaduj do aplikacji jak najwięcej danych, aby spróbować osiągnąć punkt krytyczny.

  • Wykonuj wielokrotnie te same operacje.

  • Powtarzaj operacje przy różnych prędkościach - bardzo szybko lub bardzo wolno.

  • Pozostaw aplikację uruchomioną przez długi czas, zarówno wchodząc w interakcję z urządzeniem, jak i pozostawiając ją bezczynną, lub wykonując jakieś automatyczne zadanie, które zajmuje dużo czasu, na przykład pokaz slajdów.

  • Wysyłaj losowo dotknięcia ekranu i naciśnięcia klawiszy do swojej aplikacji.

  • Miej wiele aplikacji uruchomionych na urządzeniu, aby móc często przełączać się między aplikacjami a innymi aplikacjami urządzenia.

Przykładowe scenariusze testowe -

  • Sprawdź, czy 1000 użytkowników korzysta z aplikacji mobilnej w celu wyszukiwania lotów krajowych.
  • Sprawdź, czy 1000 użytkowników korzysta z aplikacji mobilnej w celu wyszukiwania lotów krajowych.

Testowanie bezpieczeństwa

Luki związane z hakowaniem, uwierzytelnianiem i polityką autoryzacji, bezpieczeństwem danych, zarządzaniem sesjami i innymi standardami bezpieczeństwa powinny być weryfikowane w ramach testów bezpieczeństwa aplikacji mobilnych. Aplikacje powinny szyfrować nazwę użytkownika i hasło podczas uwierzytelniania użytkownika w sieci.

Jednym ze sposobów testowania scenariuszy związanych z bezpieczeństwem jest kierowanie danych telefonu komórkowego przez serwer proxy, taki jak OWASP Zed Attack Proxy, i wyszukiwanie luk w zabezpieczeniach.

Przykładowe scenariusze testowe -

  • Sprawdź, czy aplikacja nie jest obsługiwana z tymi samymi poświadczeniami użytkownika na dwóch różnych urządzeniach mobilnych.

  • Sprawdź, czy sesja wygasa automatycznie, jeśli pozostaje nieaktywna przez ponad 15 minut.

Testowanie upływu pamięci

Urządzenia mobilne mają bardzo ograniczoną pamięć w porównaniu z innymi komputerami, a mobilne systemy operacyjne mają domyślne zachowanie polegające na zamykaniu aplikacji, które używają nadmiernej ilości pamięci i powodują złe wrażenia użytkownika.

Testowanie pamięci jest wyjątkowo ważne dla aplikacji mobilnych, aby zapewnić, że każda aplikacja utrzymuje optymalne wykorzystanie pamięci przez cały czas podróży użytkownika. Zaleca się przeprowadzenie testów pamięci na rzeczywistym urządzeniu docelowym, ponieważ architektura systemu różni się od emulatora do rzeczywistego urządzenia.

Przykładowe scenariusze testowe -

  • Sprawdź dostępność lotów dziesięć razy i zanotuj zwiększone użycie pamięci dla każdego sprawdzenia.

  • Pozostaw aplikację uruchomioną przez dziesięć minut i obserwuj, czy użycie pamięci pozostaje stabilne.

Testowanie zużycia energii

Istnieje kilka typów baterii stosowanych w różnych urządzeniach mobilnych (np. Hybryda niklowo-kadmowo-litowo-jonowa / niklowo-metalowa). Koncentrując się na testowaniu zużycia energii, jesteśmy zobowiązani do pomiaru stanu baterii na każdym poziomie aktywności. Pozwoli nam to lepiej zrozumieć zużycie energii przez indywidualną aplikację.

Test zużycia energii można wykonać ręcznie; na rynku dostępne są również bezpłatne narzędzia, takie jak Trepn Profiler, Power Tutor i Nokia Energy Profiler. Są to aplikacje, które mogą wyświetlać zużycie energii w czasie rzeczywistym na smartfonie lub tablecie.

Przykładowe scenariusze testowe -

  • Skorzystaj z aplikacji mobilnej, aby sprawdzić dostępność lotów i sprawdź, czy zużycie energii pozostaje minimalne.

  • Utrzymuj aplikację mobilną w idealnym stanie; sprawdź, czy nie ma zużycia energii, gdy aplikacja nie jest aktywna.

Testowanie przerwania

Podczas działania aplikacji może wystąpić kilka zakłóceń, takich jak połączenia przychodzące lub awaria i przywracanie zasięgu sieci. Można to ponownie wyróżnić za -

  • Przychodzące i wychodzące wiadomości SMS i MMS
  • Połączenia przychodzące i wychodzące
  • Powiadomienia przychodzące
  • Usuwanie baterii
  • Wkładanie i wyjmowanie kabla do przesyłania danych

Przykładowe scenariusze testowe -

  • Sprawdź, czy sprawdzanie dostępności lotów zostaje wstrzymane i wznowione po odebraniu połączenia przychodzącego.

  • Sprawdź, czy użytkownik może odrzucić połączenie podczas korzystania z aplikacji, a następnie ponownie wznowić tę samą aplikację.

Test użyteczności

Testy użyteczności oceniają aplikację na podstawie następujących trzech kryteriów dla docelowych odbiorców -

  • Efficiency - dokładność i kompletność, z jaką określeni użytkownicy mogą osiągnąć określone cele w określonym środowisku.

  • Effectiveness - Środki wydatkowane w związku z dokładnością i kompletnością osiągniętych celów.

  • Satisfaction - Komfort i akceptacja systemu pracy dla jego użytkowników i innych osób, na które ma wpływ jego użytkowanie.

Testowanie użyteczności jest bardzo ważne od wczesnego etapu projektowania aplikacji i nie powinno się tego robić dopiero po ukończeniu aplikacji. Testowanie użyteczności wymaga dużego zaangażowania użytkowników, a wynik może wpłynąć na projekt aplikacji, co jest bardzo trudne do zmiany na późniejszych etapach projektu.

Przykładowe scenariusze testowe -

  • Sprawdzanie dostępności lotów powinno znajdować się na stronie głównej.
  • Reklama sponsorowana nie powinna być wyświetlana w środku treści.

Testowanie instalacji

Testowanie instalacji sprawdza, czy proces instalacji przebiega bezproblemowo, bez konieczności napotykania przez użytkownika jakichkolwiek trudności.

Przykładowe scenariusze testowe -

  • Sprawdź, czy proces instalacji przebiega płynnie i nie zajmuje dużo czasu.
  • Sprawdź, czy instalacja zakończyła się pomyślnie za pośrednictwem sklepu z aplikacjami dla przedsiębiorstw.

Testowanie dezinstalacji

Podstawy testowania dezinstalacji można podsumować w jednym wierszu jako „Dezinstalacja powinna usunąć dane związane z aplikacją za jednym razem”.

Przykładowe scenariusze testowe -

  • Sprawdź, czy wszystkie pliki związane z aplikacją zostały pomyślnie usunięte po odinstalowaniu.

  • Jeśli jest to aplikacja, która przechowuje pliki multimedialne (np. Whatsapp lub Facebook), zachowaj te pliki nawet po odinstalowaniu aplikacji.

Aktualizacje testowania

Musimy być bardzo ostrożni w przypadku aktualizacji aplikacji mobilnych. Ludzie często narzekają, że aplikacje nie działają zadowalająco po aktualizacji. Dlatego bardzo ważne jest, aby w ramach testów aktualizacji zakwalifikować, że aplikacja będzie działać tak, jak działała wcześniej. Krótko mówiąc, nie powinien niczego łamać. Aktualizacje aplikacji mobilnej mogą odbywać się na dwa sposoby -Automatic update i Manual update.

Przykładowe scenariusze testowe -

  • Sprawdź, czy aplikacja działa poprawnie po automatycznej aktualizacji.
  • Sprawdź, czy postęp aktualizacji jest wyświetlany prawidłowo.

Testy certyfikacyjne

Aby uzyskać certyfikat zgodności, każde urządzenie mobilne musi zostać przetestowane pod kątem zgodności z wytycznymi określonymi przez różne platformy mobilne.

Przykładowe scenariusze testowe -

  • Sprawdź, czy aplikacja jest zgodna z zasadami dotyczącymi telefonów z systemem iOS po zainstalowaniu na telefonie iPhone.

  • Sprawdź, czy aplikacja jest zgodna z zasadami dotyczącymi telefonów z systemem Android, jeśli jest zainstalowana na systemie Android.

Załóżmy, że korzystamy z aplikacji mobilnej i, co ciekawe, doświadczasz następującej sytuacji -

  • Brak wyrównania przycisków.
  • Tekst jest przycinany.
  • Kontrola kalendarza jest wycinana.

Rzeczywiście jest to nieprzyjemne doświadczenie dla każdego z użytkowników. Aby upewnić się, że zapewniamy naszym użytkownikom doskonałe wrażenia, zdecydowanie zalecamy testowanie mobilnego interfejsu użytkownika.

Pierwszym obszarem do zbadania w planie testów jest interfejs użytkownika. Twoim zadaniem jako testera jest potwierdzenie, że Twoja aplikacja spełnia określone oczekiwania, takie jak:

  • Ogólna kolorystyka / motyw urządzenia
  • Styl i kolor ikon
  • Wskaźniki postępu podczas ładowania stron
  • Menu i sposób ich wywoływania oraz typowe elementy, które zawierają
  • Ogólna responsywność aplikacji na tym urządzeniu

Omówmy więcej na temat podstaw testowania mobilnego interfejsu użytkownika.

Orientacja / rozdzielczość ekranu

Treść internetowa musi wyglądać i dobrze się prezentować na różnych urządzeniach i w różnych warunkach sieciowych. Generalnie dobrym pomysłem jest przetestowanie strony internetowej w powszechnie używanych rozdzielczościach ekranu, aby mieć pewność, że jest ona użyteczna.

Jeśli masz układ wielokolumnowy, możesz także sprawdzić, czy kolumny są prawidłowo wyrównane i są nadal widoczne, gdy użytkownik ma niższą rozdzielczość. Ważne jest również, aby znać standardowe rozdzielczości ekranu -

  • 640 × 480
  • 800 × 600
  • 1024 × 768
  • 1280 × 800
  • 1366 × 768
  • 1400 × 900
  • 1680 × 1050

Dostępne narzędzia

Na rynku dostępnych jest wiele narzędzi, dzięki którym testowanie mobilnego interfejsu użytkownika jest płynniejsze i prostsze. Na przykład -

  • Rozszerzenie Google Chrome
  • Screenfly
  • Stos przeglądarki

Rozumiemy trochę więcej na temat tych narzędzi i ich przydatności.

Rozszerzenie Google Chrome

Jest to bezpłatna funkcja dostępna w przeglądarce internetowej Google Chrome. Podaliśmy tutaj wyjaśnienie krok po kroku, jak testować sieć mobilną za pomocą rozszerzenia Google Chrome -

Step 1 - Otwórz testowaną stronę internetową w „przeglądarce internetowej Google Chrome”.

Step 2- Naciśnij klawisz F12. Otworzy się okno narzędzia programisty, jak pokazano na poniższym zrzucie ekranu.

Step 3- Kliknij ikonę urządzenia mobilnego. Zobacz poniższy zrzut ekranu.

Step 4- Wybierz urządzenie mobilne, za pomocą którego chcesz przetestować witrynę. Możesz wybrać różne dostępne urządzenia, aby przeprowadzić weryfikację interfejsu użytkownika.

Screenfly

Screenfly to darmowe i łatwe w użyciu narzędzie. Aby z tego skorzystać, wystarczy wpisać Quirktools w przeglądarce internetowej. Pojawi się następujący ekran.

Wejdź na testowaną stronę i kliknij Go. Wybierz urządzenie mobilne, na którym chcesz przeglądać witrynę.

BrowserStack

To kolejne świetne narzędzie do testowania mobilnego interfejsu użytkownika. Zapewnia wspaniałe rezultaty. Chociaż jest to płatne narzędzie, możesz skorzystać z bezpłatnej ścieżki, rejestrując się na BrowserStack z poprawnym adresem e-mail.

Ekrany dotykowe

Ekrany wielodotykowe a ekrany jednodotykowe

Jeśli Twoje urządzenie i aplikacja obsługują funkcje wielodotyku, takie jak efekt szczypania i powiększania na iPhonie, pamiętaj o dołączeniu wielu przypadków testowych obejmujących dotykanie ekranu w więcej niż jednym miejscu jednocześnie, zwłaszcza podczas pisania na klawiaturze.

Długi dotyk kontra krótki dotyk

Chociaż nie ma koncepcji podwójnego kliknięcia na urządzeniach z ekranem dotykowym (chociaż może to być, jeśli jest specjalnie zaimplementowane w twojej aplikacji), niektóre urządzenia, takie jak smartfony z Androidem, rozróżniają długie dotknięcia i krótkie dotknięcia. Naciśnięcie i przytrzymanie elementu spowoduje wyświetlenie menu kontekstowego na środku ekranu, podczas gdy krótkie kliknięcie tego samego elementu automatycznie wykona pierwszą czynność w tym menu kontekstowym.

Rozmiar i pozycja przycisku

Upewnij się, że przyciski i ikony są wystarczająco duże i wystarczająco daleko od krawędzi ekranu, aby można je było łatwo kliknąć dużym palcem.

Klawisze miękkie i twarde

Klawiatury miękkie

Często istnieją różne przypadki specjalne i przypadki narożne, które są ważne dla użytkowników końcowych.

  • Czy klawiatura programowa pojawia się automatycznie, jeśli głównym działaniem użytkownika jest wprowadzenie tekstu?

  • Czy pierwsza warstwa klawiatury programowej zawiera klawisze skrótu „@” i „.com”, jeśli podświetlone pole służy do wprowadzania adresów e-mail?

  • Czy klawiaturę programową można łatwo zamknąć i ponownie wyświetlić?

  • Czy klawiatury miękkie i twarde mogą być używane zamiennie (jeśli urządzenie ma oba)?

Hard Keys

Upewnij się, że wykonałeś wiele testów dotyczących korzystania z dostępnych twardych klawiszy urządzenia, takich jak Start, Strona główna, Menu i Wstecz. Wszystkie te elementy powinny współdziałać z aplikacją w podobny sposób, jak współdziałają z natywnymi aplikacjami urządzenia.

Trackballs, Track Wheels i Touchpady

Jeśli Twoje urządzenie nie ma ekranu dotykowego, jeszcze ważniejsze jest sprawdzenie, czy nawigacja na ekranie jest jak najmniej bolesna dla użytkownika. W takich przypadkach użytkownik może polegać na trackballu, kółku śledzenia lub panelu dotykowym do przemieszczania się od obiektu do obiektu.

Testowanie urządzeń mobilnych, takich jak telefony, tablety i czytniki e-booków, wymaga specjalnego sprzętu i metodologii. Ponieważ tradycyjne oprogramowanie do przechwytywania ekranu nie jest w stanie odpowiednio uchwycić interakcji dotykowych, praktycy używają strategicznie rozmieszczonych kamer do rejestrowania interakcji testowych na tych urządzeniach mobilnych.

Przygotowanie do testowania urządzeń mobilnych

Metodologie i urządzenia ułatwiające testowanie użyteczności na telefonach, tabletach i czytnikach e-booków stale się rozwijają. Planując testowanie urządzeń mobilnych, należy pamiętać o następujących kwestiach -

  • Your timeframe and budget. Dobre zrozumienie ram czasowych i budżetu pomoże Ci określić, które procesy i sprzęt będą działać najlepiej w oparciu o Twoje potrzeby.

  • The physical setup of the space and how you will capture the test. Może to obejmować układ o niższej wierności, a także korzystanie ze specjalistycznej platformy i aparatu fotograficznego i / lub być może korzystanie z oprogramowania do śledzenia wzroku.

  • Your target audience and devices.Użyj analityki internetowej, aby sprawdzić, ilu użytkowników mobilnych odwiedza witrynę, z jakiego urządzenia korzystają i jaki jest ich system operacyjny. Zrozumienie tych informacji pomoże Ci dowiedzieć się, które urządzenia przetestować.

Kolejnym ważnym aspektem do omówienia po zaplanowaniu testów jest test device management. W dużej organizacji obsługa testów urządzeń mobilnych wymaga inteligentnego sposobu zabezpieczenia poufnych danych organizacji. Aby to zrobić, będziesz potrzebować oprogramowania zabezpieczającego. W następnej sekcji dowiemy się więcej o narzędziach do zarządzania urządzeniami.

Narzędzia do zarządzania urządzeniami

Zarządzanie urządzeniami mobilnymi (MDM) to rodzaj oprogramowania zabezpieczającego używanego w IT do monitorowania, zarządzania i zabezpieczania urządzeń mobilnych pracowników, które są wdrażane u wielu dostawców usług mobilnych oraz w wielu mobilnych systemach operacyjnych używanych w organizacji.

MDM jest często łączony z dodatkowymi usługami i narzędziami bezpieczeństwa, takimi jak Mobile Application Management, w celu stworzenia kompletnego urządzenia mobilnego i rozwiązania do zarządzania mobilnością przedsiębiorstwa.

Na rynku dostępnych jest wiele narzędzi do wykonania tego zadania. Poniższa tabela zawiera przegląd niektórych popularnych narzędzi i ich funkcji.

Produkty BlackBerry MDM Citrix MDM Dell MDM IBM MDM MobileIron MDM SOTI MDM
Android 2.3+ tak tak tak 2.3 przez prąd tak
iOS 5.0+ tak tak tak 4.0 przez prąd tak
telefon Windows Nie dla BES10 (WP 8+ dla BES12) tak tak tak 7 przez prąd tak
Jeżyna Tak, BBOS, BlackBerry 10 tak Nie tak 10 (przez ActiveSync) Nie
Symbian Nie tak Nie tak Nie Nie
System operacyjny Windows Nie tak tak tak 8.1 RT / Pro Nie
Mac OS X Nie Wkrótce tak tak Lew, lew górski tak
Inny Nie Windows Mobile Żaden Office 365, Gmail, Lotus Żaden Windows Mobile, CE, wbudowany
Skonfiguruj / wyłącz WiFi tak tak tak tak tak tak
Szyfrowanie urządzeń tak tak Tak, zależne od typu urządzenia tak tak tak
Szyfrowanie poczty e-mail tak tak Tak, zależne od typu urządzenia tak tak tak
Uwierzytelnianie wieloskładnikowe tak tak Nie tak tak tak
Wykrywanie złośliwego oprogramowania Nie Nie Nie tak Tak, z integracją z partnerem tak
Firewall tak Nie Nie tak Tak, z integracją z partnerem tak
Oddziel dane użytkownika od danych firmowych tak tak tak tak tak tak

Zanim przejdziemy do rzeczywistych testów urządzeń mobilnych, bardzo ważne jest, aby mieć wgląd w architekturę sprzętową urządzeń mobilnych. Pomoże nam to w lepszym planowaniu testów, gdy faktycznie przejdziemy do testowania aplikacji na urządzenia mobilne / urządzenia mobilne. Przyjrzyjmy się różnym cechom sprzętu mobilnego.

Komponenty sprzętowe

Jeśli weźmiesz jakikolwiek telefon komórkowy, przeważnie będzie on składał się z następujących części.

Płytka drukowana

Można go uznać za mózg telefonu, który kontroluje wszystkie jego działania.

Wyświetlacz dotykowy

Ekrany dotykowe są istotnym elementem smartfonów. Ekrany dotykowe rozpoznają miejsce na ekranie, w którym umieściłeś palec lub rysik, i odpowiednio przekazują współrzędne do procesora telefonu.

Istnieją dwa popularne typy ekranów dotykowych -

  • Resistive Touchscreen- Ma dwie warstwy (oddzielone maleńką szczeliną), które tworzą nakładkę na ekran. Kiedy palec zostanie umieszczony w dowolnym punkcie na ekranie, oba tworzą kontakt i uzyskuje się współrzędne. Są one stosunkowo niedrogie i słusznie można je znaleźć w większości telefonów z budżetem. Wadą jest to, że do zarejestrowania dotyku wymagany jest pewien nacisk. W miarę upływu czasu ekran ulega pewnym uszkodzeniom.

  • Capacitive Touchscreen- Ma cały ekran pokryty substancją pojemnościową, która utrzymuje pewną ilość ładunku elektrycznego. Kiedy przewodzący obiekt, taki jak palec, zostaje umieszczony na ekranie, następuje zmiana pojemności w tym punkcie, a tym samym uzyskuje się współrzędne. Pojemnościowe ekrany dotykowe nie reagują dobrze w zimnych klimatach, gdzie ludzki palec nie powoduje zmiany pojemności, dlatego w takich sytuacjach zaleca się używanie rysika. Wtedy sąmulti-touch touchscreensgdzie prawie wszystkie palce można dokładnie wskazać. Doprowadziło to do wzrostu liczby gestów, które można wykonywać na ekranie dotykowym.

Karta pamięci

Karty pamięci są dostępne w różnych rozmiarach i pojemnościach. Są szeroko stosowane jako nośnik danych do przechowywania informacji cyfrowych.

Karta SIM

Karta SIM zapewnia osobistą mobilność, dzięki czemu użytkownik może mieć dostęp do wszystkich subskrybowanych usług niezależnie od lokalizacji terminala i korzystania z określonego terminala. Musisz włożyć kartę SIM do innego telefonu komórkowego GSM, aby odbierać połączenia na tym telefonie, wykonywać połączenia z tego telefonu lub otrzymywać inne subskrybowane usługi.

Bateria

Smartfony działają na różnych bateriach w zależności od producenta telefonu, jego wymiarów i funkcji. Dla tych, którzy w dużym stopniu polegają na swoich smartfonach, ważne jest, aby baterie były jak najdłuższe. Eliminuje to potrzebę częstego ładowania i zmniejsza prawdopodobieństwo, że rozładują się, gdy są najbardziej potrzebne.

UDID dla iOS

Każdy telefon iPhone lub iPod Touch ma unikalny identyfikator urządzenia (UDID), czyli sekwencję 40 liter i cyfr, charakterystyczny dla danego urządzenia. To jak numer seryjny, ale znacznie trudniejszy do odgadnięcia. Będzie wyglądać mniej więcej tak - 2b6f0cc904d137be2e1730235f5664094b831186.

Jak znaleźć UUID?

  • Podłącz urządzenie iOS do komputera.
  • Otwórz iTunes.
  • W iTunes kliknij nazwę urządzenia w sekcji „Urządzenia” w kolumnie po lewej stronie.
  • Kliknij raz numer seryjny urządzenia w głównej sekcji okna.
  • Numer seryjny powinien następnie zmienić się na UDID urządzenia.

Profil aprowizacji dla systemu iOS

Profil aprowizacji to zbiór cyfrowych podmiotów, które w unikalny sposób łączą programistów i urządzenia z autoryzowanym zespołem programistów iPhone'a i umożliwiają używanie urządzenia do testowania. Na każdym urządzeniu, na którym chcesz uruchomić kod aplikacji, należy zainstalować programistyczny profil obsługi administracyjnej.

Jak utworzyć profil prowizyjny na iOS?

  • Uruchom Google Chrome, Mozilla Firefox lub Safari.

  • W iOS Dev. W środku kliknij Certyfikaty, identyfikatory i profile.

  • W panelu Aplikacje na iOS kliknij Profile obsługi administracyjnej.

  • Kliknij +.

  • Wybierz Tworzenie aplikacji na iOS i kliknij Kontynuuj.

  • Wybierz identyfikator aplikacji do powiązania z profilem obsługi administracyjnej i kliknij Kontynuuj.

  • Aby móc używać jednego deweloperskiego profilu aprowizacji w wielu aplikacjach, wybierz identyfikator wieloznaczny aplikacji, jeśli jest dostępny.

  • Wybierz jeden lub więcej certyfikatów do opracowania, które chcesz uwzględnić w profilu informacyjnym, i kliknij Kontynuuj.

  • Wymienione są tylko certyfikaty dotyczące rozwoju.

  • Wybierz jedno lub więcej urządzeń, które chcesz uwzględnić w profilu informacyjnym, i kliknij Kontynuuj.

  • Wpisz nazwę profilu i kliknij Generuj.

  • (Opcjonalnie) Kliknij Pobierz, aby pobrać profil informacyjny.

Jak dodać swój profil obsługi administracyjnej w AppBuilder?

  • Kliknij ikonę koła zębatego i wybierz Opcje.

  • Wybierz iOS → Profile obsługi administracyjnej.

  • Kliknij Importuj.

  • Przejdź do lokalizacji, w której przechowywany jest plik udostępniania mobilnego dla Twojego profilu informacyjnego, wybierz go i potwierdź import.

Opcje i preferencje urządzenia

Możesz określić preferencje urządzenia (Mobilne lub Wszystkie) dla dowolnej reklamy tekstowej, dynamicznej reklamy w wyszukiwarce, graficznej lub graficznej.

Jeśli grupa reklam zawiera zarówno reklamy preferowane na komórki, jak i zwykłe, na urządzeniach przenośnych są wyświetlane tylko te preferowane na komórki, a tylko zwykłe reklamy na komputerach i tabletach.

Na liście typów wybierz Reklamy i rozszerzenia i wybierz typ reklamy, którą chcesz zaktualizować. Wybierz jedną lub więcej reklam. W sekcji „Ustawienia urządzenia” w panelu edycji wybierz Mobilne lub Wszystkie.

Przyjrzyjmy się szczegółom różnych typów testów, które możemy przeprowadzić na urządzeniach mobilnych.

Połączenia sieciowe

Poniższa tabela zawiera listę kontrolną testów połączenia sieciowego, które można wykonać na urządzeniu mobilnym.

Sr.No. Opis
1 Czy aplikacja zachowuje się zgodnie ze specyfikacją, jeśli jest połączona z Internetem przez Wi-Fi?
2 Czy aplikacja zachowuje się zgodnie ze specyfikacją, jeśli jest połączona z Internetem przez 3G?
3 Czy aplikacja zachowuje się zgodnie ze specyfikacją, jeśli jest połączona z Internetem przez 2G?
4 Czy aplikacja zachowuje się zgodnie ze specyfikacją aplikacji poza zasięgiem sieci?
5 Czy aplikacja wznowi działanie, gdy wróci do sieci poza zasięgiem sieci?
6 Transakcje aktualizacyjne są przetwarzane poprawnie po ponownym nawiązaniu połączenia.
7 Czy aplikacja nadal działa poprawnie podczas tetheringu lub połączenia z innym urządzeniem w inny sposób?
8 Co się stanie, jeśli aplikacja przełączy się między sieciami (Wi-Fi, 3G, 2G)?
9 Czy aplikacja korzysta ze standardowych portów sieciowych (Mail: 25, 143, 465, 993 lub 995 HTTP: 80 lub 443 SFTP: 22) do łączenia się z usługami zdalnymi, ponieważ niektórzy dostawcy blokują określone porty.

Interakcje z kartami SD

Poniższa tabela zawiera listę kontrolną sprawdzania najważniejszych funkcji interakcji karty SD z telefonem komórkowym.

Sr.No. Opis
1 Czy aplikację można zainstalować na urządzeniu?
2

Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami w przypadku połączenia przychodzącego?

3 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami w przypadku przychodzących wiadomości SMS?
4 Czy aplikacja zachowuje się tak, jak została zaprojektowana / pożądana, jeśli podłączona jest ładowarka?
5 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, jeśli ładowarka jest odłączona?
6 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, gdy urządzenie przechodzi w tryb uśpienia
7 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, jeśli urządzenie wznawia działanie z trybu uśpienia
8 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, jeśli urządzenie wznawia pracę po zablokowaniu ekranu?
9 Czy aplikacja zachowuje się zgodnie z projektem / oczekiwaniami, jeśli urządzenie jest przechylone?
10 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, jeśli urządzenie jest potrząsane?
11 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, jeśli lokalna wiadomość pochodzi z innej aplikacji (pomyśl o: przypomnieniach kalendarza, zadaniach do wykonania itp.)?
12 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, jeśli wiadomość push pochodzi z innej aplikacji (pomyśl o: wzmiankach na Twitterze, wiadomościach Whatsapp, zaproszeniach do wiadomości itp.).
13 Czy aplikacja prawidłowo współdziała z czujnikiem GPS (włączanie / wyłączanie, pobieranie danych GPS)?
14 Czy funkcjonalność wszystkich przycisków lub klawiszy na urządzeniu jest zdefiniowana dla tej aplikacji?
15 Sprawdź, czy przyciski lub klawisze, które nie mają zdefiniowanej funkcji, nie działają w aplikacji w nieoczekiwany sposób podczas aktywacji.
16 Jeśli na urządzeniu jest dostępny prawdziwy przycisk „Wstecz”, czy przycisk „Wstecz” przenosi użytkownika do poprzedniego ekranu?
17 Jeśli na urządzeniu jest dostępny prawdziwy przycisk „menu”, czy przycisk menu pokazuje menu aplikacji?
18 Jeśli na urządzeniu jest dostępny prawdziwy przycisk „Strona główna”, czy przycisk strony głównej przenosi użytkownika z powrotem do ekranu głównego urządzenia?
19 Jeśli na urządzeniu jest dostępny prawdziwy przycisk „szukaj”, czy prowadzi to użytkownika do jakiejś formy wyszukiwania w aplikacji?
20 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, jeśli pojawi się komunikat „Niski poziom baterii”
21 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, jeśli dźwięk na urządzeniu jest wyłączony?
22 Czy aplikacja zachowuje się zgodnie z przeznaczeniem / oczekiwaniami, jeśli urządzenie jest w trybie samolotowym?
23 Czy aplikację można odinstalować z urządzenia?
24 Czy aplikacja działa zgodnie z oczekiwaniami po ponownej instalacji?
25 Czy aplikację można znaleźć w sklepie z aplikacjami? (Sprawdź po uruchomieniu)
26 Czy aplikacja może przełączać się na różne aplikacje na urządzeniu poprzez wielozadaniowość zgodnie z projektem / wymaganiami?
27 Czy wszystkie pozycje ekranu dotykowego (przyciski) działają, gdy używana jest osłona ekranu.

Testowanie Bluetooth

Urządzenia Bluetooth mogą komunikować się tylko w promieniu 10 metrów. Takimi urządzeniami mogą być klawiatury, mysz, słuchawki bezprzewodowe itp. Poniższa tabela zawiera listę kontrolną testów Bluetooth, które można wykonać -

Sr.No. Opis
1 Użytkownik może przeszukiwać wszystkie dostępne urządzenia w zasięgu.
2 Transmisje danych i głosu mogą być przesyłane za pośrednictwem sieci krótkiego zasięgu.
3 Transmisje danych i głosu mogą być odbierane przy użyciu sieci krótkiego zasięgu.
4 Użytkownik może odłączyć się w dowolnym momencie.
5 Podczas zamykania Bluetooth poproś o rozłączenie obecnych połączeń.
6 Maksymalny zasięg Bluetooth to 10 metrów.
7 Za pomocą telefonu komórkowego możesz wysyłać zdjęcia, filmy, wymieniać się wizytówkami, a także przesyłać pliki do komputera.
8 (Urządzenie sparowane) jest to komunikat używany do potwierdzenia, że ​​użytkownik pomyślnie sparował dwa urządzenia Bluetooth.
9 Tryb niewykrywalny, urządzenie, które nie odpowiada na żądania wykrywania.
10 Tryb niewykrywalny, urządzenie, które nie odpowiada na żądania wykrywania.
11 Tryb nieparowalny, urządzenie, które nie akceptuje parowania, jest nazywane w trybie niemożliwym do sparowania.
12 Klucz dostępu, hasło to zdefiniowane przez użytkownika hasło potrzebne do połączenia się z urządzeniem z dowolnego innego urządzenia. Zdecydowanie zaleca się używanie kluczy dostępu, gdy tylko jest to możliwe, aby uniknąć nieautoryzowanego dostępu do urządzeń Bluetooth.
13 Uwierzytelnianie - proces weryfikacji tożsamości drugiego końca łącza komunikacyjnego. W technologii Bluetooth uzyskuje się to poprzez proces uwierzytelniania oparty na kluczach dostępu i parowaniu.
14 Nie znaleziono urządzeń, jest to komunikat o błędzie, który może się pojawić, jeśli wyszukiwanie innych urządzeń w zasięgu niczego nie znajdzie.
15 Tryb bezczynności, urządzenie jest w trybie bezczynności, gdy nie ma ustanowionych połączeń z innymi urządzeniami. W tym trybie urządzenie może wykryć inne urządzenia.
16 Testowanie znanego urządzenia, urządzenie, o którym już wie inne urządzenie. Albo urządzenia zostały sparowane w przeszłości, albo niektóre informacje o znanych urządzeniach są przechowywane.

Testowanie Wi-Fi

Testowanie połączenia Wi-Fi w telefonie komórkowym to świetny sposób, aby upewnić się, że Internet działa z prędkością obiecaną przez dostawcę usług, ale nie musisz ograniczać się do przeprowadzania tych testów na komputerze stacjonarnym. Testowanie WiFi w telefonie komórkowym to doskonały sposób na sprawdzenie mocy sygnału WiFi w różnych miejscach w domu lub biurze. Poniżej znajduje się lista kontrolna testowania Wi-Fi dla urządzenia mobilnego.

Sr.No. Opis
1 Czy aplikacja zachowuje się zgodnie ze specyfikacją, jeśli jest połączona z Internetem przez Wi-Fi?
2 Czy aplikacja zachowuje się zgodnie ze specyfikacją aplikacji poza zasięgiem sieci?
3 Czy aplikacja wznowi działanie, gdy wróci do zasięgu sieci spoza jej zasięgu?
4 Co się stanie, jeśli aplikacja przełączy się między sieciami (Wi-Fi, 3G, 2G)
5 Czy aplikacja korzysta ze standardowych portów sieciowych (Mail: 25, 143, 465, 993 lub 995 HTTP: 80 lub 443 SFTP: 22) do łączenia się z usługami zdalnymi, ponieważ niektórzy dostawcy blokują określone porty.

Jak przeprowadzić test prędkości WiFi w telefonie komórkowym na smartfonie

Przeprowadzenie testu szybkości Wi-Fi na smartfonie to proste zadanie. Najwygodniejsze są testy szybkości, które są uruchamiane w przeglądarce internetowej telefonu komórkowego. Postępuj zgodnie z prostymi instrukcjami wyświetlanymi na ekranie, aby rozpocząć test. Jeśli test online nie zapisuje wyników, po zakończeniu testu zrób zrzut ekranu, aby przedstawić historię.

Niektóre testy są dostępne jako aplikacje na platformy iOS i Android. Aby z nich skorzystać, pobierz żądaną aplikację. Następnie postępuj zgodnie z instrukcjami, aby uruchomić test i zapisać wynik.

Narzędzia do wykonywania testu prędkości

Speed Test SpeedSmart WiFi & Mobile Network Speedtest- Jest kompatybilny z Apple iPhone i iPad. Jest to aplikacja płatna. SpeedSmart to najlepsze narzędzie do testowania szybkości iOS do oceny połączenia komórkowego (3G, 4G i LTE) i Wi-Fi na wszystkich urządzeniach z systemem iOS. Globalna sieć serwerów i inteligentna metoda testowania prędkości zapewniają dokładne wyniki.

WiFi Speed Test- Jest kompatybilny z telefonami z systemem Android. Jest to płatne narzędzie. Za pomocą tego narzędzia możesz przetestować szybkość swojej sieci lokalnej (LAN). Testowanie można przeprowadzić w sieci bezprzewodowej (WiFi) lub przewodowej.

Lokalizacja i globalizacja

Zapoznaj się z poniższą listą kontrolną, aby mieć pojęcie o testowaniu lokalizacji i globalizacji dla urządzenia mobilnego.

Sr.No. Opis
1 Tekst jest przetłumaczony.
2 Tłumaczenia odpowiadają standardom native speakerów pod względem gramatyki i poprawności terminologii.
3 Okna dialogowe są odpowiednio zmieniane, a tekst w nich jest dzielony zgodnie z regułami języka interfejsu użytkownika.
4 Przetłumaczone okna dialogowe, paski stanu, paski narzędzi i menu mieszczą się na ekranie w różnych rozdzielczościach. Nie zawijają się i nie są odcinane.
5 Akceleratory menu i okien dialogowych są wyjątkowe.
6 Układ wizualny jest zgodny z układem wydania natywnego. Na przykład elementy okna dialogowego mają odpowiednią kolejność zakładek.

Testowanie baz danych

Istnieją różne sposoby przechowywania danych w aplikacjach mobilnych. W przypadku systemu Android możesz zdecydować się na przechowywanie danych na serwerze, w udostępnionych preferencjach lub w SQLite.

SQLiteto lekka baza danych, która jest powszechnie używana w systemie Android i innych systemach operacyjnych. Aby wyświetlić dane w SQLite, może być konieczne zrootowanie urządzenia lub użycie emulatorów do testowania. W Android Playstore jest kilka narzędzi, które pomogą Ci wyodrębnić dane z tej bazy danych.

Następujące typy testów powinny stanowić część testów Twojej mobilnej bazy danych -

  • Testowanie poprawności bazy danych.
  • Testowanie integracji baz danych.
  • Testowanie wydajności baz danych.
  • Testowanie procedur i funkcji.
  • Testowanie wyzwalaczy.
  • Testowanie operacji CRUD (tworzenie / odczytywanie / aktualizowanie / usuwanie) w celu upewnienia się, że będą działać w bazie danych.
  • Testowanie, czy zmiany bazy danych są poprawnie wyświetlane w interfejsie użytkownika aplikacji.
  • Testowanie funkcji wyszukiwania i indeksowania.

Test regeneracji

Testy odtwarzania służą do zapewnienia kontynuacji operacji po awarii. Testy regeneracyjne weryfikują nie tylko proces odzyskiwania, ale także skuteczność części składowych tego procesu.

Testowanie odzyskiwania to czynność polegająca na sprawdzaniu, jak dobrze aplikacja jest w stanie odzyskać sprawność po awarii, awariach sprzętu i innych podobnych problemach. Poniżej znajduje się lista kontrolna do testowania odzyskiwania.

Sr.No Opis
1 Zachowane są odpowiednie dane kopii zapasowej.
2 Kopie zapasowe danych są przechowywane w bezpiecznym miejscu.
3 Procedury odzyskiwania są udokumentowane.
4 Cały plik multimedialny został odzyskany z punktu przywracania
5 Wszystkie kontakty zostały odzyskane
6 Wszystkie aplikacje zostały pomyślnie przywrócone

Testowanie współbieżności

Zwykle korzystamy z testowania współbieżnego, aby upewnić się, że wielu użytkowników może jednocześnie uzyskać dostęp do programu w tym samym czasie. W przypadku testowania współbieżności na urządzeniu mobilnym będzie tylko jeden użytkownik. Dzięki temu eliminuje potrzebę testowania współbieżności na urządzeniu mobilnym.

Test użyteczności

Zwykle dostajesz platformę, w której telefon komórkowy i kamerę internetową można dostosować do nagrywania sesji oceny użyteczności.

Dostępne są narzędzia, takie jak Aplauz . Zapewniają docelową grupę uczestników ankiety, którzy są starannie wybierani do testowania Twojej aplikacji. Tym, co odróżnia Applause od innych tego typu usług, jest możliwość konsultacji z ekspertem w Applause, który następnie wybiera idealnych uczestników na podstawie konsultacji.

Poniżej znajduje się ogólna lista kontrolna do testowania GUI.

Sr.No. Opis
1 Czy aplikację można zainstalować na urządzeniu?
2 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami w przypadku połączenia przychodzącego?
3 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami w przypadku przychodzących wiadomości SMS?
4 Czy aplikacja zachowuje się tak, jak została zaprojektowana / pożądana, jeśli podłączona jest ładowarka?
5 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, jeśli ładowarka jest odłączona?
6 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, jeśli urządzenie przechodzi w tryb uśpienia.
7 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, jeśli urządzenie wznawia działanie z trybu uśpienia.
8 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, jeśli urządzenie wznawia pracę po zablokowaniu ekranu?
9 Czy aplikacja zachowuje się zgodnie z projektem / oczekiwaniami, jeśli urządzenie jest przechylone?
10 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, jeśli urządzenie jest potrząsane?
11 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, jeśli lokalna wiadomość pochodzi z innej aplikacji (pomyśl o: przypomnieniach kalendarza, zadaniach do wykonania itp.).
12 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, jeśli wiadomość push pochodzi z innej aplikacji (pomyśl: wzmianki na Twitterze, wiadomość Whatsapp itp.).
13 Czy aplikacja prawidłowo współdziała z czujnikiem GPS (włączanie / wyłączanie, pobieranie danych GPS)?
14 Czy funkcjonalność wszystkich przycisków lub klawiszy na urządzeniu jest zdefiniowana dla tej aplikacji?
15 Sprawdź, czy przyciski lub klawisze, które nie mają zdefiniowanej funkcji, nie działają w aplikacji w nieoczekiwany sposób podczas aktywacji.
16 Jeśli na urządzeniu jest dostępny prawdziwy przycisk „Wstecz”, czy przycisk „Wstecz” przenosi użytkownika do poprzedniego ekranu?
17 Jeśli na urządzeniu jest dostępny prawdziwy przycisk „menu”, czy przycisk menu pokazuje menu aplikacji?
18 Jeśli na urządzeniu jest dostępny prawdziwy przycisk „Strona główna”, czy przycisk strony głównej przenosi użytkownika z powrotem do ekranu głównego urządzenia?
19 Jeśli na urządzeniu jest dostępny prawdziwy przycisk „szukaj”, czy prowadzi to użytkownika do jakiejś formy wyszukiwania w aplikacji?
20 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, jeśli pojawi się komunikat „Niski poziom baterii”
21 Czy aplikacja zachowuje się zgodnie z założeniami / oczekiwaniami, jeśli dźwięk na urządzeniu jest wyłączony?
22 Czy aplikacja zachowuje się zgodnie z przeznaczeniem / oczekiwaniami, jeśli urządzenie jest w trybie samolotowym?
23 Czy aplikację można odinstalować z urządzenia?
24 Czy aplikacja działa zgodnie z oczekiwaniami po ponownej instalacji?
25 Czy aplikację można znaleźć w sklepie z aplikacjami? (Sprawdź po uruchomieniu)
26 Czy aplikacja może przełączać się na różne aplikacje na urządzeniu poprzez wielozadaniowość zgodnie z projektem / wymaganiami?
27 Czy wszystkie pozycje ekranu dotykowego (przyciski) działają, gdy używana jest osłona ekranu.

ZA testing framework a dokładniej a testing automatyzacja framework to środowisko wykonawcze do wykonania automated tests. Jest to ogólny system, w którym testy będą zautomatyzowane. Jest definiowany jako zbiór założeń, koncepcji i praktyk, które stanowią platformę pracy lub wsparcie dla testów automatycznych.

Framework testowy jest odpowiedzialny za -

  • Określenie formatu, w jakim należy wyrazić oczekiwania
  • Stworzenie mechanizmu podpięcia do testowanej aplikacji lub sterowania nią
  • Wykonywanie testów i raportowanie wyników

Architektura ramowa

Ogólna architektura frameworka testowego jest następująca -

Do automatyzacji testów mobilnych potrzebujemy dobrej struktury testowania automatyzacji mobilnej. W oparciu o ten framework możemy budować nasze przypadki testowe. Struktury testowania automatyzacji mobilnej można segregować według systemu operacyjnego urządzenia mobilnego. W kolejnych rozdziałach omówimy dwa typy platform testowych dla urządzeń mobilnych: ramy testowe dla systemu Android i struktury testowe dla systemu iOS.

Na rynku dostępnych jest wiele platform testowych dla Androida. Przyjrzyjmy się pierwszej piątce na stosie.

  • Robotium- Robotium to platforma testowa typu open source do tworzenia scenariuszy testów funkcjonalnych, systemowych i akceptacyjnych. Jest bardzo podobny do selenu.

  • UIAutomator- UIAutomator to platforma testowa firmy Google, która zapewnia zaawansowane testy interfejsu użytkownika natywnych aplikacji i gier na Androida. Posiada bibliotekę Java zawierającą API do tworzenia testów funkcjonalnych UI, a także silnik wykonawczy do uruchamiania testów.

  • Appium- Appium to platforma do automatyzacji testów typu open source do testowania natywnych i hybrydowych aplikacji oraz mobilnych aplikacji internetowych. Funkcje biblioteki Appium wewnątrz frameworka wykonują wywołania serwera Appium działającego w tle, który obsługuje podłączone urządzenie.

  • Calabash- Calabash to funkcjonalna platforma testowa, której można używać do testowania funkcjonalnego systemu iOS i Android. Na papierze musi to być jeden z najłatwiejszych w użyciu frameworków, a nawet osoby niebędące programistami powinny mieć możliwość tworzenia testów funkcjonalnych przy jego użyciu.

  • Selendroid- Selendroid jest stosunkowo nowym dzieckiem na rynku i może być używany do testowania funkcji aplikacji na Androida. Najwyraźniej, jeśli jesteś przyzwyczajony do Selenium, Selendroid powinien być łatwym sposobem na wykorzystanie swojej wiedzy do tworzenia testów funkcjonalnych dla Androida.

Podobnie jak platformy testowe na Androida, na rynku dostępnych jest wiele struktur testowych iOS. Tutaj porozmawiamy o kilku popularnych.

  • Appium- Appium to platforma do automatyzacji testów typu open source do testowania natywnych i hybrydowych aplikacji oraz mobilnych aplikacji internetowych. Funkcje biblioteki Appium wewnątrz frameworka wywołują serwer Appium działający w tle, który obsługuje podłączone urządzenie.

  • Calabash- Calabash to funkcjonalna platforma testowa, której można używać do testowania funkcjonalnego systemu iOS i Android. Na papierze musi to być jeden z najłatwiejszych w użyciu frameworków, a nawet osoby niebędące programistami powinny mieć możliwość tworzenia testów funkcjonalnych przy jego użyciu.

  • Zucchini - Zucchini to wizualna platforma testowania funkcjonalnego typu open source dla aplikacji iOS oparta na automatyzacji Apple UIA.

  • UI Automation- W przypadku bardziej typowych testów funkcjonalnych (lub testów czarnoskrzynkowych), w których zamierzasz napisać kod symulujący użytkownika końcowego poruszającego się po aplikacji, dostępna jest automatyzacja interfejsu użytkownika. Automatyzacja interfejsu użytkownika jest dostarczana przez Apple i jest usankcjonowanym przez Apple sposobem przeprowadzania testów funkcjonalnych iOS.

  • FRANK – BDD for iOS - Jeśli chcesz przeprowadzić kompleksowe testy w systemie iOS i chciałbyś używać BDD i Cucumber, nie martw się - istnieje narzędzie o nazwie Frank które pozwolą Ci na tworzenie testów akceptacyjnych i wymagań przy użyciu Cucumber.

Porównanie różnych platform testowych

Robotium to platforma testowa typu open source do pisania automatycznych przypadków testowych w szarej skrzynce dla aplikacji na Androida. Przy wsparciu oprogramowania Robotium programiści przypadków testowych mogą pisać scenariusze testów funkcji, systemu i testów akceptacyjnych, obejmujące wiele działań na Androida.

Robotium może być używane zarówno do testowania aplikacji, w których dostępny jest kod źródłowy, jak i aplikacji, w których dostępny jest tylko plik APK.

Korzyści z Robotium

  • Łatwy do napisania, krótszy kod. Minimalny czas potrzebny na napisanie solidnych przypadków testowych.

  • Możesz tworzyć potężne przypadki testowe przy minimalnej wiedzy o testowanej aplikacji.

  • Struktura automatycznie obsługuje wiele działań systemu Android. Czytelność przypadków testowych jest znacznie lepsza w porównaniu ze standardowymi testami oprzyrządowania.

  • Automatyczny czas i opóźnienia.

  • Automatycznie śledzi bieżącą aktywność.

  • Automatycznie znajduje widoki.

  • Automatycznie podejmuje własne decyzje (np. Kiedy przewijać itp.)

  • Brak modyfikacji platformy Android.

  • Wykonanie testów jest szybkie.

  • Przypadki testowe są bardziej niezawodne ze względu na powiązanie w czasie wykonywania z komponentami GUI.

  • Płynnie integruje się z Maven lub Ant.

Wady Robotium

  • Robotium nie obsługuje komponentów Flash ani Web.

  • Obsługuje tylko jedną aplikację naraz.

  • Nie może symulować klikania na klawiaturze programowej za pomocą Robotium (należy użyć funkcji „enterText ()”, aby wprowadzić tekst do pola EditText)

  • Robotium nie może wchodzić w interakcje z powiadomieniami na pasku stanu - oznacza to, że należy rozwinąć obszar powiadomień i kliknąć określone powiadomienie.

  • Może działać trochę wolno, zwłaszcza na starszych urządzeniach.

Jak korzystać z Robotium

Step 1- Warunkiem korzystania z oprogramowania Robotium jest Java SDK (minimum 1,6). Jeśli nie masz zainstalowanej Javy w swoim systemie, wykonaj czynności podane poniżej.

  • Pobierz JDK i JRE z Oracle Technology Network

  • Zaakceptuj umowę licencyjną.

  • Zainstaluj JDK i JRE.

  • Ustaw zmienną środowiskową, jak pokazano na zrzucie ekranu poniżej.

Step 2- Pobierz Android Studio z Android Studio

  • Kliknij dwukrotnie plik exe i uruchom instalator.
  • Kontynuuj ze wszystkimi domyślnymi opcjami.
  • Ustaw ANDROID_HOME.

Step 3 - Zainstaluj obrazy i narzędzia Androida.

  • Kliknij Menedżer SDK -
  • Wybierz odpowiedni pakiet. Na przykład, jeśli tworzymy aplikację na Androida 4.4.2, upewnij się, że następujące pakiety są zaznaczone w sekcji Narzędzia -

    • Narzędzia Android SDK w wersji 22.6.3
    • Narzędzia platformy Android w wersji 19.0.1
    • Narzędzia do tworzenia zestawu SDK systemu Android w wersji 19.1

Step 4 - Utwórz urządzenia wirtualne z systemem Android.

  • Otwórz Android Studio i kliknij AVD Manager na pasku narzędzi. AVD pozwalają nam testować i uruchamiać nasze aplikacje na Androida.
  • Użyj tych ustawień dla Nexusa5 AVD -

    • Urządzenie - Nexus 5 (4,95, 1080 x 1920; xxhdpi)
    • Cel - interfejsy API Google x86 (Google Inc.) - poziom API 19
    • (Upewnij się, że wybierasz cel z interfejsami API Google w nazwie).
    • CPU - Intel Atom (x86)
    • Zaznacz pole Użyj GPU hosta
    • Kliknij OK
  • Powinieneś teraz zobaczyć AVD, który utworzyłeś w Menedżerze AVD, gdzie możesz go uruchomić, usunąć lub utworzyć kolejny!

Step 5- Plik Robotium Jar Pobierz plik Robotium Jar z RobotiumTech

Przetestuj aplikację za pomocą Robotium

Aby przetestować aplikację za pomocą Robotium, wykonaj czynności podane poniżej -

Step 1 - Utwórz projekt testowy w Android Studio o nazwie „RobotiumTest”.

Wybierz wszystkie domyślne opcje, aż dojdziesz do strony głównej.

Step 2 - Skopiuj plik jar Robotium do folderu Lib projektu.

Step 3 - Dodaj zależność w pliku build.gradle pod src teczka.

androidTestCompile „com.jayway.android.robotium: robotium-solo-5.5.3”

Step 4 - Zsynchronizuj Gradle.

Step 5 - Utwórz klasę Test w następujący sposób -

package com.example;

import com.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.EditText;
import android.widget.TextView;

public class MyTestClass extends ActivityInstrumentationTestCase2<TestActivity>{

   private Solo solo;

   public MyTestClass() {
      super(TestActivity.class);
   }

   public void setUp() throws Exception {
      solo = new Solo(getInstrumentation(), getActivity());
   }

   public void testCase() throws Exception {
      String vResult="TestExample";
      EditText vEditText = (EditText) solo.getView(R.id.edit1);
      solo.clearEditText(vEditText);
      solo.enterText(vEditText,"TestExample");
      solo.clickOnButton("Submit");
      assertTrue(solo.searchText(vResult));
      TextView textField = (TextView) solo.getView(R.id.txt1);
      //Assert to verify result with visible value
      assertEquals(vResult, textField.getText().toString());
   }

   @Override
   public void tearDown() throws Exception {
      solo.finishOpenedActivities();
   }
}

Step 6- Zapisz wszystkie zmiany. Upewnij się, że nie ma błędów.

Step 7- Teraz uruchom test. Jeśli przypadek testowy się powiedzie, powinieneś zobaczyć następujące dane wyjściowe!

Selendroid to platforma automatyzacji testów do testowania natywnych i hybrydowych aplikacji systemu Android. Testy Selendroid są pisane przy użyciu klienta API Selenium Webdriver.

Korzyści z Selendroid

  • W pełni kompatybilny z protokołem JSON Wire / Selenium 3 Ready.

  • Nie jest wymagana modyfikacja testowanej aplikacji w celu jej zautomatyzowania.

  • Testowanie sieci mobilnej za pomocą wbudowanej aplikacji webview dla sterowników na Androida.

  • Ta sama koncepcja automatyzacji aplikacji natywnych lub hybrydowych.

  • Elementy interfejsu użytkownika można znaleźć za pomocą różnych typów lokalizatorów.

  • Obsługiwane są gesty: Advanced User Interactions API.

  • Istniejące emulatory są uruchamiane automatycznie.

  • Selendroid obsługuje podłączanie urządzeń sprzętowych na gorąco.

  • Pełna integracja jako węzeł w Selenium Grid w celu skalowania i równoległego testowania.

  • Obsługa wielu docelowych interfejsów API systemu Android (od 10 do 19).

  • Wbudowany Inspector w celu uproszczenia tworzenia przypadków testowych.

  • Selendroid można rozszerzyć w czasie wykonywania za pomocą własnych rozszerzeń.

  • Selendroid może współdziałać z wieloma urządzeniami z Androidem (emulatorami lub urządzeniami sprzętowymi) w tym samym czasie.

Wady Selendroid

Wadą tego narzędzia jest to, że jest dość powolne i na niektórych komputerach z mniej niż 4 GB pamięci RAM jest bezużyteczne.

Jak korzystać z Selendroid

Step 1- Warunkiem korzystania z oprogramowania Robotium jest Java SDK (minimum 1,6). Jeśli nie masz zainstalowanej Javy w swoim systemie, wykonaj czynności podane poniżej.

  • Pobierz JDK i JRE z Oracle JavaSE

  • Zaakceptuj umowę licencyjną.

  • Zainstaluj JDK i JRE.

  • Ustaw zmienną środowiskową, jak pokazano na zrzucie ekranu poniżej.

Step 2- Pobierz Android Studio z SDK Android (zajmie to trochę czasu ze względu na rozmiar pliku).

  • Kliknij dwukrotnie plik exe i uruchom instalator.
  • Kontynuuj ze wszystkimi domyślnymi opcjami.
  • Ustaw ANDROID_HOME.

Step 3- Pobierz pliki jar Selenium i aplikację testową z Selendroid

  • Pobierz plik słoika selenu i aplikację testową.
  • Umieść go w dowolnym folderze, np. D: \ SelendroidJars.

Step 4 - Urządzenie fizyczne z kablem USB.

  • Upewnij się, że urządzenie jest podłączone do stacji roboczej za pomocą kabla USB.

  • Upewnij się, że tryb debugowania USB (w ustawieniach → Opcje programisty) jest włączony.

Przetestuj aplikację za pomocą Selendroid

Aby przetestować aplikację za pomocą Selendroid, wykonaj kroki podane poniżej -

Step 1 - Zainstaluj Eclipse.

Step 2 - Utwórz projekt Java.

Step 3 - Dodaj pobrany plik jar Selendroid do nowo utworzonego projektu.

Step 4 - Dodaj pobrane pliki jar Selenium do nowo utworzonego projektu.

Step 5 - Skonfiguruj testNG w Eclipse.

Step 6- Połącz urządzenia mobilne z systemem za pomocą kabla USB. Ustaw tryb debugowania USB w opcjach programisty w ustawieniach.

Step 7- Uruchom serwer Selendroid. Otwórz wiersz polecenia i napisz następujący kod i naciśnij Enter -

java -jar selendroid-standalone-0.17.0-with-dependencies.jar -app selendroid-test-app-0.17.0.apk

Autonomiczny Selendroid uruchomi serwer http na porcie 4444 i przeskanuje wszystkie urządzenia wirtualne z Androidem (avd), które utworzył użytkownik (~ / .android / avd /).

Otwórz przeglądarkę internetową i przejdź do: http://localhost:4444/wd/hub/status.

Step 8- Utwórz projekt Java; dodaj biblioteki Selendroid Standalone, Selenium Jars i JUnit do ścieżki kompilacji.

Step 9 - Utwórz pakiet w ramach projektu Java.

Step 10 - Utwórz klasę pod pakietem i napisz następujący kod.

package selTest;

import io.selendroid.SelendroidDriver; 
import io.selendroid.common.SelendroidCapabilities;
import io.selendroid.standalone.SelendroidConfiguration;
import io.selendroid.standalone.SelendroidLauncher;

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 

import org.testng.Assert; 
import org.testng.annotations.AfterSuite; 
import org.testng.annotations.BeforeSuite; 
import org.testng.annotations.Test;

public class SelendroidTest {

   private WebDriver driver ;

   @BeforeSuite 
   public void setUp() throws Exception {
      SelendroidConfiguration config = new SelendroidConfiguration();
      config.addSupportedApp("selendroid-test-app-0.9.0.apk");
      SelendroidLauncher selendroidServer = new SelendroidLauncher(config);
      selendroidServer.launchSelendroid();
	  
      SelendroidCapabilities caps = new
         SelendroidCapabilities("io.selendroid.testapp:0.9.0"); 
      driver = new SelendroidDriver(caps);
   }
   
   @Test 
   public void selendroidTest() throws Exception {
      WebElement inputField = driver.findElement(By.id("my_text_field"));
      Assert.assertEquals("true", inputField.getAttribute("enabled"));
      inputField.sendKeys("Selendroid");
      
      Assert.assertEquals("Selendroid", inputField.getText());
	  
      WebElement button = driver.findElement(By.id("buttonTest"));
      button.click();
	  
      button = driver.findElement(By.id("button2"));
      button.click();
      
      Thread.sleep(5000);
	  
      button = driver.findElement(By.id("startUserRegistration"));
      button.click();
      
      Thread.sleep(10000);
	  
      WebElement element = driver.findElement(By.id("label_username")); 
      
      String text = element.getText();
      System.out.println(text);
      element = driver.findElement(By.id("inputUsername"));
      element.sendKeys("bob");
      
      element = driver.findElement(By.id("inputEmail"));
      element.sendKeys("[email protected]"); 
      
      element = driver.findElement(By.id("inputPassword"));
      element.clear();
      element.sendKeys("test1233");
      
      element = driver.findElement(By.id("inputName"));
      element.clear(); 
      element.sendKeys("My Name ");
	  
      element = driver.findElement(By.id("input_preferedProgrammingLanguage")); 
      element.click();
      
      element = driver.findElement(By.id("text1"));
      element.click();
	  
      element = driver.findElement(By.id("input_adds"));
      element.click();
	  
      element = driver.findElement(By.id("btnRegisterUser"));
      element.click();
      
      element = driver.findElement(By.id("buttonRegisterUser"));
      element.click(); 
   }
   
   @AfterSuite 
   public void tearDown(){ 
      driver.quit(); 
   } 
}

Step 11 - Uruchom klasę z konfiguracją uruchamiania testNG.

Appium to platforma do automatyzacji testów typu open source do testowania natywnych i hybrydowych aplikacji oraz mobilnych aplikacji internetowych. Obsługuje aplikacje iOS i Android przy użyciu protokołu WebDriver.

Zalety Appium

  • Jest darmowy i (w większości) open source.

  • Ma bardzo dobrze obsługiwaną i aktywną grupę Google.

  • Jest w specyfikacji Selenium 3, więc powinno być przyszłościowe.

  • Obsługuje zarówno Androida, jak i iOS.

  • Nie wymaga żadnej instalacji na urządzeniu - nie wymaga serwera ani zmian w kodzie.

Wady Appium

  • Brak obsługi inteligentnego oczekiwania.
  • W systemie iOS możesz wykonać tylko jeden test naraz na komputerze Mac.
  • Ograniczona obsługa gestów.
  • Ograniczona obsługa Androida <4.1

Jak korzystać z Appium

Step 1- Warunkiem korzystania z Appium jest Java SDK (minimum 1,6). Jeśli nie masz zainstalowanej Javy w swoim systemie, wykonaj czynności podane poniżej.

  • Pobierz JDK i JRE z Oracle JavaSE

  • Zaakceptuj umowę licencyjną.

  • Zainstaluj JDK i JRE.

  • Ustaw zmienną środowiskową, jak pokazano na zrzucie ekranu poniżej.

Step 2- Pobierz Android Studio z SDK (zajmie to trochę czasu ze względu na rozmiar pliku).

  • Kliknij dwukrotnie plik exe i uruchom instalator.
  • Kontynuuj ze wszystkimi domyślnymi opcjami.
  • Ustaw ANDROID_HOME.

Step 3 - Zainstaluj obrazy i narzędzia Androida.

  • Kliknij Menedżer SDK -
  • Wybierz odpowiedni pakiet. Na przykład, jeśli tworzymy aplikację na Androida 4.4.2, upewnij się, że następujące pakiety są zaznaczone w sekcji Narzędzia -

    • Narzędzia Android SDK w wersji 22.6.3
    • Narzędzia platformy Android w wersji 19.0.1
    • Narzędzia do tworzenia zestawu SDK systemu Android w wersji 19.1

Step 4 - Tworzenie urządzeń wirtualnych z systemem Android -

  • Otwórz Android Studio i kliknij AVD Manager na pasku narzędzi. AVD pozwalają nam testować i uruchamiać nasze aplikacje na Androida.

  • Użyj tych ustawień dla Nexusa5 AVD -

    • Urządzenie: Nexus 5 (4,95, 1080 x 1920; xxhdpi)

    • Cel: interfejsy API Google x86 (Google Inc.) - poziom API 19

    • Upewnij się, że wybierasz cel z interfejsami API Google w nazwie.

    • PROCESOR: Intel Atom (x86)

    • Zaznacz pole Użyj GPU hosta

    • Kliknij OK.

  • Powinieneś teraz zobaczyć AVD, który utworzyłeś w Menedżerze AVD, gdzie możesz go uruchomić, usunąć lub utworzyć kolejny!

Step 5- Pobierz pliki jar Appium z Appium

Przetestuj aplikację za pomocą Appium

Aby przetestować aplikację z Appium, wykonaj kroki podane poniżej -

Step 1 - Utwórz projekt testowy w Android Studio o nazwie „RobotiumTest”.

Wybierz wszystkie domyślne opcje, aż dojdziesz do strony głównej.

Step 2- Dodaj słoiki Appium do swojego projektu. Kliknij Projekt → Aplikacja → skopiuj wszystkie słoiki w bibliotece. Wybierz skopiowane słoiki z wyjątkiem Selenium, klienta Java i Junit Jar, a następnie kliknij prawym przyciskiem myszy i kliknij „Dodaj jako bibliotekę”.

Step 3- Kliknij build.gradle w aplikacji. Zobaczysz wszystkie dodane biblioteki, jak pokazano na poniższym zrzucie ekranu.

Step 4 - Teraz utwórz klasę Java, jak pokazano poniżej -

AppiumDriver driver;
@Before
public void testCaseSetup()throws Exception {
   //service.start();
   //reader.readFile();

   DesiredCapabilities cap = new DesiredCapabilities();
	
   cap.setCapability(MobileCapabilityType.PLATFORM_NAME,"Android");
   cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device");
   cap.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "4000");
   cap.setCapability(MobileCapabilityType.APP, "c://apk//sample.apk");
	
   driver = new AndroidDriver<MobileElement>("http://127.0.0.1:4444/wd/hub",cap);
}

@Test
public void testcase1()throws Exception {
   driver.findElementByID("Example").click();
   Asser.assertTrue(driver.findElementByID("Example").isDisplayed));
}

@After
public void testCaseTearDown() {
   driver.quit();
}

Step 5 - Uruchomienie przypadku testowego.

  • Kliknij wariant kompilacji i wybierz Testowanie jednostkowe.
  • Uruchom serwer Appium z określonym portem „4444”.
    • Pobierz Appium dla Windows stąd.
    • Kliknij dwukrotnie plik .exe i zainstaluj Appium.
    • Kliknij ikonę, aby wyświetlić interfejs użytkownika.
    • W razie potrzeby zmień port, jak pokazano poniżej.
    • Kliknij przycisk Odtwórz, aby uruchomić serwer.
  • Podłącz urządzenie z włączonym debugowaniem USB lub uruchom emulator.
  • Kliknij prawym przyciskiem myszy klasę testową i kliknij „Uruchom”.

Zucchini to nowa platforma testowa, która wykorzystuje język specyficzny dla domeny (DSL) w stylu BDD. Jednym z jego obszarów zainteresowania jest uproszczenie testów akceptacyjnych napisanych za pomocą Selenium.

Nie zastępuje JBehave ani Robot Framework, jak zobaczysz później. Tutaj damy Ci wgląd w koncepcje cukinii, opisując krok po kroku przykład.

Jak zainstalować cukinię

Wymagania wstępne do zainstalowania Zucchini to XCode 4.2. Ponadto wymaganych jest kilka narzędzi wiersza poleceń, takich jak brew update && brew install imagemagick && brew install coffee-script.

Jak korzystać z cukinii

  • gem install zucchini-ios

  • Cukinia nie wymaga wprowadzania żadnych modyfikacji w kodzie aplikacji. Równie dobrze możesz zachować testy cukinii w osobnym projekcie.

  • Zacznij od stworzenia rusztowania projektu

  • zucchini generate --project /path/to/my_project

  • Utwórz szkielet funkcji dla swojej pierwszej funkcji

  • zucchini generate --feature /path/to/my_project/features/my_feature

  • Rozpocznij hakowanie, modyfikując features/my_feature/feature.zucchini i features/support/screens/welcome.coffee.

  • Alternatywnie, sprawdź projekt demo cukinii, zawierający łatwą do zbadania konfigurację cukinii wokół próbki CoreDataBooks firmy Apple.

Działa na urządzeniu

  • Dodaj swoje urządzenie do features/support/config.yml.

  • Plik udidetect narzędzie przydaje się, jeśli planujesz od czasu do czasu dodawać urządzenia - udidetect -z.

    ZUCCHINI_DEVICE="My Device" zucchini run /path/to/my_feature

  • Działa na symulatorze iOS. Gorąco zachęcamy do uruchamiania funkcji Cucchini na prawdziwym sprzęcie. Możesz jednak uruchomić je w symulatorze iOS, jeśli musisz.

    • Po pierwsze, zmodyfikuj plik features/support/config.ymlaby dołączyć pełną ścieżkę do skompilowanej aplikacji. Na przykład,

      aplikacja: /Users/vaskas/Library/Developer/Xcode/DerivedData/CoreDataBooks-ebeqiuqksrwwoscupvxuzjzrdfjz/Build/Products/Debug-iphonesimulator/CoreDataBooks.app

    • Po drugie, dodaj wpis `` Symulator iOS '' do sekcji urządzeń (nie jest potrzebny UDID) i upewnij się, że podajesz rzeczywistą wartość dla `` ekranu '' na podstawie ustawień symulatora iOS -

  • Uruchom to jak -

    ZUCCHINI_DEVICE="iOS Simulator" zucchini run /path/to/my_feature

Wyświetlanie wyników