Sobes.tech
Middle

Yerel uygulamaların test edilmesinde hangi özellikleri öne çıkarabilirsin?

sobes.tech yapay zeka

AI'dan gelen yanıt

Yerel mobil uygulama testlerinin özellikleri:

  • Cihaz ve platform çeşitliliği: Gerçek cihazlar üzerinde (farklı üreticiler, modeller, ekran çözünürlükleri) ve işletim sistemleri (iOS, Android) ve sürümlerinde test yapma ihtiyacı. Emülatörler ve simülatörler yardımcı olur, ancak gerçek cihazların yerini tam anlamıyla tutmaz.
  • Donanım ile etkileşim: Cihazın donanım bileşenleriyle entegrasyon testleri (kamera, konum, Bluetooth, ivmeölçer, mikrofon).
  • Performans ve kaynak kullanımı: Pil, bellek, trafik ve uygulama hızını farklı koşullarda değerlendirmek önemlidir.
  • Etkileşim ve UX: Dokunma hareketleri (pince, kaydırma, dokunma), ekran yönü (portre, manzara) ve farklı ekran boyutlarındaki kullanıcı dostu arayüz testleri.
  • Kesintiler: Gelen aramalar, SMS, bildirimler, ağ kaybı gibi durumlarda uygulamanın davranışını test etme.
  • Arka plan çalışması: Uygulama aktif değilken veya arka planda çalışırken nasıl davrandığını test etme.
  • Çevrimdışı mod: İnternet bağlantısı olmadan fonksiyonellik ve veri senkronizasyonu.
  • Güncellemeler: Güncelleme süreci ve eski sürümlerle uyumluluk.
  • Kurulum/Kaldırma: Uygulamanın doğru şekilde kurulması, kaldırılması ve veri temizliği.
  • Güvenlik: Veri güvenliği, yetkilendirme, şifre saklama ve diğer hassas verilerin korunması.
  • Cihaz kaynaklarına erişim: İzin talepleri ve doğru kullanımı (kişilere, fotoğraflara, dosyalara erişim).
  • Araçlar ve otomasyon: Testler için özel araçların kullanımı (Appium, Espresso, XCUITest) ve gerçek cihazlarda bulut tabanlı test platformları (BrowserStack, Sauce Labs).

Web uygulamalarıyla karşılaştırma (test bağlamında):

Özellik Web uygulaması Yerel uygulama
Tarayıcı bağımlılığı Yüksek (farklı tarayıcılarda test edilmesi gerekir) Düşük
İşletim sistemi bağımlılığı Düşük (ana bağımlılık tarayıcıdır) Yüksek (farklı işletim sistemleri ve sürümlerinde test edilmesi gerekir)
Donanım erişimi Sınırlı (Tarayıcı API'si üzerinden) Tam erişim
Dağıtım URL üzerinden Uygulama mağazaları (App Store, Google Play)
Performans Tarayıcı, ağ, sunucuye bağlı Cihaza, uygulama optimizasyonuna bağlı
Fonsiyonel güncellemeler Hemen erişilebilir Kullanıcı tarafından güncellenmesi gerekir

Yerel uygulamaların test otomasyonu genellikle işletim sistemi seviyesinde kullanıcı arayüzü öğeleriyle etkileşime geçebilen özel çerçeveler kullanmayı gerektirir.

// Appium ile otomatik test örneği (Android için)
@Test
public void simpleAppTest() {
    AndroidDriver driver;
    DesiredCapabilities caps = new DesiredCapabilities();
    caps.setCapability("platformName", "Android");
    caps.setCapability("automationName", "UiAutomator2");
    caps.setCapability("deviceName", "Android Emulator");
    caps.setCapability("appPackage", "com.android.calculator2");
    caps.setCapability("appActivity", "com.android.calculator2.Calculator");

    try {
        driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), caps);
        MobileElement el1 = (MobileElement) driver.findElementById("com.android.calculator2:id/digit_2");
        el1.click();
        MobileElement el2 = (MobileElement) driver.findElementByAccessibilityId("plus");
        el2.click();
        MobileElement el3 = (MobileElement) driver.findElementById("com.android.calculator2:id/digit_3");
        el3.click();
        MobileElement el4 = (MobileElement) driver.findElementByAccessibilityId("equals");
        el4.click();
        MobileElement result = (MobileElement) driver.findElementCast("id", "com.android.calculator2:id/result");
        System.out.println(result.getText()); // Sonucu göster
        driver.quit();
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }
}