mobile ui testing tutorial gui testing ios
Przewodnik po testowaniu interfejsu użytkownika aplikacji mobilnej: dowiedz się, jak przeprowadzić testowanie interfejsu użytkownika w systemach iOS i Android
Wraz z kwitnącym rynkiem telefonów komórkowych testowanie aplikacji mobilnych stało się ekscytujące każdego dnia.
C ++ typy funkcji
Samo wykonanie testów funkcjonalnych w aplikacji mobilnej nie umożliwia wylogowania się z aplikacji. Istnieje kilka innych typów testów, takich jak testy terenowe, testy sieci, testy interfejsu użytkownika, testy żywotności baterii itp., Które należy wykonać.
Testowanie interfejsu użytkownika jest jednym z ważnych testów w testowaniu aplikacji mobilnych i nie należy go lekceważyć.
Graficzny interfejs użytkownika powoduje dużą różnicę w tym, jak interesująca i interaktywna aplikacja jest dla użytkownika. Znaczenie przyzwoitego i atrakcyjnego graficznego interfejsu użytkownika jest bardziej odczuwalne w środowisku urządzeń inteligentnych, w którym rozmiar ekranu jest znacznie mniejszy w porównaniu z ekranem laptopa lub komputera stacjonarnego.
Czego się nauczysz:
- Znaczenie testowania interfejsu użytkownika aplikacji mobilnej
- Jak zdecydować, ile testów interfejsu użytkownika jest wymagane?
- Wskazówki: co przetestować podczas testowania interfejsu użytkownika aplikacji mobilnych
- Jak przetestować warianty interfejsu użytkownika w różnych wersjach systemu operacyjnego?
- Prawdziwe urządzenia lub emulatory: co wybrać do testowania interfejsu użytkownika?
- Ręczne czy automatyczne testowanie interfejsu użytkownika?
- Narzędzia do testowania interfejsu użytkownika aplikacji mobilnych
- Lista kontrolna do testowania interfejsu użytkownika aplikacji mobilnej
- 5 mitów na temat zautomatyzowanego testowania mobilnego interfejsu użytkownika
- Mit i rzeczywistość
- Wniosek
- rekomendowane lektury
Znaczenie testowania interfejsu użytkownika aplikacji mobilnej
Czy jako użytkownik poczujesz się jak w aplikacji, w której brakuje interakcji z użytkownikiem i która utrudnia zrozumienie, jak z niej korzystać?
Gdy użytkownicy po raz pierwszy korzystają z aplikacji mobilnej, uwagę zwraca nie tylko wydajność, ale także atrakcyjny interfejs użytkownika. Aplikacja przyjazna dla interfejsu użytkownika sprzedaje się więcej w porównaniu z aplikacją, która jest najlepiej opracowana, ale ma nieprzyjemny interfejs użytkownika.
Jeśli aplikacja ma doskonały i znakomity interfejs użytkownika na jednym urządzeniu, ale na drugim jest całkowicie pokręcona tylko dlatego, że ma inny rozmiar lub inny system operacyjny, pozostawi bardzo złe wrażenie. Będzie to miało duży wpływ na komercyjny sukces aplikacji.
Czy będziesz promować aplikację, w której przycisk jest zbyt mały, aby kliknąć, blokując cały zestaw funkcji?
Czy nie są to nieprzyjemne doświadczenia dla użytkowników? Ze względu na powyższe przypadki bardzo ważne staje się przetestowanie interfejsu użytkownika aplikacji. Dwie główne weryfikacje, które należy przeprowadzić w przypadku aplikacji mobilnych, to łatwość obsługi i wygląd w różnych modelach i wersjach systemu operacyjnego.
Poniżej znajduje się przykład tego, jak interfejs użytkownika powinien być doskonały na różnych rozmiarach ekranu:
Jak zdecydować, ile testów interfejsu użytkownika jest wymagane?
Poniższy wykres przedstawia różne branże, w których można podzielić aplikacje mobilne:
(wizerunek źródło )
Z powyższego wykresu można wywnioskować, że aplikacje do gier zajmują większość udziału w rynku, wynoszący około 24,43%, a następnie aplikacje biznesowe i edukacyjne.
- Aplikacje opracowane jako aplikacje do gier wymagają dokładnych testów pod każdym względem, ponieważ interfejs użytkownika w największym stopniu przyczynia się do odniesienia sukcesu, niezależnie od tego, czy jest to aplikacja natywna, czy hybrydowa
- Sukces aplikacji biznesowej może nie polegać całkowicie na interfejsie użytkownika, ponieważ w większości przypadków docelowi odbiorcy są przeszkoleni w zakresie korzystania z aplikacji. Dlatego takie aplikacje mogą mieć prosty interfejs użytkownika.
- Aplikacje opracowane do celów edukacyjnych wymagają dokładnych testów interfejsu użytkownika.
- Aplikacje komercyjne, takie jak zakupy, podróże itp., Również wymagają pełnego testowania interfejsu użytkownika na różnych urządzeniach i różnych wersjach systemu operacyjnego.
Krótko mówiąc, w zależności od celu aplikacji, można zdecydować o głębokości testowania interfejsu użytkownika, ale testowanie interfejsu użytkownika powinno być zawsze wykonywane na co najmniej 3 różnych wersjach systemu operacyjnego.
Wskazówki: co przetestować podczas testowania interfejsu użytkownika aplikacji mobilnych
Podczas testowania interfejsu użytkownika w aplikacji mobilnej należy zweryfikować różne cechy.
Oto niektóre cechy, które należy przetestować w przypadku każdej aplikacji:
# 1) Rozdzielczość ekranu
Poniżej przedstawiono niektóre typowe rozdzielczości ekranu, które są brane pod uwagę podczas tworzenia stanowisk testowych:
- 640 × 480
- 800 × 600
- 1024 × 768
- 1280 × 800
- 1366 × 768
- 1400 × 900
- 1680 × 1050
Wszystkie te rozdzielczości są niezbędne do testowania, gdy w aplikacji masz układ wielokolumnowy.
Dlatego weryfikację należy przeprowadzić zaczynając od najmniejszej do największej rozdzielczości. Poza tym, jeśli Twoja aplikacja ma długą listę kart z informacjami, te muszą być również przetestowane w innej rozdzielczości pod kątem zawijania informacji.
( Źródło obrazu )
# 2) Rozmiar ekranu
Istnieje zbyt wiele odmian rozmiarów ekranu i dostępnych rozdzielczości. Zwłaszcza w urządzeniach inteligentnych rozmiary kontrolek nie są statyczne, mają związek z dostępnym rozmiarem ekranu.
Podczas testowania upewnij się, że rozmiar kontrolek wygląda dobrze, a kontrola jest całkowicie widoczna na ekranie bez przewijania. Przetestuj GUI na różnych urządzeniach z różnymi rozmiarami ekranu i rozdzielczościami.
Emulatory są dobre do tego celu, ale nic nie pasuje do prawdziwego urządzenia. Dlatego upewnij się, że testujesz na co najmniej dwóch lub trzech prawdziwych urządzeniach. Nie zapomnij też przetestować orientacji poziomej i pionowej, jeśli urządzenie je obsługuje.
Musisz przetestować aplikację w powszechnie używanych rozdzielczościach, aby zapewnić jej użyteczność.
Kilka rzeczy, które musisz tutaj zrozumieć, to:
Różnica między rozmiarem ekranu a rozdzielczością: Rozmiar ekranu to długość ekranu w calach mierzona po przekątnej lub od jednego rogu do drugiego. Rozdzielczość ekranu to szerokość i wysokość, Przykład 640 w × 480, co oznacza liczbę pikseli przechodzących przez ekran pomnożoną przez kilka pikseli malejących.
# 3) Różne elementy interfejsu użytkownika
Elementy interfejsu użytkownika, takie jak przyciski, nagłówki, ikony, obrazy, pola wyboru, pola tekstowe, pola wyboru itp., To niektóre z różnych elementów, które należy zweryfikować pod kątem ich wyglądu i rozmiaru na ekranie.
Szczególnie w przypadku pól tekstowych, jeśli klawiatura ekranowa pojawia się po dotknięciu pola tekstowego, należy przetestować i zweryfikować.
Co najważniejsze, wymagane jest dokładne przetestowanie rozmiarów przycisków, ponieważ pamiętam, że w naszej aplikacji podczas testów na telefonie Galaxy S znaleźliśmy bloker, w którym przycisk zablokował całą aplikację tylko dlatego, że przycisk wydawał się zbyt mały, aby go kliknąć.
Pozycję elementów interfejsu użytkownika należy również zweryfikować pod kątem zgodności z wymogami, tj. Czy wszystkie mają być wyrównane do środka, do lewej itp.
# 4) Styl: schemat kolorów i motywów urządzenia
Interfejs użytkownika i schemat kolorów aplikacji powinny być zgodne z różnymi kolorami i motywami telefonu. Kolor i motyw telefonu Samsung bardzo różnią się od kolorów i motywów telefonów Nokia czy MI .
Dlatego musisz sprawdzić, czy aplikacja wygląda spójnie na takich telefonach.
Twoja aplikacja ma określony projekt. Styl elementów sterujących powinien pasować do tego projektu. Być może widziałeś wiele aplikacji, w których niektóre kontrolki, np. panele mają okrągłe krawędzie i inne elementy sterujące, np. pola tekstowe mają ostre krawędzie.
Chociaż tego typu problemy nie wpływają na użyteczność ani funkcjonalność aplikacji, spójny wygląd aplikacji pomaga w budowaniu przyjaznej relacji między aplikacją a użytkownikiem.
Jedną z najważniejszych rzeczy w stylu jest czcionka na różnych stronach. Czcionkę należy dobrze przetestować, aby uniknąć niespójności w wyglądzie i działaniu aplikacji.
W większości przypadków skupiamy się na tekście, który jest widoczny w normalnych sytuacjach i ignorujemy tekst, który pojawia się w określonych sytuacjach. Przykładem tego typu tekstu są komunikaty o sukcesach i niepowodzeniach.
Kolejnym czynnikiem, który ma duże znaczenie w stylu, jest relacja między kolorem czcionki a sytuacją, w której wyświetlany jest tekst.
Na przykład, Czerwony kolor oznacza komunikaty o błędach, zielony - powodzenie, żółty - ostrzeżenia, a niebieski - hiperłącza.
# 5) Multi-touch lub Single touch
Jeśli Twoja aplikacja obsługuje funkcję wielodotyku, taką jak szczypanie, aby powiększyć, uszczypnij, aby zmniejszyć itp., Musisz dokładnie przetestować tę funkcję i utworzyć wiele przypadków testowych dla wszystkich odpowiednich ekranów.
# 6) Długie lub krótkie naciśnięcie
Długie naciśnięcie ikony wyświetla menu kontekstowe, a krótkie dotknięcie wykonuje pierwszą czynność w menu. Jeśli ta funkcja jest dostępna w Twojej aplikacji, musisz zweryfikować tę funkcjonalność i wszystkie funkcje wokół niej.
# 7) Lokalizacja
Lokalizacja i pozycja to dwa słowa, które są używane naprzemiennie i, co ciekawe, są one dalej używane do przekazania dwóch różnych pojęć, które wyjaśniono poniżej:
1) Czasami jest to obszar na ekranie, w którym pojawia się kontrolka.
Na przykład, Nagłówek znajduje się na Top strony, Etykiety są Wyrównane do lewej , a pola tekstowe to Wyrównany do prawej, itd. Tutaj „do góry”, „wyrównane do lewej” i „wyrównane do prawej” to względne pozycje kontrolek.
dwa) Czasami jest to kolejność kontroli między innymi kontrolkami.
Na przykład, podczas uzyskiwania danych osobowych, First Name is śledzony według nazwiska. Lub powinien być format kontrolek z prośbą o adres w USA zamówienie - Kod pocztowy, miasto, województwo.
W obu tych sytuacjach mówimy o lokalizacji elementów sterujących.
Podczas testowania lokalizacji i położenia elementów sterujących upewnij się, że wszystko jest logicznie umieszczone na ekranie i prezentuje dobry zmysł estetyczny.
Istnieją sytuacje, w których jedna lub więcej kontrolek pojawia się na więcej niż jednym ekranie. W takiej sytuacji musisz upewnić się, że pojawiają się one w tym samym miejscu i w tej samej względnej kolejności na wszystkich stronach.
Jak przetestować warianty interfejsu użytkownika w różnych wersjach systemu operacyjnego?
Interfejs użytkownika różni się w zależności od wersji systemu operacyjnego, a wraz z uruchomieniem nowej wersji, ulepszenia są wprowadzane w interfejsie użytkownika.
Przyjrzyjmy się interfejsowi użytkownika 3 najnowszych systemów operacyjnych, które są obecnie dostępne, i zrozummy, jak te zmiany wpływają na aplikację mobilną.
Oni są:
- Lizak
- pianka
- Nugat
Patrząc na powyższą listę nowych funkcji interfejsu użytkownika lub funkcji, jako kontrolę jakości musisz zaprojektować przypadki testowe w tym zakresie.
1) Lollipop:
- Twórz przypadki testowe dla efektu nowego projektu w swojej aplikacji.
- Niekoniecznie dla wszystkich ekranów, ale utwórz przypadki testowe, aby uzyskać dostęp do nowych skrótów w aplikacji.
2) Zefir:
- Jeśli Twoja aplikacja obsługuje emotikony, utwórz przypadki testowe, aby zweryfikować nowe emotikony. Aplikacje, które pozwalają użytkownikom pisać recenzje lub czatować, to te, które często używają emoji.
- Kiedy Twoja aplikacja jest publikowana i instalowana po raz pierwszy, może być konieczne zapytanie o pozwolenie, dlatego konieczne jest przetestowanie interfejsu użytkownika nowego ekranu uprawnień. I stwórz przypadki testowe dla tego samego.
- Jeśli Twoja aplikacja korzysta z Google Now, musisz utworzyć przypadki testowe, aby przetestować interfejs zaktualizowanej funkcji Google Now.
3) Nugat:
- W przypadku trybu rzeczywistości marzeń należy przeprowadzić dokładne testy aplikacji, a tym samym odpowiednio utworzyć przypadki testowe.
- Utwórz przypadki testowe, aby zweryfikować opcje menu swojej aplikacji.
- Jeśli Twoja aplikacja obsługuje emotikony i GIF-y, utwórz przypadki testowe, aby zweryfikować nowe emotikony i opcję wysyłania GIF-ów.
Prawdziwe urządzenia lub emulatory: co wybrać do testowania interfejsu użytkownika?
Kiedy musisz przetestować aplikację mobilną, możesz pomyśleć o tym, jakie powinno być stanowisko testowe?
Czy testować na prawdziwym urządzeniu, emulatorze czy obu? Nie ma na to jednoznacznej odpowiedzi, ponieważ wybór zależy od tego, co chcesz przetestować.
Do testowania funkcjonalności, wydajności, odpowiedzi sieci, testów terenowych itp. Zawsze powinieneś preferować prawdziwe urządzenie. Ale w przypadku rzeczy takich jak interfejs użytkownika należy wybrać emulatory wraz z niektórymi prawdziwymi urządzeniami.
Plusy
Zalety używania emulatorów do testowania interfejsu użytkownika to:
1) Praktycznie nie jest możliwe zebranie urządzeń we wszystkich rozdzielczościach, a to również kosztowałoby ogromne pieniądze. Ale emulatory nic nie kosztują.
dwa) Za pomocą emulatora możesz tworzyć wszystkie kombinacje rozdzielczości ekranu i systemu operacyjnego.
3) Jeśli masz tylko jeden zestaw rzeczywistych urządzeń, ale zespół kontroli jakości składa się z więcej niż jednej osoby, nie można równolegle przeprowadzać wszystkich kontroli jakości na tym samym stanowisku testowym. Za pomocą emulatora każda kontrola jakości może utworzyć tę samą kombinację na swoim komputerze i równolegle testować.
4) Testowanie na emulatorze jest mniej czasochłonne i szybsze w porównaniu z rzeczywistym urządzeniem.
5) Typowe błędy związane z interfejsem użytkownika, takie jak wyrównanie itp., Można łatwo wykryć na emulatorach.
Cons
Wady obejmują:
1) Gesty nie mogą być testowane na emulatorach. Jednocześnie można emulować tylko jeden gest.
dwa) Fizyczne dane wejściowe GPS, zrywająca się lub słaba sieć itp. Również nie mogą być testowane.
3) Nie ma możliwości stworzenia emulatora dla telefonów Sony, LG, Nexus itp.
4) Na emulatorze nie można stworzyć rzeczywistego środowiska z niskim poziomem baterii lub pamięci itp.
Dlatego decyzję należy podjąć w zależności od aplikacji i wymagań testowych.
Ręczne czy automatyczne testowanie interfejsu użytkownika?
Żaden produkt, niezależnie od tego, czy jest to aplikacja komputerowa, aplikacja internetowa czy aplikacja mobilna, nie może zostać wydany bez testów. W ramach kontroli jakości staramy się znaleźć i zgłosić każdą usterkę, ale nadal są one zgłaszane przez klientów.
Wiesz dlaczego?
Ponieważ długie testy, które są często pomijane lub pomijane, pozostawiają niewykryte błędy. Również pokrycie w 100%, dogłębne wykonanie nie jest możliwe przy testowaniu ręcznym.
Testowanie interfejsu użytkownika jest dość proste i nieskomplikowane, wystarczy spojrzeć na to, jak wygląda to dla oka. Teraz, jeśli jest to robione ręcznie, jest to bardzo czasochłonne. Ponadto w większości przypadków musimy tworzyć ogromne dane do testowania interfejsu użytkownika, takie jak przewijanie, pojawiają się tylko wtedy, gdy rzędy kart przecinają określoną liczbę.
Tworzenie dużych zbiorów danych jest bardzo czasochłonne. Posiadanie zautomatyzowanego pakietu może rozwiązać oba problemy.
Wręcz przeciwnie, jeśli funkcje lub interfejs użytkownika aplikacji wciąż znajdują się w fazie zmian, nie ma sensu inwestować w automatyzację. Podobnie, jeśli istotne są funkcjonalności aplikacji, lepiej przetestować ją ręcznie.
Dlatego w zależności od poniższych wskaźników należy zdecydować, czy testować ręcznie, czy zautomatyzować:
- Charakter Twojej aplikacji.
- Stabilność Twojej aplikacji.
- Dostępne zasoby, takie jak siła robocza do studiowania narzędzi i ich porównywania.
- Ile czasu poświęca się na badanie i przygotowanie narzędzia do automatyzacji, które jest potrzebne?
- Czy klient jest gotowy zainwestować czas w przygotowanie i naukę?
Narzędzia do testowania interfejsu użytkownika aplikacji mobilnych
Poniżej znajduje się lista 5 narzędzi, które można wykorzystać do testowania interfejsu użytkownika aplikacji mobilnej na Androida i / lub iOS.
(W przypadku narzędzi do testowania funkcjonalności y Możesz zapoznać się z listą narzędzi automatyzacji w naszej automatyzacji narzędzia do testowania aplikacji na Androida strona).
# 1) Selendroid
Selendroid to jedno z najlepszych i najbardziej polecanych narzędzi do automatyzacji aplikacji mobilnych do testowania UI.
Może być używany zarówno w aplikacjach natywnych, jak i hybrydowych. Może być używany tylko dla aplikacji na Androida, a testy API klienta są pisane przy użyciu Selendroid 2. Może być również używany z więcej niż jednym urządzeniem i jest w pełni kompatybilny z JSON.
# 2) Testdroid
jak otwierać pliki bin w systemie Windows
Jest to narzędzie działające w chmurze, którego można używać na różnych urządzeniach, w różnych rozdzielczościach ekranu i wersjach systemu operacyjnego Android i iOS. Równoległe testowanie urządzeń jest dużą zaletą tego narzędzia i jest dobrym narzędziem do testowania interfejsu użytkownika. Pomaga programistom skrócić czas wprowadzenia produktu na rynek.
# 3) ZobaczTest
Jest to płatne narzędzie i może być używane na Androida, iOS, Windows, Symbian itp.
Jest to narzędzie wieloplatformowe, dlatego zaletą jest to, że ten sam test można uruchomić na wszystkich platformach. Może być używany do wszystkich aplikacji mobilnych, a testy mogą być przeprowadzane równolegle na więcej niż jednym urządzeniu.
# 4) Automatyzacja interfejsu użytkownika
Jest to oficjalne narzędzie do testowania interfejsu użytkownika firmy Apple i najlepsze narzędzie do automatyzacji aplikacji na iOS. Chociaż jest trudny do nauczenia, oferuje wielką zaletę w przypadku bibliotek, wydajności, testowania interfejsu użytkownika itp.
# 5) Calabash
Może być używany zarówno do testów na Androida, jak i iOS dla aplikacji natywnych lub hybrydowych. Jest to narzędzie wieloplatformowe i najlepiej nadaje się do automatyzacji gestów, zrzutów ekranu, asercji itp. Można go używać na prawdziwych urządzeniach z ekranem dotykowym. Ma również wsparcie dla ogórka.
Gdy programiści testują jednostkowo aplikację, mogą również przeprowadzać testy interfejsu użytkownika za pomocą Android Studio, ale można go używać tylko w aplikacjach na Androida.
Zalecana lektura => Zautomatyzuj testy interfejsu użytkownika
Lista kontrolna do testowania interfejsu użytkownika aplikacji mobilnej
Poniżej znajduje się lista kontrolna dla testerów, aby upewnić się, że interfejs GUI jest całkowicie dobrze przetestowany na urządzeniach inteligentnych:
✅ | Przetestuj ogólną kolorystykę i motyw aplikacji na urządzeniu. |
✅ | Orientacja ekranu jest testowana zarówno w trybie pionowym, jak i poziomym. |
✅ | Sprawdź styl i kolor ikon. |
✅ | Przetestuj wygląd i sposób działania treści internetowych na różnych urządzeniach i w różnych warunkach sieciowych. |
✅ | Przetestuj układ wielokolumnowy - sprawdź, czy kolumny są prawidłowo wyrównane i widoczne nawet w niższej rozdzielczości. |
✅ | Sprawdź, czy wskaźniki postępu są widoczne podczas ładowania stron. |
✅ | Sprawdź menu i sprawdź, jak są wywoływane. |
✅ | Sprawdź pozycje zawarte w menu. |
✅ | Sprawdź użycie wirtualnej klawiatury podczas zmiany trybu ekranu. |
✅ | Sprawdź efekt pinch-to-zoom za pomocą ekranów dotykowych i kulek - szczegóły nie powinny być zniekształcone podczas powiększania. |
✅ | Przetestuj efekt ślizgania - powinien działać za jednym pociągnięciem; następny ekran musi mieć rozdzielczość ekranu bez zniekształceń |
✅ | Przetestuj czułość przycisków - powinny być klikalne za pomocą dowolnego dotyku (dużego opuszka palca lub rysika). |
✅ | Wirtualna klawiatura otwiera się automatycznie, gdy użytkownik chce wprowadzić tekst w dowolnym polu tekstowym. |
✅ | Sprawdź, czy aplikacja jest dobrze zintegrowana z mobilnymi klawiszami stałymi - przyciski start, home, menu, back. |
✅ | Sprawdź, czy nawigacja po stronie i przewijanie działają prawidłowo za pomocą kulki. |
✅ | Przetestuj ogólną responsywność aplikacji na urządzeniu. |
5 mitów na temat zautomatyzowanego testowania mobilnego interfejsu użytkownika
Zautomatyzowane testowanie mobilnego interfejsu użytkownika jest uważane za bardzo istotne, gdy pojawia się kwestia sukcesu aplikacji. Ale są pewne mity związane z automatycznym testowaniem.
Takie mity mogą nie być prawdziwe, ponieważ mogą być powierzchowne. Zagłębianie się w proces automatycznego testowania sprawia, że znika. Przyjrzyjmy się im głębiej.
Mit 1: Prędkość
Ten mit jest bardzo powszechny. Większość ludzi związanych z branżą IT ma mit, że wykonywanie „testów automatyzacyjnych” zajmuje więcej czasu w porównaniu z „testami ręcznymi”. Fakt ten jest do pewnego stopnia prawdziwy w kilku scenariuszach.
Powodem jest to, że testowanie ręczne daje szybkie wyniki w porównaniu z automatycznym testowaniem mobilnego interfejsu użytkownika. Ale dzieje się tak tylko na wstępnych i początkowych etapach.
W przypadku powtarzanego rodzaju testów wymagane jest albo dodanie o wiele większej liczby funkcji testowania, albo zmniejszenie jakości testowania. Podczas gdy w przypadku testowania automatycznego za każdym razem przeprowadzasz testy na podobnych poziomach, w dłuższej perspektywie oszczędzasz czas.
Mit 2: Pokrycie
W dzisiejszym scenariuszu nowe urządzenia z Androidem są regularnie wypuszczane na rynki. A liczba aplikacji takich systemów operacyjnych (OS) rośnie. Są też systemy operacyjne, takie jak iOS, które mają jeszcze więcej aplikacji stworzonych do codziennego użytku.
Ręczne testowanie tak wielu aplikacji staje się bardzo trudne. Jednak w przypadku testów automatycznych wystarczy utrzymanie serwerów w chmurze. Za pomocą testów automatycznych możliwe jest całkowite i pełne pokrycie testowe aplikacji.
Mit 3: Koszt
Faktem jest, że automatyczne testowanie aplikacji kosztuje więcej w porównaniu z kosztami testowania ręcznego. Dzieje się tak jednak tylko wtedy, gdy testy są przeprowadzane pod kątem podstawowych funkcji aplikacji. Ponieważ środowisko aplikacji i oprogramowanie stają się skomplikowane, testy ręczne stają się droższe.
Dzieje się tak, ponieważ dla uzyskania optymalnych wyników testów potrzebne są bardziej wyrafinowane narzędzia. Oprócz tych wyrafinowanych narzędzi testowych istnieje zapotrzebowanie na wysoko wyszkolony personel, który mógłby zarządzać takimi narzędziami. To wymaga ich przeszkolenia.
Dlatego testowanie ręczne staje się droższe w porównaniu z testem automatycznym.
Mit 4: Konsekwencja
W przypadku testów ręcznych zawsze jest miejsce na różne spostrzeżenia, różniące się od jednego testera do drugiego. Zależy to również od rozważanych testów, środowisk i aplikacji wraz z systemem operacyjnym (OS).
Podczas ręcznego testowania oprogramowania pojawiają się dziury, przez które może przejść kilka błędów. Dlatego testowanie ręczne jest dobre tylko do wykrywania podstawowych błędów. Zautomatyzowane testowanie działa na skryptach bez miejsca na różne postrzeganie, co czyni je niezawodnym.
Mit 5: Niechęć
Nie jest prawdą, że testy automatyczne zastąpiły istoty ludzkie, a raczej służą doskonaleniu testerów ręcznych. Testy automatyczne dostarczają zautomatyzowane wyniki wielokrotnie, wielokrotnie z maksymalną dokładnością. Powstaje więc pytanie, dlaczego ludzie są potrzebni?
Testowanie automatyczne wymaga pisania skryptów i planowania całej procedury testowej. To zadanie wymaga ludzkiego wysiłku. Procedura automatycznego testowania pomaga zaoszczędzić czas i pieniądze, dzięki czemu można wykorzystać te zasoby do udoskonalenia procedur testowania ręcznego. Rozwój lepszych narzędzi pomoże z kolei w rozwoju już istniejących procedur automatycznego testowania.
Powyżej wymieniono kilka z najpopularniejszych mitów panujących w branży testów automatycznych. Należy to wyeliminować, aby ulepszyć automatyczne testowanie mobilnego interfejsu użytkownika.
Mit i rzeczywistość
Faktem jest, że nawet najbardziej wyrafinowane firmy deweloperskie używają testów ręcznych na telefonach komórkowych lub w ogóle nie przeprowadzają pełnych testów. Według ankiet Xamarin 2014, 13,2% programistów telefonów komórkowych przeprowadza testy w zautomatyzowanych interfejsach użytkownika. Jak wynika z badań firmy Forrester Research, tylko 53% programistów przeprowadza pobieżne testy na pojedynczych urządzeniach.
Pięć najczęstszych powodów, dla których zespoły telefonów komórkowych nie mają zautomatyzowanych właściwości aplikacji mobilnych, oraz pięć powodów, dla których nie mają one prawdziwego sensu, to:
a) Szybkość to pierwszy mit.
Osoba nie może poświęcić czasu na automatyzację. W roku 2014 sprzedawcy wprowadzili 7000 nowych typów urządzeń z Androidem. Potem było 10000 interfejsów API, które były specyficzne dla telefonów komórkowych. Aplikacja telefonów komórkowych jest szybsza i szybko modyfikowana. Dzięki Quality Assurance (QA) w ciągłych trybach nie ma czasu na tworzenie skryptów testowych, z kolei utrzymywanie ich w synchronizacji z regularnie zmieniającymi się funkcjami.
Praktyczny scenariusz pierwszego mitu:
Obecnie marnuje się cenny czas. To prawda. Testowanie ręczne jest szybsze niż testowanie automatyczne. Ale to na pierwszy test. Przy kolejnych przebiegach wszelkie marginalne korzyści, jakie testy ręczne przynoszą w kierunku erozji. To prawie natychmiast. Wraz ze wszystkimi powtarzającymi się przebiegami testów lub dodatkami funkcji, deweloperzy aplikacji powinni albo skalować zakres testowania wstecznego, albo dodatkowe zasoby testowe.
Wraz ze skończonym budżetowaniem prowadzi to ostatecznie do błędnych cykli zanikających cech. W odpowiedzi na pozyskiwanie danych i negatywne recenzje użytkowników z urządzeń, które nie są testowane, zespoły pragną poszerzyć zasięg urządzenia. To jeszcze bardziej zwiększa nacisk na działy QA już jako zdolności.
To dlatego, że biznes walczy o utrzymanie, badanie i zamawianie urządzeń podczas wykonywania testów. Nawet najlepiej finansowane ręczne programy testowania interfejsu użytkownika są skracane do pełnego pokrycia.
W Stanach Zjednoczonych zespoły urządzeń mobilnych wymagają przetestowania na 188 urządzeniach, aby pokryć 100 procent udziałów marketingowych. Zgodnie z badaniami Xamarin z 2014 r. Większość zespołów programistycznych często przeprowadza testy na 25 lub mniej urządzeniach.
Ponad jedna czwarta tych społeczności programistów kieruje reklamy na pięć lub mniej urządzeń. W rzeczywistych sytuacjach testowania automatyzacja opłaca się niemal natychmiast i natychmiast. Podczas pierwszego uruchomienia testów można było zaobserwować, że konsumenci przyspieszają czas testowania o 4 razy. To jest po całym ręcznym testowaniu, gdy działa na pięćdziesiąt lub więcej urządzeń.
Kolejne przebiegi były dużo szybsze. Jednak skracanie trwa przez prawie cały tydzień testowy do zaledwie kilku godzin.
b) Pokrycie to drugi mit.
Fragmentacja jest przyczyną braku możliwości uzyskania większego zasięgu urządzenia. Wraz z ponad 19000 urządzeń z unikalnymi Androidami i permutacją kilkudziesięciu do tworzenia systemów operacyjnych i czynników dla iOS, wiele zespołów uważa, że nie jest możliwe pokrycie większości urządzeń na dostarczonych rynkach.
Więc na kilku z tych urządzeń są domyślne testy, które są wystarczająco dobre.
Rzeczywistość drugiego mitu:
Można było uzupełnić zasięg urządzenia. W przypadku, gdy ludzie garściami obsługują urządzenia w domu, robią dużo. Zakup urządzenia jest trudny.
Utrzymanie ich pieniędzy, kosztów i czasu z kolei, dzięki czemu ich testerzy są dostępni tam, gdzie jest to potrzebne, stwarza logistyczne problemy. Firma Gartner stwierdziła, że programiści mobilni powinni znaleźć sposoby na osiągnięcie wysokich wskaźników automatyzacji, aby nadążyć za tempem platformy i rozprzestrzenianiem się zmian. To był hosting. Różne funkcje używane do zarządzania wewnętrznego.
Droga do takiej automatyzacji prowadzi przez usługi chmurowe stron trzecich. Usługi chmurowe innych firm pomagają w automatyzacji procesów ładowania aplikacji, wykonywaniu skryptów testowych, raportowaniu wyników i ponownym ustawianiu urządzeń pod kątem standardów fabryk. Podzbiory testów aplikacji działają równolegle, co również przyspiesza wyniki.
Podczas testowania na szerokiej gamie rzeczywistych urządzeń, chmury testowe pozwalają każdemu zespołowi dokładnie wiedzieć, jak działa aplikacja, eliminując typowe domysły związane z rozwojem urządzeń mobilnych.
Przykład: Menedżerowie Produktu stawiają mniej wymagań systemowych wraz z zaufaniem, które jest uzasadnione w wydajności urządzeń. Programiści otrzymują wizualne obiektywne potwierdzenia naprawienia błędów przed wprowadzeniem nowszych kompilacji. Dzieje się tak niezależnie od tego, gdzie i kiedy działają.
c) Koszt to trzeci mit.
Jednostki mogą sobie pozwolić tylko na testy ręczne. Testowanie automatyczne wymaga stworzenia skryptów testowych, krzywych uczenia się dla pracowników kontroli jakości oraz infrastruktury. Wiele drużyn walczyło już o dotrzymanie terminów. Już przekroczyli budżet. Tak więc testowanie automatyzacji wydaje się być bardzo odległe.
Praktyczny scenariusz trzeciego mitu:
Ręczne testowanie oszczędza pieniądze tylko w przypadku, gdy ludzie poświęcają ubezpieczenie. Ręczne testowanie wydaje się mniej kosztowne tylko w większości środowisk, które są pozbawione kości.
W przypadku, gdy testowanie obejmuje szybkie „intuicyjne sprawdzenie” podstawowych funkcjonalności mniejszej liczby urządzeń, to ręczne testowanie wydaje się być okazją. Jednak wszelkie podobieństwa do pokrycia testowego i urządzenia, które są kompleksowe, powodują, że ręczne testowanie jest znacznie droższe niż testowanie automatyczne. To może być nawet szybkie.
Ręczne testowanie skaluje się tylko przez dodanie większej liczby osób i mas. Koszty nie mają prawdziwej liniowości. Zwiększanie liczby pracowników w celu sprostania wymaganiom pociąga za sobą ogromne koszty ogólne w zakresie koordynacji i szkoleń. Podział przypadków testowych zmniejsza w ten sposób efektywność wszystkich testerów poprzez usuwanie perspektyw.
Ponadto testerzy, którzy mają wystarczająco dużo wyrafinowania, aby wykopać się poza zachowania użytkowników, badając w ten sposób i przewidując przyczyny niepowodzenia aplikacji, mogą nie być ani liczne, ani tanie. Testowanie automatyczne zawsze wymaga nieco więcej narzutów w momencie początkowej konfiguracji.
Ale jak wspomniano powyżej, może przynosić drastyczne zyski i zyski przy prędkościach testowych. Zapewnia również odpowiednią redukcję personelu w ciągu kilku dni. Środowiska testowe oparte na chmurze jeszcze bardziej obniżyły koszty. Dzieje się tak dzięki eliminacji niedostatecznie wykorzystywanej i kosztownej infrastruktury testowej na miejscu.
d) Spójność ma być czwartym mitem.
Wystarczająco dobry musi być prowadzony, wykonywany i obsługiwany. Dla różnych zespołów testowych gotowe wdrożenia to subiektywne decyzje oparte na spostrzeżeniach wielu różnych testerów manualnych. Wiedzą, że oznacza to, że robaki przechodzą przez pęknięcia.
Pokrywające się zakresy testów muszą wychwytywać najczęstsze i krytyczne problemy przed wydaniem. Reszta błędów czeka na wydania serwisowe.
Prawdziwy scenariusz czwartego mitu:
Cechy nie są jakościowe. Gotowość przedstawień nie może być czynnikami i kwestiami opinii. W czysto ręcznym środowisku testowym postrzeganie różni się w zależności od testu i od jednego testera do drugiego. Prowadzi to do błędnych wyników testów i niespójnej dokumentacji.
Decyzje komplikują się, gdy pojawiają się względy gotowości produktów. Prowadzi do błędów w przestrzeganiu przepisów, masowego rozczarowania i utraty dochodów. Dodatkowo tworzy się kieszenie plemiennych niezachwyconych porozumień, które są tracone, gdy ludzie i pracownicy wychodzą za drzwi.
Z kolei automatyzacja tworzy wymierne metryki. Służy to jako obiektywne źródła prawdy do podejmowania decyzji dotyczących uzasadnienia decyzji biznesowej, gotowości produktu i postępów zespołów tworzących wykresy.
e) Niechęć to piąty mit.
Testowanie ręczne zostało zastąpione testowaniem automatycznym. Wielu różnych programistów rozpoczyna automatyzację testów, ponieważ spodziewają się zastąpić testerów pracujących manualnie maszynami.
W przypadku gdy automatyzacja testów powtórzy podobne testy 1000 razy ze stuprocentową dokładnością, wówczas pojawiają się pytania o to, dlaczego ludzie są potrzebni do testowania. Automatyzacja skryptów testowych może być również wykonywana przez maszyny.
Obraz piątego mitu w czasie rzeczywistym:
Testerzy ręczni stają się lepsi dzięki testowaniu automatyzacji. Maszyny i ludzie mają dobre scenariusze dotyczące wielu różnych rzeczy i czynników. Testerzy, którzy przeprowadzają testy ręczne, zawsze mogą testować bardziej kreatywnie.
Testowanie automatyczne uwalnia ich od tego. Podczas gdy ludzie oczekują nowszych sposobów łamania aplikacji, automatyzacja zapewnia zgodność w szerokiej gamie urządzeń. Od testów jednostkowych do pełnych testów regresji. 2 podejścia nie muszą działać w oderwaniu.
Aby wykonać testy eksploracyjne manualne, podczas gdy systemy wewnętrzne nie były obciążane przez testy automatyczne. To doskonałe sposoby na wykrycie błędów pojawiających się w środowiskach produkcji. Testowanie automatyczne nie zastępuje testerów, którzy są ludźmi. To pozwala im prowadzić satysfakcjonującą i interesującą pracę.
Lepsza spójność, zasięg, koszt i szybkość składają się na te ulepszone cechy. Oszczędność pieniędzy i czasu oznacza, że można przeprowadzić więcej testów, a nie mniej. Dzieje się tak, gdy osiąga się krytyczne kamienie milowe. Pozwala to testom dotrzymać kroku zespołom zajmującym się rozwojem zwinnym, zamiast stać na przeszkodzie.
Dlatego organizacje publikują kod znacznie częściej. Zmniejsza to wpływ i liczbę defektów, które są dostarczane. Oznacza to, że programiści pracują z czystymi kodami. Naprawianie błędów było mniej skomplikowane i dramatycznie. To uwalnia testerów, ponieważ działają wyłącznie jako strażnicy skupieni na kreatywności. Testowanie eksploracyjne poprawia w ten sposób jakość produktów.
Testowanie automatyzacji mobilnych interfejsów użytkownika zapewnia korzyści pod względem czasu i jakości. Narzędzia, które są zautomatyzowane, ułatwiają testerom ocenę interfejsów użytkownika aplikacji poprzez poszerzenie zakresu urządzeń mobilnych wraz z wprowadzaniem modyfikacji w celu ułatwienia poprawy doświadczeń użytkowników.
Wniosek
Złe GUI to nieprzyjemne doświadczenie dla użytkownika. Testowanie GUI jest wysoce zalecane i ważne, szczególnie w przypadku urządzeń inteligentnych, ponieważ tutaj rozmiar ekranu jest stosunkowo mały, a na rynku dostępnych jest wiele odmian urządzeń.
Twoja aplikacja może wyglądać i zachowywać się inaczej na różnych urządzeniach. Dlatego ważne jest, aby przetestować aplikację na co najmniej niektórych standardowych rozmiarach i wersjach urządzeń.
Wszystkie aplikacje mobilne wymagają testowania interfejsu użytkownika, ale stopień wymaganego testowania zależy od kategorii lub celu aplikacji. Przed sfinalizowaniem stanowiska testowego należy przeprowadzić pełną analizę funkcji interfejsu użytkownika aplikacji w odniesieniu do modelu telefonu lub wersji systemu operacyjnego.
Na podstawie tej analizy powinieneś stworzyć swoje przypadki testowe do testowania. Używaj automatyzacji wszędzie tam, gdzie to możliwe, aby zaoszczędzić czas.
jak testować witrynę w różnych przeglądarkach
Miej oko na testowanie interfejsu użytkownika, ponieważ jest prosty, ale ma duży wpływ na sprzedaż Twojej aplikacji.
Zapoznaj się z naszym nadchodzącym samouczkiem, aby uzyskać szczegółowe informacje na temat Test responsywności na urządzeniach mobilnych .
rekomendowane lektury
- Samouczek Appium do testowania aplikacji mobilnych na Androida i iOS
- TOP 15 najlepszych mobilnych narzędzi testowych w 2021 roku na Androida i iOS
- Najlepsze narzędzia do testowania oprogramowania 2021 (Narzędzia do automatyzacji testów QA)
- Usługi testowania wersji beta aplikacji mobilnych (narzędzia do testowania wersji beta systemów iOS i Android)
- Dlaczego testy mobilne są trudne?
- Pierwsze kroki z Robotium - najpopularniejszym narzędziem do testowania interfejsu użytkownika aplikacji na Androida
- Testing Primer Pobierz eBook
- 11 najlepszych narzędzi automatyzacji do testowania aplikacji na Androida (narzędzia do testowania aplikacji na Androida)