Junior
გვითხარით მობილური ტესტირების შესახებ.
sobes.tech AI
პასუხი AI-სგან
მობილური ტესტირება — ეს არის პროგრამული უზრუნველყოფის ხარისხის კონტროლის პროცესი, რომელიც განკუთვნილია მობილური მოწყობილობებისთვის (სმარტფონები, ტაბლეტები). იგი მოიცავს ფუნქციონალურობის, გამოყენების სუბიექტურობის, პროდუქტიულობის, თავსებადობის, უსაფრთხოების და ლოკალიზაციის შემოწმებას სხვადასხვა მოწყობილობებზე და პირობებში:
მობილური ტესტირების ტიპები:
- ფუნქციონალური ტესტირება: პროგრამის შესაბამისობის შემოწმება მოთხოვნებსა და სპეციფიკაციებს. მოიცავს ყველა ფუნქციის, გამოყენების სცენარების, მონაცემთა შეყვანა/გამოტანა, შეცდომების დამუშავების ტესტირებას.
- გამოყენების სუბიექტურობის ტესტირება (Usability Testing): ინტერფეისის ინტუიტივობის, ნავიგაციის სიმარტივის, მართვის ელემენტების ხელმისაწვდომობის, საერთო მომხმარებლის გამოცდილების (UX) შეფასება.
- პროდუქტიულობის ტესტირება: სიჩქარის, რეაგირების, რესურსების (CPU, RAM, ბატარეა) მოხმარების შეფასება.
- სათანადიანობის ტესტირება (Compatibility Testing): პროგრამის მუშაობის შემოწმება სხვადასხვა მოწყობილობებზე (მრავალი მწარმოებელი, მოდელები), ოპერაციული სისტემებზე (მრავალი iOS, Android ვერსიები) და ეკრანის გაფართოებებზე.
- უსაფრთხოების ტესტირება: პროგრამის სუსტი წერტილების, მომხმარებელთა მონაცემების დაცვის, ავტენტიფიკაციის და ავტორიზაციის შემოწმება.
- ლოკალიზაციის ტესტირება: ტექსტების თარგმნის სიზუსტის, თარიღების, დროის, რიცხვების, ვალუტის ფორმატების შესაბამისობის შემოწმება სხვადასხვა რეგიონებისთვის.
- დაყენებისა და წაშლის ტესტირება: პროგრამის ინსტალაციის და წაშლის პროცესების შეცდომების გარეშე შემოწმება.
- შეწყვეტის (Interruption Testing): პროგრამის ქცევის შემოწმება სხვადასხვა შეწყვეტის დროს (შემომავალი ზარი, SMS, ბატარეის დაბალი დონის, ქსელის გამორთვა).
მობილური ტესტირების თავისებურებები:
- მოწყობილობებისა და ოპერაციული სისტემების მრავალფეროვნება: მრავალფეროვანი აპარატული და პროგრამული კომპონენტები.
- ეკრანის ზომა და განლაგება: სხვადასხვა ზომის ეკრანები და პორტრეტის, ლანდშაფტის რეჟიმში მუშაობის შემოწმება.
- შესვლის მეთოდები: ტაჩსკრინი, კლავიატურა, ხმის მეშვეობით შესვლა.
- ქსელური პირობები: სხვადასხვა ქსელური გარემოებისა და კავშირის ცვლილების დროს ტესტირება.
- რესურსების შეზღუდვები: მეხსიერების, პროცესორის, ბატარეის შეზღუდვები.
- გეოლოკაცია: GPS-ის გამოყენება და მდებარეობაზე დამოკიდებულება.
- Push შეტყობინებები: შეტყობინებების მიღებისა და დამუშავების ტესტირება.
მობილური ტესტირების ინსტრუმენტები:
- მანუალი ტესტირება: პირდაპირ მუშაობა მოწყობილეთთან.
- ავტომატიზებული ტესტირება:
- Appium: მრავალპლატფორმული ჩარჩო — ნატიური, ჰიბრიდული და მობილური ვებ-აპლიკაციების ტესტირებისათვის.
- Espresso (Android): Android-ის UI ტესტირების ჩარჩო.
- XCUITest (iOS): iOS-ის UI ტესტირების ჩარჩო.
- 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();
}
}
}
მობილური ტესტირება მოითხოვს ღრმად ცოდნას მობილური გარემოს თავისებურებების, სხვადასხვა მოწყობილობებისა და ოპერაციული სისტემების, ასევე სპეციფიკური ინსტრუმენტებისა და ტექნიკების გამოყენებაში.