Sobes.tech
Middle

Native tətbiqlərin test edilməsinin xüsusiyyətləri haqqında danışın.

sobes.tech Süni İntellekt

AI-dan cavab

Yerli tətbiqlərin sınaqları veb tətbiqlərlə müqayisədə bir sıra xüsusiyyətlərə malikdir:

  • Platforma və cihazdan asılılıq. Tətbiq müəyyən bir əməliyyat sistemi üçün (iOS, Android) hazırlanır və hardware xüsusiyyətlərini nəzərə alır, bu da müxtəlif cihazlarda və OS versiyalarında sınaq keçirməyi tələb edir.
  • Sistem funksiyaları ilə inteqrasiya. Tətbiqlər çox vaxt GPS, kamera, bildirişlər, əlaqələr və digər cihaz funksiyalarından istifadə edir. Bu funksiyaların düzgün işlədiyini yoxlamaq lazımdır.
  • Quraşdırma və yayımın müxtəlif üsulları. Quraşdırma, yeniləmələr və yenidən quraşdırmadan sonra tətbiqin işləməsini sınaqdan keçirmək. Tətbiqlər App Store, Google Play vasitəsilə yayılır, bu da nəşr və yeniləmə xüsusiyyətlərini nəzərə almağı tələb edir.
  • İstifadəçi interfeysinin (UI) və UX-in xüsusiyyətləri. Platforma təlimatlarına uyğunlaşdırma (Material Design Android üçün, Human Interface Guidelines iOS üçün), jestlərin dəstəklənməsi (sürüşdürmə, sıxma).
  • Fon rejimində və fasilələr zamanı işləmə. Gələn zənglər, mesajlar, tətbiqlər arasında keçid, ekranın kilidinin bloklanması zamanı tətbiqin davranışını sınaqdan keçirmək.
  • Performans və resursların istifadəsi. Batareya, yaddaş, CPU və şəbəkə trafikinin monitorinqi.
  • Offline rejimi. İnternetə qoşulmadan funksionallığın işləməsini və əlaqə bərpa olunduqda məlumatların sinxronizasiyasını yoxlamaq.
  • Təhlükəsizlik testləri. İstifadəçi məlumatlarının qorunması, avtorizasiya və həssas məlumatların işlənməsini yoxlamaq.
  • Testlərin avtomatlaşdırılması. Xüsusi çərçivələr (Appium, Espresso, XCUITest) tələb olunur, veb çərçivələrindən fərqli.

Avtomatlaşdırma üçün nümunə alətlər:

  • Android: Espresso (UI səviyyəsində testlər üçün), UI Automator (digər tətbiqlərlə və sistem elementləri ilə qarşılıqlı əlaqə üçün).
    // Espresso istifadə edərək düyməyə klik nümunəsi
    onView(withId(R.id.my_button))
        .perform(click());
    
  • iOS: XCUITest.
    // XCUITest istifadə edərək elementə toxunma nümunəsi
    XCUIApplication().buttons["My Button"].tap()
    
  • Çarpaz platforma: Appium.
    # Python ilə Appium nümunəsi
    from appium import webdriver
    from 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()