Middle
Milliseid kohalike rakenduste testimise omadusi saate välja tuua?
sobes.tech AI
Vastus AI-lt
Natiivsete mobiilirakenduste testimise iseärasused:
- Seadmete ja platvormide mitmekesisus: Vajalik on testida laias valikus reaalsetel seadmetel (erinevad tootjad, mudelid, ekraanisuurused) ning operatsioonisüsteemidel (iOS, Android) ja nende versioonidel. Emulaatorid ja simulatsioonid aitavad, kuid ei asenda täielikult reaalseid seadmeid.
- Hardware'iga koostöö: Testida seadme riistvara komponentidega (kaamera, geolokatsioon, Bluetooth, kiirendusmõõtur, mikrofon) integreerimist.
- Jõudlus ja ressursside kasutus: Oluline on hinnata aku, mälu, andmeedastuse ja rakenduse kiiruse tarbimist erinevates tingimustes.
- Interaktiivsus ja UX: Testida žeste (pinch, swipe, tap), ekraani orientatsiooni (portree, maastik), samuti kasutusmugavust erinevate ekraanisuurustega.
- Katkestused: Testida rakenduse käitumist sissetulevate kõnede, SMS-ide, teavituste, võrgu kadumise korral.
- Taustal töötamine: Kuidas rakendus käitub, kui see ei ole aktiivne või töötab taustal.
- Onaine režiim: Funktsionaalsuse testimine ilma internetiühenduseta ning andmete sünkroniseerimine selle taastamisel.
- Uuendused: Uuendamisprotsessi ja ühilduvuse testimine vanemate versioonidega.
- Paigaldamine/kustutamine: Õige paigaldamise, eemaldamise ja andmete puhastamise testid.
- Turvalisus: Andmete kaitse, autoriseerimine, paroolide ja teiste tundlike andmete salvestamine.
- Juhtimine seadme ressurssidele: Luba taotlused ja nende õige kasutamine (kontaktid, fotod, failid).
- Tööriistad ja automatiseerimine: Kasutada spetsiifilisi tööriistu testimiseks (Appium, Espresso, XCUITest) ning platvorme reaalse seadme testimiseks (BrowserStack, Sauce Labs).
Võrdlus veebirakendustega (testimise kontekstis):
| Omadus | Veebirakendus | Natiivne rakendus |
|---|---|---|
| Sõltuvus brauserist | Kõrge (vajalik testida erinevates brauserites) | Madal |
| Sõltuvus OS-st | Madal (peamiselt sõltub brauserist) | Kõrge (vajalik testida erinevates OS ja versioonides) |
| Juhtimine hardware'iga | Piiratud (käsitletud Browser API kaudu) | Täielik |
| Levitatavus | URL-i kaudu | Rakenduste poodide kaudu (App Store, Google Play) |
| Jõudlus | Sõltub brauserist, võrgust, serverist | Sõltub seadmest, rakenduse optimeerimisest |
| Uuenduste protsess | Koheselt kättesaadav | Vajab kasutaja uuendust |
Natiivsete rakenduste automatiseeritud testimine nõuab sageli spetsiaalsete raamistikute kasutamist, mis saavad suhelda kasutajaliidese elementidega operatsioonisüsteemi tasemel:
// Näide automatiseeritud testist Appium-iga (Android)
@Test
public void simpleAppTest() {
AndroidDriver driver;
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("platformName", "Android");
caps.setCapability("automationName", "UiAutomator2");
caps.setCapability("deviceName", "Android Emulator");
caps.setCapability("appPackage", "com.android.calculator2");
caps.setCapability("appActivity", "com.android.calculator2.Calculator");
try {
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), caps);
MobileElement el1 = (MobileElement) driver.findElementById("com.android.calculator2:id/digit_2");
el1.click();
MobileElement el2 = (MobileElement) driver.findElementByAccessibilityId("plus");
el2.click();
MobileElement el3 = (MobileElement) driver.findElementById("com.android.calculator2:id/digit_3");
el3.click();
MobileElement el4 = (MobileElement) driver.findElementByAccessibilityId("equals");
el4.click();
MobileElement result = (MobileElement) driver.findElementCast("id", "com.android.calculator2:id/result");
System.out.println(result.getText()); // Tulemuse väljund
driver.quit();
} catch (MalformedURLException e) {
e.printStackTrace();
}
}