mobile app testing tutorials
Kompletny przewodnik po testowaniu aplikacji mobilnych ze szczegółowymi samouczkami:
Technologia mobilna i inteligentne urządzenia są obecnie trendem i zmienią przyszłość świata, jaki znamy. Wszyscy możemy ręczyć to, prawda? Teraz będzie amatorsko, jeśli wymienię, do czego używamy tych urządzeń mobilnych. Wszyscy to wiecie - może lepiej niż my.
Przejdźmy od razu do tego, o czym będzie ten samouczek.
Pełna lista ponad 30 samouczków testowania mobilnego:
Wprowadzenie do testów mobilnych:
Samouczek nr 1: Wprowadzenie do testów mobilnych
Samouczek nr 2: Testowanie aplikacji na iOS
Samouczek nr 3: Testowanie aplikacji na Androida
Samouczek nr 4 : Wyzwania i rozwiązania w zakresie testów mobilnych
Samouczek nr 5: Dlaczego testy mobilne są trudne?
Testowanie urządzeń mobilnych:
Samouczek nr 6: Przetestuj wersję Androida po wycofaniu jej z rynku
Samouczek nr 7 : Jak testować aplikacje mobilne na urządzeniach z niższej półki
Samouczek nr 8 : Testy terenowe dla aplikacji mobilnych
Samouczek nr 9: Model telefonu a wersja systemu operacyjnego: co należy najpierw przetestować?
Testowanie mobilnego interfejsu użytkownika:
Samouczek nr 10: Testowanie interfejsu użytkownika aplikacji mobilnych
Samouczek nr 11: Test responsywności na urządzeniach mobilnych
Usługi testowania urządzeń mobilnych:
Samouczek nr 12: Testowanie aplikacji mobilnych w chmurze
Samouczek nr 13: Usługi testowania urządzeń mobilnych
Samouczek nr 14 : Usługi testowania wersji beta aplikacji mobilnych
Samouczek nr 15: Firma zajmująca się tworzeniem aplikacji mobilnych
Samouczek nr 16: Dostawcy usług testowania aplikacji mobilnych w chmurze
Testowanie wydajności i bezpieczeństwa aplikacji mobilnych:
Samouczek nr 17: Testowanie wydajności aplikacji mobilnych za pomocą BlazeMeter
Samouczek nr 18 : Wytyczne dotyczące testowania bezpieczeństwa aplikacji mobilnych
Mobilne narzędzia testowe:
Samouczek nr 19: Narzędzia do testowania aplikacji na Androida
Samouczek nr 20: Najlepsze narzędzia do testowania bezpieczeństwa aplikacji mobilnych
Samouczek nr 21: 58 najlepszych narzędzi do testowania urządzeń mobilnych
Testowanie automatyzacji mobilnej:
Samouczek nr 22: Samouczek narzędzia Appium Mobile Automation Tool
Samouczek nr 23: Samouczek Appium Studio
Samouczek nr 24: Zautomatyzuj aplikacje na Androida za pomocą narzędzia TestComplete
Samouczek nr 25 : Samouczek Robotium - narzędzie do testowania interfejsu użytkownika aplikacji na Androida
Samouczek nr 26: Samouczek Selendroid: Mobile Automation Framework
Samouczek nr 27: pCloudy Tutorial: Testowanie aplikacji mobilnych na rzeczywistych urządzeniach
Samouczek nr 28: Katalon Studio i samouczek dotyczący farmy urządzeń w chmurze Kobiton
Kariera w testach mobilnych:
Samouczek nr 29: Jak szybko uzyskać zlecenie testowania mobilnego
Samouczek nr 30: Pytania do rozmowy kwalifikacyjnej i CV dotyczące testowania mobilnego
Samouczek nr 31: Pytania do rozmowy kwalifikacyjnej na temat testowania mobilnego, część 2
************************************************* * **********
Zacznijmy od pierwszego samouczka z tej serii.
Czego się nauczysz:
- Samouczek nr 1: Wprowadzenie do testowania aplikacji mobilnych
- Rodzaje testów mobilnych
- Znaczenie testowania aplikacji mobilnych
- Podstawowa różnica między testowaniem aplikacji mobilnych i stacjonarnych:
- Rodzaje testowania aplikacji mobilnych:
- Strategia testowania aplikacji mobilnych
- Zalecane narzędzie
- Przypadki testowe do testowania aplikacji mobilnej
- Typowe czynności i postępowanie w Testowaniu Aplikacji Mobilnej
- Jak testować aplikacje mobilne na platformach Android i iOS
- Podstawowa różnica między testowaniem na Androida i iOS
- Kluczowe czynniki w testowaniu mobilnym
- Zdefiniuj własny zakres testowania
- Nie ograniczaj swoich testów
- Testowanie międzyplatformowe
- Zwróć uwagę na rozmiar swojej aplikacji mobilnej
- Testowanie scenariuszy uaktualnień aplikacji
- System operacyjny urządzenia może nie obsługiwać aplikacji
- Testowanie uprawnień aplikacji
- Porównaj z podobnymi i popularnymi aplikacjami na rynku
- Zapoznaj się z omówieniem kryterium odrzucenia kompilacji firmy Apple
- Zawsze bądź na przedniej stopie
- Utrzymuj aplikację w tle przez długi czas (12-24 godziny)
- Testowanie wydajności Twojej aplikacji
- Wniosek
- rekomendowane lektury
Samouczek nr 1: Wprowadzenie do testowania aplikacji mobilnych
Dawno minęły czasy, kiedy telefon był urządzeniem, które siedział w kącie i musiał dzwonić, aby zwrócić naszą uwagę lub komputer był maszyną, z której korzystało tylko kilka osób - teraz są przedłużeniem naszej istoty - oknem na światowi i wirtualni słudzy, którzy robią, co im się każe.
Komputery były wściekłe i zmieniły sposób, w jaki my, ludzie, myśleliśmy, zachowywaliśmy się, uczyliśmy się i istnieliśmy.
W dzisiejszych czasach rozwiązania mobilne opanowały rynek. Ludzie nie chcą włączać swoich laptopów / komputerów PC do wszystkiego, chcą raczej, aby ich urządzenia przenośne działały szybko.
Stąd rozwiązania mobilne, które dostarczamy naszym klientom, powinny być bardzo dobrze przetestowane. Ten samouczek jest przeznaczony dla osób, które już uczestniczą w testach mobilnych lub które ostatnio przeszły na niego. Ponieważ mamy już wiele samouczków na temat definicji terminologii związanych z testowaniem mobilnym, zajmiemy się bezpośrednio zakresem tego samouczka.
Ten samouczek będzie zarówno wprowadzeniem, jak i przewodnikiem po testach mobilnych. Więc przeczytaj!
Rodzaje testów mobilnych
Istnieją dwa rodzaje testów przeprowadzanych na urządzeniach mobilnych:
# 1. Testowanie sprzętu:
Urządzenie, w tym wewnętrzne procesory, sprzęt wewnętrzny, rozmiary ekranu, rozdzielczość, miejsce lub pamięć, kamera, radio, Bluetooth, WIFI itp. Jest to czasami określane jako „proste”Testowanie mobilne”.
# 2. Testowanie oprogramowania lub aplikacji:
Testowane są aplikacje działające na urządzeniach mobilnych i ich funkcjonalność. Nazywa się to „Testowanie aplikacji mobilnych”, Aby odróżnić ją od wcześniejszej metody. Nawet w aplikacjach mobilnych istnieje kilka podstawowych różnic, które są ważne do zrozumienia:
a) Aplikacje natywne: Natywna aplikacja jest tworzona do użytku na platformach takich jak telefony komórkowe i tablety.
b) Mobilne aplikacje internetowe to aplikacje po stronie serwera umożliwiające dostęp do witryn internetowych na urządzeniach mobilnych przy użyciu różnych przeglądarek, takich jak Chrome, Firefox, poprzez połączenie z siecią komórkową lub siecią bezprzewodową, taką jak WIFI.
c) Aplikacje hybrydowe to kombinacje aplikacji natywnej i aplikacji internetowej. Działają na urządzeniach lub w trybie offline i są napisane przy użyciu technologii internetowych, takich jak HTML5 i CSS.
Istnieje kilka podstawowych różnic, które je wyróżniają:
- Aplikacje natywne mają koligację z pojedynczą platformą, a mobilne aplikacje internetowe - międzyplatformowe.
- Aplikacje natywne są pisane na platformach, takich jak zestawy SDK, podczas gdy aplikacje internetowe na urządzenia mobilne są pisane przy użyciu technologii internetowych, takich jak HTML, CSS, asp.net, Java, PHP.
- W przypadku aplikacji natywnej instalacja jest wymagana, ale w przypadku mobilnych aplikacji internetowych instalacja nie jest wymagana.
- Aplikację natywną można aktualizować ze sklepu Play lub sklepu z aplikacjami, podczas gdy mobilne aplikacje internetowe są aktualizacjami scentralizowanymi.
- Wiele aplikacji natywnych nie wymaga połączenia z internetem, ale w przypadku mobilnych aplikacji internetowych jest to konieczność.
- Aplikacja natywna działa szybciej w porównaniu do mobilnych aplikacji internetowych.
- Aplikacje natywne są instalowane ze sklepów z aplikacjami, takich jak Sklep Google Play lub sklep z aplikacjami gdzie internet mobilny to strony internetowe dostępne tylko przez Internet.
Pozostała część artykułu będzie poświęcona testowaniu aplikacji mobilnych.
Znaczenie testowania aplikacji mobilnych
Testowanie aplikacji na urządzeniach mobilnych jest trudniejsze niż testowanie aplikacji internetowych na komputerze ze względu na
- Różna gama urządzeń mobilnych z różnymi rozmiarami ekranu i konfiguracjami sprzętowymi, takimi jak twarda klawiatura, wirtualna klawiatura (ekran dotykowy) i trackball itp.
- Szeroka gama urządzeń mobilnych jak HTC, Samsung, Apple i Nokia.
- Różne mobilne systemy operacyjne jak Android, Symbian, Windows, Blackberry i IOS.
- Różne wersje systemu operacyjnego jak iOS 5.x, iOS 6.x, BB5.x, BB6.x itp.
- Różni operatorzy sieci komórkowych jak GSM i CDMA.
- Częste aktualizacje (takie jak Android 4.2, 4.3, 4.4, iOS-5.x, 6.x) - przy każdej aktualizacji zalecany jest nowy cykl testowy, aby upewnić się, że nie ma to wpływu na działanie aplikacji.
Jak w przypadku każdej aplikacji, testowanie aplikacji mobilnych jest również bardzo ważne, ponieważ klientela jest zwykle w milionach dla określonego produktu - a produkt z błędami nigdy nie jest doceniany. Często skutkuje stratami pieniężnymi, problemami prawnymi i nieodwracalnym uszkodzeniem wizerunku marki.
Podstawowa różnica między testowaniem aplikacji mobilnych i stacjonarnych:
Kilka oczywistych aspektów, które odróżniają testowanie aplikacji mobilnych od testów stacjonarnych
- Na pulpicie aplikacja jest testowana na jednostce centralnej. Na urządzeniu mobilnym aplikacja jest testowana na telefonach Samsung, Nokia, Apple i HTC.
- Rozmiar ekranu urządzenia mobilnego jest mniejszy niż ekranu komputera.
- Urządzenia mobilne mają mniej pamięci niż komputery stacjonarne.
- Telefony używają połączeń sieciowych, takich jak 2G, 3G, 4G lub WIFI, gdzie komputery stacjonarne korzystają z połączeń szerokopasmowych lub dial-up.
- Narzędzie do automatyzacji używane do testowania aplikacji komputerowych może nie działać w aplikacjach mobilnych.
Rodzaje testowania aplikacji mobilnych:
Aby rozwiązać wszystkie powyższe aspekty techniczne, na aplikacjach mobilnych przeprowadza się następujące rodzaje testów.
- Test użyteczności - Aby upewnić się, że aplikacja mobilna jest łatwa w użyciu i zapewnia satysfakcjonującą obsługę klientom
- Testowanie zgodności - Testowanie aplikacji na różnych urządzeniach mobilnych, przeglądarkach, rozmiarach ekranu i wersjach systemu operacyjnego zgodnie z wymaganiami.
- Testowanie interfejsu - Testowanie opcji menu, przycisków, zakładek, historii, ustawień i przepływu nawigacji w aplikacji.
- Testowanie usług - Testowanie usług aplikacji online i offline.
- Testowanie zasobów niskiego poziomu : Testowanie wykorzystania pamięci, automatyczne usuwanie plików tymczasowych, rosnące problemy z lokalną bazą danych znane jako niskopoziomowe testowanie zasobów.
- Test wydajności - Testowanie działania aplikacji poprzez zmianę połączenia z 2G, 3G na WIFI, udostępnianie dokumentów, zużycie baterii itp.
- Testy operacyjne - Testowanie kopii zapasowych i planu odzyskiwania w przypadku rozładowania baterii lub utraty danych podczas uaktualniania aplikacji ze sklepu.
- Testy instalacji - Walidacja aplikacji poprzez zainstalowanie / odinstalowanie jej na urządzeniach.
- Testowanie bezpieczeństwa - Testowanie aplikacji w celu sprawdzenia, czy system informacyjny chroni dane, czy nie.
Strategia testowania aplikacji mobilnych
Strategia testów powinna zapewnić spełnienie wszystkich wytycznych dotyczących jakości i wydajności. Kilka wskazówek w tym obszarze:
1) Dobór urządzeń - Przeanalizuj rynek i wybierz urządzenia, które są szeroko stosowane. (Ta decyzja zależy głównie od klientów. Klient lub twórcy aplikacji biorą pod uwagę współczynnik popularności niektórych urządzeń, a także potrzeby marketingowe aplikacji, aby zdecydować, jakich telefonów używać do testowania).
2) Emulatory - Korzystanie z nich jest niezwykle przydatne w początkowe etapy rozwoju, ponieważ pozwalają na szybkie i sprawne sprawdzenie aplikacji. Emulator to system, który uruchamia oprogramowanie z jednego środowiska do innego bez zmiany samego oprogramowania. Duplikuje funkcje i działa w rzeczywistym systemie.
Rodzaje mobilnych emulatorów
- Emulator urządzenia - dostarczany przez producentów urządzeń
- Browser Emulator - symuluje środowiska przeglądarek mobilnych.
- Emulator systemów operacyjnych - Apple dostarcza emulatory dla iPhone'ów, Microsoft dla telefonów Windows i Google Android
Zalecane narzędzie
# 1) Kobiton
Kobiton to przystępna cenowo i bardzo elastyczna platforma mobilna oparta na chmurze, która przyspiesza testowanie i dostarczanie natywnych, internetowych i hybrydowych aplikacji na Androida i iOS przy użyciu rzeczywistych urządzeń. Ich nowa automatyzacja testów bez skryptów pomaga zespołom bez doświadczenia w kodowaniu z łatwością generować otwarte standardowe skrypty Appium.
jak tworzyć przypadki testowe junit w java
Lista kilku darmowych i łatwych w obsłudze emulatorów urządzeń mobilnych
ja. Emulator telefonu komórkowego - Służy do testowania telefonów, takich jak iPhone, Blackberry, HTC, Samsung itp.
ii. MobiReady - Dzięki temu możemy nie tylko przetestować aplikację internetową, ale także sprawdzić kod.
iii. Responsivepx - Sprawdza odpowiedzi stron internetowych, wygląd i funkcjonalność stron internetowych.
iv. Screenfly - Jest to konfigurowalne narzędzie i służy do testowania witryn internetowych w różnych kategoriach.
3) Po osiągnięciu satysfakcjonującego poziomu rozwoju aplikacji mobilnej można przejść do testowania w urządzenia fizyczne dla testów opartych na bardziej rzeczywistych scenariuszach.
4) Rozważ testowanie w chmurze: Chmura obliczeniowa to w zasadzie uruchamianie urządzeń w wielu systemach lub sieciach przez Internet, gdzie aplikacje mogą być testowane, aktualizowane i zarządzane. Do celów testowych tworzy internetowe środowisko mobilne na symulatorze, aby uzyskać dostęp do aplikacji mobilnej.
Plusy:
- Kopie zapasowe i odzyskiwanie - przetwarzanie w chmurze automatycznie wykonuje kopię zapasową danych ze zdalnej lokalizacji, ułatwiając odzyskiwanie i przywracanie danych. A także pojemność pamięci jest nieograniczona.
- Dostęp do chmur można uzyskać z różnych urządzeń iz dowolnego miejsca.
- Przetwarzanie w chmurze jest opłacalne, łatwe w użyciu, utrzymaniu i aktualizacji.
- Szybkie i szybkie wdrożenie.
- Interfejs sieciowy.
- Może równolegle uruchamiać ten sam skrypt na kilku urządzeniach.
Cons
- Mniejsza kontrola - Ponieważ aplikacja działa w środowisku zdalnym lub w środowisku innej firmy, użytkownik ma ograniczoną kontrolę i dostęp do funkcji.
- Problemy z łącznością internetową - konfiguracja jest w Internecie. Problemy z siecią wpływają na dostępność i funkcjonowanie
- Kwestie bezpieczeństwa i prywatności - Przetwarzanie w chmurze to przetwarzanie internetowe i nic w Internecie nie jest bezpieczne, więc szanse na włamanie do danych są większe.
5) Automatyzacja a testowanie ręczne
- Jeśli aplikacja zawiera nową funkcjonalność, przetestuj ją ręcznie.
- Jeśli aplikacja wymaga testów raz lub dwa, zrób to ręcznie.
- Zautomatyzuj skrypty dla przypadków testowych regresji. Jeśli testy regresji są powtarzane, testy automatyczne są do tego idealne.
- Zautomatyzuj skrypty dla złożonych scenariuszy, które są czasochłonne, jeśli są wykonywane ręcznie.
Do testowania aplikacji mobilnych dostępne są dwa rodzaje narzędzi do automatyzacji:
Narzędzia do testowania mobilnego oparte na obiektach - automatyzacja poprzez odwzorowanie elementów z ekranu urządzenia na obiekty. To podejście jest niezależne od rozmiaru ekranu i stosowane głównie w przypadku urządzeń z systemem Android.
- Np .: - Ranorex, rozwiązanie jamo
Narzędzia do testowania mobilnego oparte na obrazach - tworzyć skrypty automatyzacji na podstawie współrzędnych ekranowych elementów.
- Np .: - Sikuli, Egg Plant, RoutineBot
6) Sieć konfiguracja jest również niezbędną częścią testów mobilnych. Ważne jest, aby zweryfikować aplikację w różnych sieciach, takich jak 2G, 3G, 4G lub WIFI.
Przypadki testowe do testowania aplikacji mobilnej
Oprócz przypadków testowych opartych na funkcjonalności, testowanie aplikacji mobilnych wymaga specjalnych przypadków testowych, które powinny obejmować następujące scenariusze.
- Zużycie baterii - Ważne jest, aby śledzić zużycie baterii podczas uruchamiania aplikacji na urządzeniach mobilnych.
- Szybkość aplikacji czas odpowiedzi na różnych urządzeniach, z różnymi parametrami pamięci, z różnymi typami sieci itp.
- Wymagania dotyczące danych - Do instalacji, a także do sprawdzenia, czy użytkownik z ograniczonym pakietem danych będzie mógł go pobrać.
- Wymagana pamięć - ponownie, aby pobrać, zainstalować i uruchomić
- Funkcjonalność aplikacji - upewnij się, że aplikacja nie ulega awarii z powodu awarii sieci lub czegokolwiek innego.
ŚciągnijPrzykładowe przypadki testowe do testowania aplikacji mobilnych:
=> Pobierz przykładowe przypadki testowe aplikacji mobilnej
Typowe czynności i postępowanie w Testowaniu Aplikacji Mobilnej
Zakres testów zależy od szeregu wymagań do sprawdzenia lub zakresu zmian wprowadzonych w aplikacji. Jeśli zmian jest niewiele, runda zdrowie psychiczne testowanie wystarczy. W przypadku poważnych i / lub złożonych zmian a pełna regresja jest polecany.
Przykładowy projekt testowania aplikacji : ILL (International Learn Lab) to aplikacja zaprojektowana, aby pomóc administratorowi, wydawcy w tworzeniu stron internetowych we współpracy. Korzystając z przeglądarki internetowej, instruktorzy wybierają z zestawu funkcji, aby stworzyć zajęcia spełniające ich wymagania.
Proces testowania mobilnego:
Krok 1. Zidentyfikuj rodzaje testów : Ponieważ aplikacja ILL ma zastosowanie do przeglądarek, testowanie tej aplikacji jest obowiązkowe we wszystkich obsługiwanych przeglądarkach korzystających z różnych urządzeń mobilnych. Musimy zrobić użyteczność, funkcjonalność i zgodność testowanie w różnych przeglądarkach z rozszerzeniem kombinacje z Podręcznik i automatyzacja przypadki testowe.
Krok 2. Testowanie ręczne i automatyczne: Metodologia zastosowana w tym projekcie to Agile z iteracją trwającą dwa tygodnie. Co dwa tygodnie dev. team wydaje nową kompilację dla zespołu testującego, a zespół testowy będzie uruchamiał swoje przypadki testowe w środowisku QA. Zespół automatyzacji tworzy skrypty dla zestawu podstawowych funkcji i uruchamia skrypty, które pomagają określić, czy nowa kompilacja jest wystarczająco stabilna do przetestowania. Zespół testujący manualnie przetestuje nową funkcjonalność.
JIRA służy do pisania kryteriów akceptacji; utrzymanie przypadków testowych i logowanie / ponowna weryfikacja błędów. Po zakończeniu iteracji iteracja planowanie spotkanie, na którym dev. Zespół, właściciel produktu, analityk biznesowy i zespół ds. Kontroli jakości omawiają co poszło dobrze i co należy poprawić .
Krok 3. Testowanie beta: Po zakończeniu testów regresyjnych przez zespół ds. Kontroli jakości kompilacja przechodzi do UAT. Test akceptacji użytkownika jest wykonywany przez klienta. Ponownie weryfikują wszystkie błędy, aby upewnić się, że każdy błąd został naprawiony, a aplikacja działa zgodnie z oczekiwaniami w każdej zatwierdzonej przeglądarce.
Krok 4. Test wydajności: Zespół testujący wydajność testuje wydajność aplikacji internetowej przy użyciu skryptów JMeter i przy różnych obciążeniach aplikacji.
jak różni się C od C ++
Krok 5. Testowanie przeglądarki : Aplikacja internetowa jest testowana w wielu przeglądarkach - zarówno przy użyciu różnych narzędzi symulacyjnych, jak i fizycznie przy użyciu prawdziwych urządzeń mobilnych.
Krok 6. Plan startowy: Po każdym 4 tygodniu testowanie przechodzi do fazy etapowej, gdzie przeprowadzana jest ostatnia runda testów od końca do końca na tych urządzeniach, aby upewnić się, że produkt jest gotowy do produkcji. A potem zostaje uruchomiony!
******************************************
Jak testować aplikacje mobilne na platformach Android i iOS
Bardzo ważne jest, aby testerzy, którzy testują swoje aplikacje zarówno na platformie iOS, jak i Android, znali różnicę między nimi. iOS i Android mają wiele różnic w.r.t w wyglądzie i działaniu, widokach aplikacji, standardach kodowania, wydajności itp.
Podstawowa różnica między testowaniem na Androida i iOS
Być może przejrzałeś wszystkie samouczki, tutaj umieściłem kilka głównych różnic, które z kolei pomogą ci w ramach testów:
# 1) Ponieważ na rynku dostępnych jest wiele urządzeń z Androidem, a wszystkie mają różne rozdzielczości i rozmiary ekranu, jest to jedna z głównych różnic.
Na przykład , Rozmiar Samsung S2 jest za mały w porównaniu z Nexusem 6. Istnieje duże prawdopodobieństwo, że układ i wygląd Twojej aplikacji zostaną zniekształcone na jednym z urządzeń. Prawdopodobieństwo jest niskie w iOS, ponieważ na rynku są dostępne tylko policzalne urządzenia, a spośród tych wiele telefonów ma podobne rozdzielczości.
Na przykład, przed powstaniem iPhone'a 6 i nowszych wszystkie starsze wersje miały tylko podobny rozmiar.
#dwa) Przykładem, aby potwierdzić powyższy punkt, jest to, że w Androidzie programiści muszą używać obrazów 1x, 2x, 3x, 4x i 5x, aby obsługiwać rozdzielczości obrazów dla wszystkich urządzeń, podczas gdy iOS używa tylko 1x, 2x i 3x. Jednak obowiązkiem testera jest upewnienie się, że obrazy i inne elementy interfejsu użytkownika są poprawnie wyświetlane na wszystkich urządzeniach.
Możesz zapoznać się z poniższym diagramem, aby zrozumieć pojęcie rozdzielczości obrazu:
# 3) Ponieważ mamy rynek zalewany urządzeniami z Androidem, kod musi być napisany w taki sposób, aby wydajność była stabilna. Jest więc całkiem prawdopodobne, że Twoja aplikacja może działać wolno na urządzeniach z niższej półki.
# 4) Innym problemem związanym z Androidem jest to, że aktualizacje oprogramowania nie są dostępne dla wszystkich urządzeń w drodze. Producenci urządzeń decydują, kiedy zaktualizować swoje urządzenia. Testowanie wszystkiego zarówno w nowym, jak i starym systemie operacyjnym staje się bardzo trudnym zadaniem.
Ponadto, modyfikowanie kodu w celu obsługi obu wersji staje się uciążliwym zadaniem dla programistów.
Na przykład , kiedy pojawił się Android 6.0, nastąpiła poważna zmiana, ponieważ ten system operacyjny zaczął obsługiwać uprawnienia na poziomie aplikacji. Aby wyjaśnić dalej, użytkownik mógłby zmienić uprawnienia (lokalizacja, kontakty) również na poziomie aplikacji.
Teraz zespół testujący jest odpowiedzialny za upewnienie się, że wyświetla się ekran uprawnień podczas uruchamiania aplikacji w systemie Android 6.0 i nowszym, a nie wyświetla ekranu uprawnień w niższych wersjach.
# 5) Z punktu widzenia testowania, testowanie wersji przedprodukcyjnej (tj. Wersji beta) różni się na obu platformach. W Androidzie, jeśli użytkownik zostanie dodany do listy użytkowników wersji beta, może zobaczyć zaktualizowaną wersję beta w Sklepie Play tylko wtedy, gdy jest zalogowany do sklepu Play przy użyciu tego samego identyfikatora e-mail, który jest dodawany jako użytkownik beta.
Kluczowe czynniki w testowaniu mobilnym
Pracuję nad testowaniem mobilnym przez ostatnie 2 lata na platformie iOS i Android, a wszystkie kluczowe punkty wymienione poniżej w tym samouczku pochodzą z mojego osobistego doświadczenia, a niektóre z problemów napotkanych w projekcie.
Zdefiniuj własny zakres testowania
Każdy ma swój własny styl testowania. Niektórzy testerzy skupiają się tylko na tym, co widzą ich oczami, a pozostali są pasjonatami wszystkiego, co działa za kulisami każdej aplikacji mobilnej.
Jeśli jesteś testerem iOS / Android, proponuję przynajmniej zapoznać się z niektórymi typowymi ograniczeniami / podstawowymi funkcjami Androida lub iOS, ponieważ zawsze dodaje to wartości do naszego stylu testowania. Wiem, że rzeczy są trudne do zrozumienia bez cytowania przykładów.
Poniżej podano kilka przykładów:
- Nie możemy zmienić uprawnień, takich jak kamera, pamięć itp. Na poziomie aplikacji na urządzeniach z Androidem, które są poniżej wersji 6.0.1.
- W przypadku iOS poniżej wersji 10.0 nie było zestawu wezwań. Krótko mówiąc, zestaw połączeń jest używany przez aplikację do połączeń i wyświetla widok pełnoekranowy, gdy użytkownik odbiera połączenie z aplikacji telefonicznych, takich jak WhatsApp, Skype itp. Podczas gdy w przypadku wersji iOS poniżej 10.0 widzimy te połączenia jako baner powiadomień.
- Wielu z was mogło napotkać problemy w Paytm, w których aplikacja nie przekierowuje Cię na stronę płatności banku, na wypadek gdybyś chciał dodać pieniądze do swojego portfela. Uważamy, że powyższy problem dotyczy naszego banku lub serwera Paytm, ale chodzi tylko o to, że nasz AndroidSystemWebView nie jest aktualizowany. Mała wiedza na temat programowania jest zawsze pomocna dla Ciebie i do podzielenia się z Twoim zespołem.
- Krótko mówiąc, za każdym razem, gdy aplikacja otwiera jakąkolwiek stronę internetową, należy zaktualizować AndroidSystemWebView.
Nie ograniczaj swoich testów
Testowanie nie powinno ograniczać się tylko do eksploracji aplikacji mobilnej i rejestrowania błędów. Jako QA powinniśmy być świadomi wszystkich żądań, które trafiają na nasz serwer, i odpowiedzi, które z niego otrzymujemy.
Skonfiguruj Putty, aby wyświetlać dzienniki lub weryfikować logikę sumo dla dzienników w zależności od tego, co jest używane w projekcie. To nie tylko pomaga w poznaniu pełnego przepływu aplikacji, ale także sprawia, że stajesz się lepszym testerem, gdy masz teraz więcej pomysłów i scenariuszy.
Powód: Nic nie przychodzi na ten świat bez powodu. Każde stwierdzenie powinno mieć uzasadniony powód. Przyczyną analizy dzienników jest to, że w dziennikach obserwuje się wiele wyjątków, ale nie wykazują one żadnego wpływu na interfejs użytkownika, więc tego nie zauważamy.
Czy więc powinniśmy to zignorować?
Nie, nie powinniśmy. Nie ma to żadnego wpływu na interfejs użytkownika, ale może być futurystycznym problemem. Możemy potencjalnie zobaczyć awarię naszej aplikacji, jeśli tego rodzaju wyjątki będą się pojawiać. Jak wspomnieliśmy o App Crash w ostatnim zdaniu, prowadzi to QA do dostępu do crashlytics projektu.
Crashlytics to narzędzie, które rejestruje awarie wraz z czasem i modelem urządzenia.
Teraz pytanie brzmi, że jeśli tester zauważył awarię aplikacji, to dlaczego ma się przejmować crashlytics?
Odpowiedź na to pytanie jest dość interesująca. Istnieją pewne awarie, które mogą nie być widoczne w interfejsie użytkownika, ale są rejestrowane w crashlytics. Może to wynikać z awarii pamięci lub krytycznych wyjątków, które mogą wpłynąć na wydajność później.
Testowanie międzyplatformowe
Testowanie interakcji między platformami jest bardzo ważne.
Powołując się na prosty Przykład powiedzmy, że pracujesz nad aplikacją do czatu, taką jak WhatsApp, która obsługuje wysyłanie obrazów i filmów, a aplikacja jest zbudowana na platformach iOS i Android (programowanie może być zsynchronizowane lub nie)
Upewnij się, że przetestujesz komunikację Androida i iOS, ponieważ iOS używa „Objective C”, podczas gdy programowanie na Androida jest oparte na Javie, a ponieważ oba z nich są zbudowane na różnych platformach, czasami trzeba wprowadzić dodatkowe poprawki w aplikacji rozpoznawać ciągi pochodzące z różnych platform językowych.
Zwróć uwagę na rozmiar swojej aplikacji mobilnej
Kolejna ważna rada dla testerów mobilnych - prosimy o dalsze sprawdzanie rozmiar Twojej aplikacji po każdym wydaniu.
Powinniśmy dopilnować, aby rozmiar aplikacji nie osiągnął punktu, w którym nawet my jako użytkownik końcowy nie będziemy chcieli pobrać tej aplikacji ze względu na jej duży rozmiar.
Testowanie scenariuszy uaktualnień aplikacji
Dla testerów mobilnych, testowanie aktualizacji aplikacji to bardzo ważne. Upewnij się, że Twoja aplikacja nie ulega awarii podczas uaktualniania, ponieważ zespół programistów mógł popełnić niezgodność numeru wersji.
Przechowywanie danych jest również równie ważne, jak w przypadku jakichkolwiek preferencji zapisanych przez użytkownika w poprzedniej wersji, należy je zachować podczas aktualizacji aplikacji.
Na przykład , użytkownik mógł zapisać dane swojej karty bankowej w aplikacjach takich jak PayTm itp.
System operacyjny urządzenia może nie obsługiwać aplikacji
Brzmi interesująco?
Tak, wiele urządzeń może nie obsługiwać Twojej aplikacji. Wielu z was musi wiedzieć, że dostawcy piszą własne opakowania w USA i może się zdarzyć, że jakiekolwiek zapytanie SQL Twojej aplikacji nie będzie zgodne z urządzeniem i dlatego zgłasza wyjątek i może nawet spowodować, że app na tym telefonie.
Chodzi o to - spróbuj używać aplikacji na własnych urządzeniach, z wyjątkiem tych, których używasz w biurze. Jest całkiem możliwe, że widzisz pewne problemy z Twoją aplikacją.
Testowanie uprawnień aplikacji
Następny na liście jest Testowanie uprawnień aplikacji mobilnych . Niemal co druga aplikacja prosi swoich użytkowników o dostęp do kontaktu, aparatu, Galerii, lokalizacji itp. Na swoim telefonie. Widziałem kilku testerów, którzy popełnili błąd, nie testując odpowiednich kombinacji tych uprawnień.
Pamiętam w czasie rzeczywistym Przykład kiedy testowaliśmy aplikację do czatu, która miała wszystkie funkcje udostępniania zdjęć i plików audio. Zezwolenie na przechowywanie zostało ustawione na NIE.
Teraz, gdy użytkownik kliknie opcję Aparat, nie otwiera się, dopóki zezwolenie na przechowywanie nie zostanie ustawione na TAK. Scenariusz został zignorowany, ponieważ Android Marshmallow miał tę funkcję, że jeśli uprawnienie do przechowywania jest ustawione na NIE, kamera nie może być używana dla tej aplikacji.
Zakres wykracza poza to, co omówiliśmy w powyższym akapicie. Powinniśmy upewnić się, że aplikacja nie prosi o żadne uprawnienia, które nie są używane.
Żaden użytkownik końcowy zaznajomiony z branżą oprogramowania może nie pobrać aplikacji, w przypadku której wymagane jest zbyt wiele uprawnień. Jeśli usunąłeś jakąkolwiek funkcję ze swojej aplikacji, pamiętaj o usunięciu ekranu uprawnień dla tego samego.
Cykl życia oprogramowania 5 faz
Porównaj z podobnymi i popularnymi aplikacjami na rynku
Morał historii - Jeśli kiedykolwiek masz wątpliwości, po prostu nie kończ tego samodzielnie. Porównanie z innymi podobnymi aplikacjami na tej samej platformie może wzmocnić argument, że testowana funkcjonalność będzie działać, czy nie.
Zapoznaj się z omówieniem kryterium odrzucenia kompilacji firmy Apple
Wreszcie, większość z was mogła natknąć się na sytuacje, w których Twoje kompilacje zostały odrzucone przez Apple. Wiem, że ten temat nie zainteresuje większej części czytelników, ale zawsze dobrze jest znać zasady Apple dotyczące odrzucania.
Jako testerowi trudno jest zająć się aspektami technicznymi, ale nadal istnieje pewne kryterium odrzucenia, którym testerzy mogą się zająć.
Aby uzyskać więcej informacji na ten temat, kliknij tutaj.
Zawsze bądź na przedniej stopie
Będąc testerem, nie pozwól, aby sprawy przeszły na Twój sąd od zespołu deweloperskiego / menedżerów. Jeśli jesteś pasjonatem testowania, to „Zawsze bądź na przedniej stopie” . Spróbuj zaangażować się w działania, które mają miejsce na długo przed pojawieniem się kodu w Twoim wiadrze w celu przetestowania.
Co najważniejsze, spójrz na JIRA, QC, MTM lub cokolwiek jest używane w twoim projekcie, aby uzyskać wszystkie najnowsze aktualizacje zgłoszeń od klientów i analityka biznesowego. Przygotuj się również do udostępnienia swoich poglądów, jeśli potrzebujesz modyfikacji. Dotyczy to wszystkich testerów, którzy pracują na różnych domenach i platformach.
Dopóki nie uważamy, że produkt jest naszym własnym, nigdy nie powinniśmy sugerować nowych ulepszeń lub zmian w istniejącej funkcjonalności.
Utrzymuj aplikację w tle przez długi czas (12-24 godziny)
Wiem, że to brzmi dziwnie, ale za kulisami kryje się wiele logiki, której wszyscy nie rozumiemy.
Udostępniam to, ponieważ widziałem, jak aplikacja ulega awarii po jej uruchomieniu, powiedzmy po około 14 godzinach od stanu tła. Powodem może być wszystko, w zależności od tego, jak zakodowali to programiści.
Podzielę się przykładem w czasie rzeczywistym:
W moim przypadku przyczyną tego było wygaśnięcie tokena. Jedna z aplikacji do czatu, jeśli zostanie uruchomiona po 12-14 godzinach, utknie na banerze łączącym i nigdy nie zostanie połączona, dopóki nie zostanie zabita i ponownie uruchomiona. Takie rzeczy są bardzo trudne do wyłapania i w pewnym sensie sprawiają, że testy mobilne są trudniejsze i bardziej kreatywne.
Testowanie wydajności Twojej aplikacji
W świecie urządzeń mobilnych wydajność Twojej aplikacji wpływa na stopień rozpoznawania aplikacji na całym świecie. Jako zespół testujący zbyt ważne staje się sprawdzanie odpowiedzi aplikacji, a co ważniejsze, jak to działa, gdy korzysta z niej duża liczba użytkowników.
Przykład:
Porozmawiajmy o PayTm.
Wszyscy musieliście kliknąć opcję DODAJ PIENIĄDZE w aplikacji PayTm, która następnie wyświetli saldo w portfelu. Jeśli zastanowimy się, co dzieje się za kulisami, to jest to żądanie, które trafia do serwera z identyfikatorem użytkownika PayTm, a serwer odsyła odpowiedź z saldem na koncie.
Powyższy przypadek ma miejsce tylko wtedy, gdy jeden użytkownik trafił na serwer. Musimy się upewnić, że nawet jeśli 1000 użytkowników trafi na serwer, otrzymają odpowiedź na czas, ponieważ użyteczność użytkownika końcowego jest naszym głównym celem.
Wniosek
Zakończyłbym ten samouczek, powtarzając, że testowanie mobilne wydaje się być bardzo łatwe na początku, ale gdy będziesz się dalej zagłębiać, zrozumiesz, że nie jest łatwo zapewnić, że wszystko, co opracowano, będzie działało płynnie na tysiącach urządzeń na całym świecie .
W większości przypadków zobaczysz aplikacje obsługiwane tylko w najnowszych i kilku ostatnich wersjach systemu operacyjnego. Jednak obowiązkiem testerów staje się upewnienie się, że nie przegapią żadnego scenariusza. Jest wiele innych punktów, które należy wziąć pod uwagę, ale nie wspomniałem o tych, które zostały już powtórzone w innych samouczkach.
Scenariusze takie jak zużycie baterii, testowanie przerwań, testowanie w różnych sieciach (3G, Wi-Fi), testowanie podczas zmiany sieci, testowanie aplikacji mobilnych itp. Są przydatne, jeśli chodzi o testowanie mobilne.
Postawa testerów ma duże znaczenie, jeśli chodzi o rzeczywiste środowisko testowe. Dopóki nie kochasz swojej pracy, nie będziesz się przejmować robieniem rzeczy, o których mowa w samouczku.
Jestem w tej dziedzinie od około 6 lat i doskonale zdaję sobie sprawę z tego, że zadania czasami stają się monotonne, ale jest wiele innych rzeczy, które możemy zrobić samodzielnie, aby te monotonne zadania były nieco interesujące.
Zaprojektowanie odpowiedniej strategii testowej, wybór odpowiednich symulatorów mobilnych, urządzeń i narzędzi do testowania urządzeń mobilnych może zapewnić 100% pokrycie testów i pomóc nam włączyć testy oparte na bezpieczeństwie, użyteczności, wydajności, funkcjonalności i kompatybilności do naszych zestawów testów.
Cóż, to był nasz wysiłek, aby spełnić wiele żądań naszych czytelników w przewodniku testowania aplikacji mobilnych.
Autorski : Dziękujemy firmie Swapna, Hasnet i wielu innym ekspertom od testów mobilnych za pomoc w opracowaniu tej serii!
W następnym artykule omówimy więcej Testowanie aplikacji na iOS .
rekomendowane lektury
- Usługi testowania wersji beta aplikacji mobilnych (narzędzia do testowania wersji beta systemów iOS i Android)
- Testowanie obciążenia za pomocą samouczków HP LoadRunner
- 5 wyzwań i rozwiązań w testowaniu mobilnym
- Dlaczego testy mobilne są trudne?
- Jak szybko uzyskać pracę testera mobilnego - przewodnik kariery testera mobilnego (część 1)
- Samouczek Appium do testowania aplikacji mobilnych na Androida i iOS
- Najlepsze narzędzia do testowania oprogramowania 2021 (Narzędzia do automatyzacji testów QA)
- 11 najlepszych narzędzi automatyzacji do testowania aplikacji na Androida (narzędzia do testowania aplikacji na Androida)