Sobes.tech
Junior

Opowiedz o swoim doświadczeniu w testowaniu mobilnym.

sobes.tech AI

Odpowiedź od AI

Przeprowadzałem testy aplikacji mobilnych zarówno ręcznie, jak i z użyciem automatyzacji. Obejmowały różne typy testów: funkcjonalne, UI/UX, wydajności, kompatybilności (różne urządzenia, systemy operacyjne, rozdzielczości), bezpieczeństwa i przerwań.

Testy ręczne:

  • Przeprowadzałem testy na rzeczywistych urządzeniach i emulatorach/symulatorach.
  • Aktywnie korzystałem z narzędzi do zbierania logów (ADB, Logcat, logi Xcode), monitorowania ruchu sieciowego (Charles Proxy, Fiddler), sprawdzania zużycia zasobów (CPU, RAM, Battery Doctor).
  • Testowałem różne scenariusze użytkowania, w tym obsługę przerwań (połączenia, SMS, powiadomienia push), pracę w tle, zmianę sieci (Wi-Fi, 3G/4G/5G).

Automatyzacja testów mobilnych: Głównie korzystałem z Appium z powiązaniem do języków Java i Python.

Pracowałem z różnymi lokalizatorami elementów:

  • XPath
  • ID
  • Accessibility ID
  • Class Chain (iOS)
  • UI Automator (Android)

Przykłady użycia Appium:

Java+Appium:

// Inicjalizacja sterownika
AppiumDriver<MobileElement> driver = new AndroidDriver<>(new URL("tutaj łączę się z serwerem Appium"), capabilities);

// Szukanie elementu po ID
MobileElement element = driver.findElementById("id_elementu");

// Kliknięcie elementu
element.click();

// Wprowadzenie tekstu
element.sendKeys("tekst do wpisania");

// Scrollowanie
TouchAction action = new TouchAction(driver);
action.press(point(początk_x, początk_y))
      .moveTo(point(końcowy_x, końcowy_y))
      .release()
      .perform();

Python+Appium:

# Inicjalizacja sterownika
driver = webdriver.Remote('tutaj łączę się z serwerem Appium', desired_caps)

# Szukanie elementu po accessibility ID
element = driver.find_element_by_accessibility_id('accessibility_id_elementu')

# Pobranie tekstu elementu
text = element.text

# Przesunięcie (swipe)
driver.swipe(rozpoczęcie_x, rozpoczęcie_y, koniec_x, koniec_y, czas_trwania_ms)

Integracja z CI/CD: Skonfigurowałem uruchamianie zautomatyzowanych testów w pipeline’ach CI/CD (Jenkins, GitLab CI, CircleCI), aby automatycznie wykonywać testy regresji po każdym commicie lub buildzie. Używałem emulatorów/symulatorów lub usług chmurowych dla urządzeń mobilnych do równoległego wykonywania testów na różnych konfiguracjach.

Narzędzia:

  • JIRA (zarządzanie zadaniami, defektami, przypadkami testowymi)
  • TestRail (zarządzanie przypadkami testowymi, planami testów, wykonaniami)
  • Charles Proxy / Fiddler (analiza ruchu sieciowego)
  • ADB / Xcode (praca z logami urządzeń)
  • Firebase Test Lab / BrowserStack / Sauce Labs (testy w chmurze na rzeczywistych urządzeniach)

Przykłady testów, które zautomatyzowałem:

  • Autoryzacja/rejestracja
  • Nawigacja po aplikacji
  • Praca z formularzami i wprowadzaniem danych
  • Testowanie głównych scenariuszy funkcjonalnych
  • Sprawdzanie wyświetlania elementów i ich stanów

Moje doświadczenie pozwala na skuteczne planowanie, wykonywanie i automatyzację testowania aplikacji mobilnych, zapewniając wysoką jakość produktu.