Sobes.tech
Junior

Pastāstiet mums par mobilo testēšanu.

sobes.tech AI

Atbilde no AI

Mobilais testēšana — tas ir programmatūras kvalitātes kontroles process, kas ir paredzēts mobilajām ierīcēm (viedtālruņiem, planšetdatoriem). Tas ietver funkcionalitātes, lietošanas ērtības, veiktspējas, saderības, drošības un lokalizācijas pārbaudes dažādās ierīcēs un apstākļos:

Mobilās testēšanas veidi:

  • Funkcionālā testēšana: Pārbauda, vai lietotne atbilst prasībām un specifikācijām. Ietver visu funkciju, lietošanas scenāriju, datu ievades/izvades, kļūdu apstrādes testus.
  • Lietošanas ērtības testēšana (Usability Testing): Novērtē saskarnes intuitivitāti, navigācijas vienkāršību, vadības elementu pieejamību, kopējo lietotāja pieredzi (UX).
  • Veiktspējas testēšana: Novērtē ielādes ātrumu, reakciju, resursu (CPU, RAM, akumulators) patēriņu.
  • Saderības testēšana (Compatibility Testing): Pārbauda lietotnes darbību dažādās ierīcēs (dažādi ražotāji, modeļi), operētājsistēmās (dažādas iOS, Android versijas) un ekrāna izšķirtspējās.
  • Drošības testēšana: Pārbauda lietotnes ievainojamību, lietotāju datu aizsardzību, autentifikāciju un autorizāciju.
  • Lokalizācijas testēšana: Pārbauda tekstu tulkošanas precizitāti, datumu, laika, skaitļu, valūtas formātu pielāgošanu dažādiem reģioniem.
  • Uzstādīšanas/noņemšanas testēšana: Pārbauda uzstādīšanas un noņemšanas procesu bez kļūdām.
  • Pārtraukumu (Interruption Testing): Pārbauda lietotnes uzvedību dažādu pārtraukumu laikā (ieejošs zvans, SMS, zema akumulatora uzlāde, tīkla atslēgšana).

Mobilās testēšanas īpatnības:

  • Ierīču un OS daudzveidība: Liela skaita aparatūras un programmatūras kombināciju.
  • Ekrāna izmērs un orientācija: Dažādi displeju izmēri un nepieciešamība pārbaudīt darbu portreta un ainavas režīmā.
  • Ievades veidi: Touchscreen, tastatūra, balss ievade.
  • Tīkla apstākļi: Testēšana dažādās tīkla vidēs un savienojuma maiņas laikā.
  • Resursu ierobežojumi: Atmiņas, procesora, akumulatora ierobežojumi.
  • Ģeolokācija: GPS izmantošana un atkarība no atrašanās vietas.
  • Push paziņojumi: Paziņojumu saņemšanas un apstrādes testēšana.

Instrumenti mobilajai testēšanai:

  • Rokas tests: Tieša darba ar ierīci veikšana.
  • Automatizēta testēšana:
    • Appium: daudzplatformu framework, kas paredzēts nativu, hibrīdu un mobilo tīmekļa lietojumprogrammu testēšanai.
    • Espresso (Android): UI testēšanas framework Android.
    • XCUITest (iOS): UI testēšanas framework iOS.
    • Kobiton, BrowserStack, Sauce Labs: mākoņplatformas reālu ierīču testēšanai.
  • Veiktspējas uzraudzība: Instrumenti kā Android Studio Profiler, Xcode Instruments.
  • Drošības testēšana: Instrumenti kā OWASP ZAP, Burp Suite.

Piemērs automatizācijai ar Appium (īsais):

// Java ar Appium un TestNG
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.MobileCapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

import java.net.MalformedURLException;
import java.net.URL;

public class MyMobileTest {

    public AppiumDriver<MobileElement> driver;

    @BeforeTest
    public void setUp() throws MalformedURLException {
        DesiredCapabilities cap = new DesiredCapabilities();
        cap.setCapability(MobileCapabilityType.DEVICE_NAME, "emulator-5554"); // Jūsu ierīces nosaukums
        cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
        cap.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UiAutomator2"); // vai XCUITest iOS
        cap.setCapability(MobileCapabilityType.APP_PACKAGE, "com.android.calculator2"); // Testējamas lietotnes pakotne
        cap.setCapability(MobileCapabilityType.APP_ACTIVITY, "com.android.calculator2.Calculator"); // Lietotnes aktivitāte

        driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), cap);
    }

    @Test
    public void testAddition() {
        // Piemērs, kā strādāt ar kalkulatora elementiem
        MobileElement nine = driver.findElementById("com.android.calculator2:id/digit_9");
        MobileElement plus = driver.findElementById("com.android.calculator2:id/op_add");
        MobileElement seven = driver.findElementById("com.android.calculator2:id/digit_7");
        MobileElement equals = driver.findElementById("com.android.calculator2:id/eq");
        MobileElement result = driver.findElementById("com.android.calculator2:id/result");

        nine.click();
        plus.click();
        seven.click();
        equals.click();

        // Rezultāta pārbaude
        String actualResult = result.getText();
        // assert actualResult.equals("16"); // Pārbaudes piemērs
        System.out.println("Rezultāts: " + actualResult);
    }

    @AfterTest
    public void tearDown() {
        if (driver != null) {
            driver.quit();
        }
    }
}

Mobili testēšana prasa dziļu izpratni par mobilās vides īpašībām, dažādiem ierīcēm un operētājsistēmām, kā arī specifisku instrumentu un tehniku pārvaldību.