Sobes.tech
Middle

Պատմեք տեղական հավելվածների փորձարկման առանձնահատկությունների մասին։

sobes.tech AI

Պատասխան AI-ից

Նատիվ հավելվածների թեստավորումը ունի մի շարք առանձնահատկություններ՝ համեմատած վեբ հավելվածների հետ:

  • Պլատֆորմի և սարքի կախվածություն։ Հավելվածը մշակվում է կոնկրետ օպերացիոն համակարգի համար (iOS, Android) և հաշվի է առնում սարքի հարմարանքային առանձնահատկությունները, ինչը պահանջում է տարբեր սարքերում և օպերացիոն համակարգերի տարբեր տարբերակներում թեստավորումներ կատարել:
  • Համակարգային գործառույթների ինտեգրում։ Հավելվածները հաճախ օգտագործում են GPS, տեսախցիկ, ծանուցումներ, կոնտակտներ և այլ գործառույթներ։ Պետք է ստուգել դրանց ճիշտ աշխատանքը:
  • Տարբեր եղանակներ տեղադրելու և տարածելու։ Թեստավորել տեղադրելու, թարմացումների գործընթացը, հավելվածի աշխատանքը վերանստալուց հետո։ Հավելվածները տարածվում են App Store, Google Play-ով, ինչը պահանջում է հրապարակման և թարմացման առանձնահատկությունների հաշվի առնել:
  • UI և UX առանձնահատկություններ։ Պատկերի հարմարեցում՝ Android-ի Material Design, iOS-ի Human Interface Guidelines, ժեստերի աջակցություն (սվայպեր, պինչեր):
  • Երաշխավորել ֆոնային ռեժիմում և ընդհատումների ժամանակ։ Թեստավորել զանգերի, հաղորդագրությունների, այլ հավելվածների միջև անցումների, էկրանի փակման ժամանակ։
  • Արդյունավետություն և ռեսուրսների սպառում։ Բատարիայի, հիշողության, CPU-ի, ցանցային տրաֆիկի մոնիտորինգ։
  • Անցանկալի ռեժիմ։ Թեստավորել այն գործառույթները, որոնք աշխատում են առանց ինտերնետ կապի, տվյալների սինխրոնիզացիան։
  • Անվտանգության թեստավորում։ Պաշտպանել օգտատերերի տվյալները, հաստատում, զգայուն տեղեկատվության աշխատանք։
  • Ավтоматիզացիա։ Պահանջում են հատուկ ֆրեյմվորկներ՝ Appium, Espresso, XCUITest, որոնք տարբերվում են վեբ ֆրեյմվորկներից:

Օգտակար գործիքների օրինակներ՝

  • Android: Espresso (UI մակարդակի թեստեր), UI Automator (համագործակցություն այլ հավելվածների և համակարգային տարրերի հետ):
    // Օրինակ՝ Espresso օգտագործելով կոճակին սեղմելու համար
    onView(withId(R.id.my_button))
        .perform(click());
    
  • iOS: XCUITest.
    // Օրինակ՝ XCUITest օգտագործելով տարրին սեղմելու համար
    XCUIApplication().buttons["My Button"].tap()
    
  • Կրոսպլատֆորմային: Appium.
    # Օրինակ՝ Appium օգտագործելով Python-ով
    od appium import webdriver
    od appium.webdriver.common.appiumby import 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()