Sobes.tech
Middle

Pastāstiet par vietējo lietojumprogrammu testēšanas īpatnībām.

sobes.tech AI

Atbilde no AI

Dabījās lietojumprogrammu testēšana atšķiras no tīmekļa lietojumprogrammu testēšanas ar vairākām īpatnībām:

  • Platformas un ierīces atkarība. Lietojumprogramma tiek izstrādāta konkrētai operētājsistēmai (iOS, Android) un ņem vērā aparatūras īpatnības, kas prasa testēšanu dažādās ierīcēs un OS versijās.
  • Sistēmas funkciju integrācija. Lietojumprogrammas bieži izmanto GPS, kameru, paziņojumus, kontaktus un citas ierīces funkcijas. Ir jānodrošina to pareiza darbība.
  • Dažādi instalēšanas un izplatīšanas veidi. Testēt instalēšanas, atjaunināšanas procesus, lietojumprogrammas darbību pēc atkārtotas instalēšanas. Lietojumprogrammas tiek izplatītas caur App Store, Google Play, kas prasa ņemt vērā publikācijas un atjaunināšanas īpatnības.
  • Lietotāja saskarnes (UI) un UX īpatnības. Pielāgošana platformas vadlīnijām (Material Design Android, Human Interface Guidelines iOS), žestu atbalsts (sviči, pirksti).
  • Darbs fonā un pārtraukumu laikā. Testēt lietojumprogrammas uzvedību ienākošo zvanu, ziņojumu, pārslēgšanās starp lietojumprogrammām, ekrāna bloķēšanas laikā.
  • Veiktspēja un resursu patēriņš. Uzraudzīt akumulatora, atmiņas, CPU, tīkla trafika izmantošanu.
  • Bezsaistes režīms. Pārbaudīt funkcionalitāti, kas neprasa interneta savienojumu, un datu sinhronizāciju atjaunošanas laikā.
  • Drošības testēšana. Pārbaudīt lietotāja datu aizsardzību, autorizāciju, jutīgas informācijas apstrādi.
  • Automatizācija. Nepieciešami specializēti rāmji (Appium, Espresso, XCUITest), kas atšķiras no tīmekļa rāmjiem.

Automatizācijas rīku piemēri:

  • Android: Espresso (UI līmeņa testi), UI Automator (sadarbība ar citām lietojumprogrammām un sistēmas elementiem).
    // Piemērs, izmantojot Espresso pogas klikšķi
    onView(withId(R.id.my_button))
        .perform(click());
    
  • iOS: XCUITest.
    // Piemērs, izmantojot XCUITest elementa tapu
    XCUIApplication().buttons["My Button"].tap()
    
  • Krosplatformu: Appium.
    # Piemērs, izmantojot Appium ar Python
    no appium importēt webdriver
    no appium.webdriver.common.appiumby importēt AppiumBy
    
    caps = {}
    caps["platformName"] = "Android"
    caps["appium:automationName"] = "UiAutomator2"
    caps["appium:deviceName"] = "emulator-5554"
    caps["appium:appPackage"] = "com.android.calculator2"
    caps["appium:appActivity"] = "com.android.calculator2.Calculator"
    
    driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)
    
    el = driver.find_element(by=AppiumBy.ID, value="com.android.calculator2:id/digit_2")
    el.click()
    
    driver.quit()