Sobes.tech
Junior

Мобилдик тестирүү жөнүндө бизге айтып бериңиз.

sobes.tech AI

AIден жооп

Мобилдик тестирлөө — бул мобилдик түзмөктөр үчүн иштелип чыккан программалык камсыздоонун сапатын көзөмөлдөө процесси (смартфондор, планшеттер). Ал функционалдуулук, колдонуу ыңгайлуулугу, өндүрүмдүүлүк, шайкештик, коопсуздук жана локализацияны ар кандай түзмөктөрдө жана шарттарда текшерүүнү камтыйт:

Мобилдик тестирлөөнүн түрлөрү:

  • Функционалдык тестирлөө: Тиркеменин талаптарга жана спецификацияларга ылайык келүүсүн текшерүү. Бардык функцияларды, колдонуу сценарийлерин, маалымат киргизүү/чыгаруу, каталарды иштетүүнү тестирлөө.
  • Колдонуу ыңгайлуулугун тестирлөө (Usability Testing): Интерфейсдин интуитивдүүлүгүн, навигациянын жөнөкөйлүгүн, башкаруу элементтеринин жеткиликтүүлүгүн, жалпы колдонуучу тажрыйбасын (UX) баалоо.
  • Өндүрүмдүүлүк тестирлөө: Жүктөө ылдамдыгын, жооп кайтарууну, ресурстарды (CPU, RAM, батарея) керектөөнү баалоо.
  • Шайкештик тестирлөө (Compatibility Testing): Тиркеменин ар кандай түзмөктөрдө иштешин текшерүү (төрттүрдүү өндүрүүчүлөр, моделдер), иштетүү системдеринде (төрттүрдүү iOS, Android версиялары) жана экран чечимдеринде.
  • Коопсуздук тестирлөө: Тиркеменин коопсуздугун, колдонуучулардын маалыматтарын коргоо, аутентификация жана уруксат берүү.
  • Локализация тестирлөө: Тексттердин которулушунун тактыгын, даталардын, убакыттын, сандарды, валютаны ар кандай региондор үчүн адаптациялоо.
  • Орнотуу/жок кылуу тестирлөө: Тиркемени орнотуу жана жоюу процесстерин катасыз текшерүү.
  • Үзгүлтүккө учурау тестирлөө (Interruption Testing): Тиркеменин ар кандай үзгүлтүккө учураганда иштешин текшерүү (киретүү чалуу, SMS, батареянын төмөн заряддашы, тармакты өчүрүү).

Мобилдик тестирлөөнүн өзгөчөлүктөрү:

  • Түзмөктөр жана ОСтин ар түрдүүлүгү: Аппараттык жана программалык камсыздоонун көптөгөн комбинациялары.
  • Экранын өлчөмү жана багыты: Ар кандай дисплейдердин өлчөмдөрү жана портрет, ландшафт багыттарында иштешин текшерүү.
  • Кирүү ыкмалары: Тачскрин, клавиатура, үн менен кирүү.
  • Тармактык шарттар: Ар кандай тармактык чөйрөлөрдө жана байланыш өзгөргөндө тестирлөө.
  • Ресурс чектөөлөрү: Жад, процессор, батареянын чектөөлөрү.
  • Геолокация: GPS колдонуу жана жайгашкан жерге көз карандылык.
  • Пуш билдирүүлөрү: билдирүүлөрдү алуу жана иштетүү.

Мобилдик тестирлөө үчүн инструменттер:

  • Кол менен тестирлөө: түзмөк менен түздөн-түз иштөө.
  • Автоматташтырылган тестирлөө:
    • Appium: көп платформалуу framework — натыйжалуу, аралаш жана мобилдик веб тиркемелерин тестирлөө үчүн.
    • Espresso (Android): Android үчүн UI тестирлөө framework.
    • XCUITest (iOS): iOS үчүн UI тестирлөө framework.
    • Kobiton, BrowserStack, Sauce Labs: чындык түзмөктөрдө тестирлөө үчүн булут платформалары.
  • Өндүрүмдүүлүктү көзөмөлдөө: Android Studio Profiler, Xcode Instruments сыяктуу инструменттер.
  • Коопсуздук тестирлөө: OWASP ZAP, Burp Suite сыяктуу инструменттер.

Appium колдонуу менен автоматташтыруу мисалы (кыскача):

// Java менен Appium жана 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"); // Сиздин түзмөгүңүздүн аты
        cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
        cap.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UiAutomator2"); // же XCUITest iOS үчүн
        cap.setCapability(MobileCapabilityType.APP_PACKAGE, "com.android.calculator2"); // Тесттелүүчү тиркеменин пакети
        cap.setCapability(MobileCapabilityType.APP_ACTIVITY, "com.android.calculator2.Calculator"); // Тесттелүүчү тиркеменин активдүүлүгү

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

    @Test
    public void testAddition() {
        // Калкулятор элементтери менен иштөө мисалы
        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();

        // Натыйжаны текшерүү
        String actualResult = result.getText();
        // assert actualResult.equals("16"); // Текшерүү мисалы
        System.out.println("Натыйжа: " + actualResult);
    }

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

Мобилдик тестирлөө терең түшүнүүнү, ар кандай түзмөктөрдүн жана операциялык системалардын өзгөчөлүктөрүн, ошондой эле атайын инструменттерди жана техникаларды билүүнү талап кылат.