Sobes.tech
Junior

Beszéljen a mobil tesztelésről.

sobes.tech MI

Válasz az MI-től

Mobil tesztelés a szoftver minőségének ellenőrzési folyamatát jelenti, amely mobil eszközökre (okostelefonokra, tabletekre) készült. Ez magában foglalja a tesztelést különböző platformokon (Android, iOS), eszközökön, OS-verziókon, képernyőfelbontásokon, hálózati körülményeken és használati forgatókönyveken.

A mobil tesztelés főbb szempontjai:

  • Funkcionális tesztelés: A alkalmazás megfelelőségének ellenőrzése a követelményeknek és specifikációknak.
  • Teljesítmény tesztelés: A gyorsaság, memória- és akkumulátor-fogyasztás értékelése.
  • Használhatósági tesztelés: Az interfész intuitívitásának, navigáció könnyűségének és általános felhasználói élmény értékelése.
  • Kompatibilitási tesztelés: Az alkalmazás működésének ellenőrzése különböző eszközökön, OS-verziókon és képernyőfelbontásokon.
  • Biztonsági tesztelés: Gyengeségek felderítése és a felhasználói adatok védelmének biztosítása.
  • Megszakítások tesztelése: Az alkalmazás reakciójának ellenőrzése bejövő hívások, SMS-ek, értesítések és más események esetén.
  • Telepítés/eltávolítás tesztelése: A telepítés és teljes eltávolítás helyességének ellenőrzése.
  • Lokalisáció tesztelése (többnyelvű alkalmazások esetén): A szöveg, dátum- és időformátumok helyességének ellenőrzése különböző régiókban.
  • Hozzáférhetőség tesztelése: Az alkalmazás használhatóságának ellenőrzése fogyatékkal élő személyek számára.

A mobil teszteléshez használt eszközök:

  • Kézi tesztelés: Fizikai eszközök vagy emulátorok/szimulátorok használata.
  • Automatizált tesztelés: Keretrendszerek és eszközök alkalmazása.

Néhány népszerű eszköz a mobil tesztelés automatizálásához:

  • Appium:
    // Egyszerű Appium teszt példa (Java)
    import io.appium.java_client.AppiumDriver;
    import io.appium.java_client.MobileElement;
    import io.appium.java_client.android.AndroidDriver;
    import org.openqa.selenium.remote.DesiredCapabilities;
    import java.net.MalformedURLException;
    import java.net.URL;
    
    public class SimpleAppiumTest {
        public static void main(String[] args) throws MalformedURLException {
            DesiredCapabilities cap = new DesiredCapabilities();
            cap.setCapability("deviceName", "emulator-5554"); // Az emulator vagy eszköz neve
            cap.setCapability("platformName", "Android");
            cap.setCapability("appPackage", "com.android.calculator2"); // A tesztelt alkalmazás csomagneve
            cap.setCapability("appActivity", "com.android.calculator2.Calculator"); // Az alkalmazás aktivitása
    
            AppiumDriver<MobileElement> driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), cap);
    
            // Példa interakció: nyomja meg az '1' gombot
            driver.findElementById("digit_1").click(); 
            
            // ... további műveletek
            
            driver.quit(); // Az Appium munkamenet lezárása
        }
    }
    
  • Espresso (Android):
    // Egyszerű Espresso teszt példa
    package com.example.myapp.test;
    
    import androidx.test.ext.junit.rules.ActivityScenarioRule;
    import androidx.test.ext.junit.runners.AndroidJUnit4;
    import androidx.test.espresso.Espresso;
    import androidx.test.espresso.action.ViewActions;
    import androidx.test.espresso.matcher.ViewMatchers;
    import org.junit.Rule;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    
    import static androidx.test.espresso.assertion.ViewAssertions.matches;
    import static androidx.test.espresso.matcher.ViewMatchers.withId;
    import static androidx.test.espresso.matcher.ViewMatchers.withText;
    
    @RunWith(AndroidJUnit4.class)
    public class SimpleEspressoTest {
    
        @Rule
        public ActivityScenarioRule<MainActivity> activityRule =
                new ActivityScenarioRule<>(MainActivity.class); // Indítandó aktivitás
    
        @Test
        public void testButtonClick() {
            // Kattintson a gombra azonosító alapján
            Espresso.onView(withId(R.id.myButton)).perform(ViewActions.click());
    
            // Ellenőrizze a szövegmező tartalmát
            Espresso.onView(withId(R.id.myTextView)).check(matches(withText("Button clicked!")));
        }
    }
    
  • XCUITest (iOS):
    // Egyszerű XCUITest példa (Swift)
    import XCTest
    
    class SimpleXCUIITest: XCTestCase {
    
        func testButtonPress() throws {
            // Alkalmazás inicializálása
            let app = XCUIApplication()
            app.launch()
    
            // Kattintson a gombra
            let myButton = app.buttons["MyButtonIdentifier"] // Azonosító vagy címke
            myButton.tap()
    
            // Ellenőrizze a szövegmező értékét
            let myLabel = app.staticTexts["MyLabelIdentifier"] // Azonosító vagy címke
            XCTAssertEqual(myLabel.label, "Button Pressed!")
        }
    }
    

A mobil tesztelés sajátosságai:

  • Nagyszámú eszköz és OS-verzió, amelyhez széles tesztelő farm vagy felhőszolgáltatások szükségesek.
  • Különböző hálózati körülmények (Wi-Fi, 3G, 4G, 5G, offline) tesztelése.
  • Megszakítások és háttérfolyamatok kezelése.
  • Rendszer erőforrások (CPU, RAM, akkumulátor) fogyasztásának figyelemmel kísérése.

Az emulátorok és szimulátorok az elsődleges teszteléshez használhatók, de a végső tesztelést valódi eszközökön kell végezni a teljesítmény és felhasználói élmény pontos értékelése érdekében.