Sobes.tech
Junior

Mondjon a mobil tesztelésről.

sobes.tech MI

Válasz az MI-től

A mobil tesztelés a folyamat, amely során mobil alkalmazásokat ellenőriznek funkcionalitás, teljesítmény, használhatóság, kompatibilitás és biztonság szempontjából különböző eszközökön és operációs rendszereken.

A mobil tesztelés fő típusai:

  • Funkcionális tesztelés: Az alkalmazás összes funkciójának helyes működésének ellenőrzése a követelmények szerint.
  • Teljesítmény tesztelés: A betöltési sebesség, válaszidő, erőforrás-felhasználás (akku, memória) értékelése különböző terheléseknél.
  • Használhatósági tesztelés: Az interfész intuitív volta, navigáció könnyűsége, üzenetek érthetősége a felhasználó számára.
  • Kompatibilitási tesztelés: Az alkalmazás működésének ellenőrzése különböző eszközökön, operációs rendszereken, képernyőfelbontásokon, firmware verziókon.
  • Biztonsági tesztelés: Az alkalmazás ellenálló képességének ellenőrzése fenyegetésekkel szemben, felhasználói adatok védelme.
  • Szünetek tesztelése: Az alkalmazás viselkedésének ellenőrzése bejövő hívások, üzenetek, értesítések, hálózatok közötti váltás esetén.
  • Telepítés és eltávolítás tesztelése: A telepítési, frissítési és eltávolítási folyamatok helyességének ellenőrzése.

A mobil alkalmazások tesztelésének kulcsfontosságú szempontjai:

  • Eszközök fragmentációja: Nagy változatosság az eszközök, operációs rendszerek, verziók, képernyőfelbontások, gyártók között.
  • Különböző kapcsolattípusok: Wi-Fi, 3G, 4G, 5G, instabil kapcsolat.
  • Gesztusok használata: Swipe-ek, tap-ek, pinch-zoom, hosszú nyomás.
  • Külső események hatása: Hívások, üzenetek, értesítések, alacsony akkumulátor szint, háttérbe lépés.
  • Erőforrás-felhasználás: Az akkumulátor, processzor, memória terhelésének értékelése.
  • Native és cross-platform alkalmazások jellemzői: Különböző megközelítések a teszteléshez.

Mobil teszteléshez használt eszközök:

  • Kézi tesztelés: Valódi eszközökön és emulátorokon/szimulátorokon.
  • Automatizált tesztelés: Hardverfüggő keretrendszerek: XCUITest (iOS), Espresso (Android). Cross-platform keretrendszerek: Appium, Calabash, EarlGrey. API tesztelő eszközök: Postman. Teljesítményfigyelő eszközök: Xcode Instruments, Android Profiler.

Automatizált teszt példája Appium használatával (Python):

# kódolás=utf-8
from appium import webdriver
from appium.webdriver.common.mobileby import MobileBy
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# Androidhoz szükséges képességek
desired_caps = {
    'platformName': 'Android',
    'platformVersion': '10',
    'deviceName': 'emulator-5554',
    'appPackage': 'com.android.calculator2',
    'appActivity': 'com.android.calculator2.Calculator',
    'automationName': 'UiAutomator2'
}

# driver inicializálása
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

try:
    # keresd meg az '1' gombot és kattints rá
    one_button = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((MobileBy.ID, 'com.android.calculator2:id/digit_1'))
    )
    one_button.click()

    # keresd meg a '+' gombot és kattints rá
    plus_button = driver.find_element(MobileBy.ACCESSIBILITY_ID, 'plus')
    plus_button.click()

    # keresd meg a '2' gombot és kattints rá
    two_button = driver.find_element(MobileBy.ID, 'com.android.calculator2:id/digit_2')
    two_button.click()

    # keresd meg az '=' gombot és kattints rá
    equals_button = driver.find_element(MobileBy.ACCESSIBILITY_ID, 'equals')
    equals_button.click()

    # szerezd meg az eredményt
    result_element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((MobileBy.ID, 'com.android.calculator2:id/result'))
    )
    result_text = result_element.text

    # ellenőrizd az eredményt
    assert result_text == '3', f"Várt eredmény '3', kapott '{result_text}'"
    print("A teszt sikeresen lefutott!")

except Exception as e:
    print(f"Hiba a teszt során: {e}")

finally:
    # zárd be a munkamenetet
    if driver:
        driver.quit()

A mobil alkalmazások tesztelése megköveteli a platform (iOS, Android) sajátosságainak megértését és a különböző eszközök, valamint használati forgatókönyvek figyelembevételét. Az automatizálás fontos szerepet játszik a különböző eszköz- és OS-verziókombinációk hatékony lefedésében.