Junior
Mobil testləşdirmə haqqında danışın.
sobes.tech Süni İntellekt
AI-dan cavab
Mobil testinq, mobil tətbiqlərin funksionallıq, performans, istifadə rahatlığı, uyğunluq və təhlükəsizlik baxımından müxtəlif cihazlar və əməliyyat sistemlərində yoxlanılması prosesidir.
Əsas mobil test növləri:
- Funksional test: Tətbiqin bütün funksiyalarının tələblərə uyğun işləməsinin yoxlanılması.
- Performans testi: Yükləmə sürəti, cavab müddəti, resurs istifadəsi (batareya, yaddaş) müxtəlif yüklərdə qiymətləndirmə.
- İstifadə rahatlığı testi: İnterfeysin intuitivliyi, naviqasiyanın asanlığı, istifadəçi üçün mesajların aydınlığı.
- Uyğunluq testi: Tətbiqin müxtəlif cihazlarda, əməliyyat sistemlərində, ekran həllərində, firmware versiyalarında işləməsinin yoxlanılması.
- Təhlükəsizlik testi: Tətbiqin təhlükələrə qarşı dayanıqlılığı, istifadəçi məlumatlarının qorunması.
- Əngəllər testi: Gələn zənglər, mesajlar, bildirişlər, batareyanın aşağı səviyyəsi, şəbəkələr arasında keçid zamanı tətbiqin davranışının yoxlanılması.
- Quraşdırma və silmə testi: Quraşdırma, yeniləmə və silmə proseslərinin düzgünlüyünün yoxlanılması.
Mobil tətbiqlərin testində əsas diqqət yetirilən məqamlar:
- Cihazların müxtəlifliyi: Çoxsaylı cihazlar, əməliyyat sistemləri, versiyalar, ekran həlləri, istehsalçılar.
- Fərqli əlaqə növləri: Wi-Fi, 3G, 4G, 5G, qeyri-sabit əlaqə.
- Hərəkətlərin istifadəsi: Sürüşdürmələr, toxunuşlar, pincz-zoom, uzun basma.
- Xarici hadisələrin təsiri: Zənglər, mesajlar, bildirişlər, batareyanın aşağı səviyyəsi, fon rejiminə keçid.
- Resursların istifadəsi: Batareya, prosessor, yaddaş yüklənməsinin qiymətləndirilməsi.
- Native və çoxplatformalı tətbiqlərin xüsusiyyətləri: Test üçün müxtəlif yanaşmalar.
Mobil test üçün alətlər:
- Əl ilə test: Real cihazlarda və emulatorlar/simulyatorlarda.
- Testin avtomatlaşdırılması: Hardware-ə bağlı çərçivələr: XCUITest (iOS), Espresso (Android). Çoxplatformalı çərçivələr: Appium, Calabash, EarlGrey. API test alətləri: Postman. Performans izləmə alətləri: Xcode Instruments, Android Profiler.
Appium istifadə edilərək avtomatlaşdırılmış test nümunəsi (Python):
# kodlama=utf-8
from appium import webdriver
from appium.webdriver.common.mobileby import MobileBy
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# Android üçün imkanlar
desired_caps = {
'platformName': 'Android',
'platformVersion': '10',
'deviceName': 'emulator-5554',
'appPackage': 'com.android.calculator2',
'appActivity': 'com.android.calculator2.Calculator',
'automationName': 'UiAutomator2'
}
# sürücünün başlanması
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
try:
# '1' düyməsini tap və bas
one_button = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((MobileBy.ID, 'com.android.calculator2:id/digit_1'))
)
one_button.click()
# '+' düyməsini tap və bas
plus_button = driver.find_element(MobileBy.ACCESSIBILITY_ID, 'plus')
plus_button.click()
# '2' düyməsini tap və bas
two_button = driver.find_element(MobileBy.ID, 'com.android.calculator2:id/digit_2')
two_button.click()
# '=' düyməsini tap və bas
equals_button = driver.find_element(MobileBy.ACCESSIBILITY_ID, 'equals')
equals_button.click()
# nəticəni əldə et
result_element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((MobileBy.ID, 'com.android.calculator2:id/result'))
)
result_text = result_element.text
# nəticəni yoxla
assert result_text == '3', f"Gözlənilən '3', alınan '{result_text}'"
print("Test uğurla keçdi!")
except Exception as e:
print(f"Test zamanı xəta: {e}")
finally:
# sessiyanı bağla
if driver:
driver.quit()
Mobil tətbiqlərin test edilməsi platformanın (iOS, Android) xüsusiyyətlərinin anlaşılmasını və müxtəlif cihazlar və istifadə ssenarilərinin nəzərə alınmasını tələb edir. Avtomatlaşdırma, cihaz və OS versiyalarının çoxsaylı kombinasiyalarını effektiv şəkildə əhatə etmək üçün vacibdir.