Junior
дар бораи санҷиши мобилӣ ба мо нақл кунед.
sobes.tech AI
Ҷавоб аз AI
Тестгирии мобилӣ равандест барои назорати сифатии нармафзор, ки барои дастгоҳҳои мобилӣ (смартфонҳо, планшетҳо) таҳия шудааст. Он дохил мекунад санҷиши функсионалӣ, бароҳатии истифода, иҷроиш, мувофиқат, бехатарӣ ва локализацияи барнома дар дастгоҳҳои гуногун ва шароитҳои гуногун.
Навъҳои тестгирии мобилӣ:
- Тестгирии функсионалӣ: Санҷиши мувофиқат ба талабот ва спецификацияҳо. Инчунин санҷиши ҳамаи функсияҳо, сценарийҳои истифода, воридот/баромади маълумот, коркарди хатоҳо.
- Тестгирии истифода (Usability Testing): Арзёбии интуитивӣ будани интерфейс, соддагии навигатсия, дастрасии унсурҳои идоракунӣ, таҷрибаи умумии корбар (UX).
- Тестгирии иҷроиш: Арзёбии суръати боркунӣ, ҷавобгӯӣ, истифодаи захираҳо (CPU, RAM, батарея) дар зери борҳо ва шароити шабаъти гуногун (Wi-Fi, 3G, 4G, 5G).
- Тестгирии мувофиқат (Compatibility Testing): Санҷиши кор дар дастгоҳҳои гуногун (истеҳсолкунандагон, моделҳо), системҳои оператсионӣ (версияҳои iOS, Android) ва тасвири экран.
- Тестгирии бехатарӣ: Санҷиши осебпазирӣ, муҳофизати маълумоти корбарон, аутентификатсия ва иҷозатнома.
- Тестгирии локализация: Санҷиши дурустии тарҷумаи матнҳо, мутобиқсозии форматҳои сана, вақт, рақамҳо, асъор барои минтақаҳои гуногун.
- Тестгирии насб/азод кардан: Санҷиши равандҳои насб ва азод кардани барнома бе хато.
- Тестгирии вайроншавӣ (Interruption Testing): Санҷиши рафтори барнома дар ҳолатҳои вайроншавӣ гуногун (звонок, SMS, камбуди батарея, қатъи шабака).
Хусусиятҳои тестгирии мобилӣ:
- Мутобиқати дастгоҳҳо ва ОС: Баъзеҳо бо ҳамдигар гуногунанд, ки талаб мекунад санҷишҳои зиёд.
- Андозаи экран ва ориентация: Андозаи гуногун ва зарурати санҷиш дар портрет ва ландшафт.
- Воридот: Тачскрин, клавиатура, воридоти овоз.
- Шабака: Санҷиш дар шароити гуногуни шабаъти ва тағирёбии пайвастагӣ.
- Маҳдудиятҳои захираҳо: Хотира, процессор, батарея.
- Геолокация: Истифодаи GPS ва вобастагӣ аз ҷойгиршавӣ.
- Пуш огоҳиномаҳо: Санҷиши қабул ва коркарди огоҳиномаҳо.
Асбобҳо барои тестгирии мобилӣ:
- Рӯйӣ: Санҷиши мустақим бо дастгоҳ.
- Автоматизатсия:
- Appium: Фреймвормултиплатформ барои тест кардани барномаҳои нативӣ, гибридӣ ва веб.
- Espresso (Android): Фреймвормултиплатформ барои UI дар Android.
- XCUITest (iOS): Фреймвормултиплатформ барои UI дар iOS.
- 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();
}
}
}
Тестгирии мобилӣ талаб мекунад фаҳмиши амиқ дар хусусиятҳои муҳити мобилӣ, дастгоҳҳои гуногун ва системҳои оператсионӣ, инчунин истифодаи асбобҳо ва техникаҳои махсус.