Junior
Rääkige mobiilitestimisest.
sobes.tech AI
Vastus AI-lt
Mobiiltestimine — see on protsess, mille käigus kontrollitakse mobiilseadmetele (nutitelefonid, tahvelarvutid) mõeldud tarkvara kvaliteeti. See hõlmab testimist erinevatel platvormidel (Android, iOS), seadmetes, OS versioonides, ekraanisuurustes, võrgutingimustes ja kasutusstsenaariumides:
Mobiiltestimise põhiaspektid:
- Funktsionaalne testimine: Rakenduse vastavuse kontrollimine nõuetele ja spetsifikatsioonidele.
- Jõudluse testimine: Kiiruse, mälu kasutamise ja aku laadimise hindamine.
- Kasutusmugavuse testimine (Usability testing): Kasutajaliidese intuitiivsuse, navigatsiooni lihtsuse ja üldise kasutajakogemuse hindamine.
- Ühilduvuse testimine: Rakenduse toimimise kontroll erinevates seadmetes, OS versioonides ja ekraanisuurustes.
- Turvalisuse testimine: Haavatavuste avastamine ja kasutaja andmete kaitse.
- Katkestuste testimine: Rakenduse reageerimine sissetulevatele kõnedele, SMS-idele, teavitustele ja teistele sündmustele.
- Paigaldamise/kustutamise testimine: Rakenduse korrektne paigaldamine ja täielik eemaldamine.
- Lokalisatsiooni testimine (mitmekeelsed rakendused): Teksti õige kuvamine, kuupäeva ja aja formaadid erinevates piirkondades.
- Ligipääsetavuse testimine (Accessibility testing): Rakenduse kasutusmugavuse kontroll piiratud võimalustega inimestele.
Mobiiltestimise tööriistad hõlmavad:
- Käsitsi testimine: Füüsiliste seadmete või emulaatorite/simulaatorite kasutamine.
- Automatiseeritud testimine: raamistikud ja tööriistade kasutamine.
Populaarsed automatiseerimistööriistad:
- Appium:
// Lihtne test Appiumiga (Java) import io.appium.java_client.AppiumDriver; import io.appium.java_client.MobileElement; import io.appium.java_client.android.AndroidDriver; import org.openqa.selenium.remote.DesiredCapabilities; import java.net.MalformedURLException; import java.net.URL; public class SimpleAppiumTest { public static void main(String[] args) throws MalformedURLException { DesiredCapabilities cap = new DesiredCapabilities(); cap.setCapability("deviceName", "emulator-5554"); // Teie emulaatori/seadme nimi cap.setCapability("platformName", "Android"); cap.setCapability("appPackage", "com.android.calculator2"); // Testitava rakenduse pakett cap.setCapability("appActivity", "com.android.calculator2.Calculator"); // Testitava rakenduse aktiivsus AppiumDriver<MobileElement> driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), cap); // Näide: vajuta nuppu '1' driver.findElementById("digit_1").click(); // ... edasised tegevused driver.quit(); // Sessiooni sulgemine } } - Espresso (Android):
// Lihtne test Espresso abil package com.example.myapp.test; import androidx.test.ext.junit.rules.ActivityScenarioRule; import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.espresso.Espresso; import androidx.test.espresso.action.ViewActions; import androidx.test.espresso.matcher.ViewMatchers; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import static androidx.test.espresso.assertion.ViewAssertions.matches; import static androidx.test.espresso.matcher.ViewMatchers.withId; import static androidx.test.espresso.matcher.ViewMatchers.withText; @RunWith(AndroidJUnit4.class) public class SimpleEspressoTest { @Rule public ActivityScenarioRule<MainActivity> activityRule = new ActivityScenarioRule<>(MainActivity.class); // Aktiivsuse käivitamine @Test public void testButtonClick() { // Leia nupp ID järgi ja vajuta Espresso.onView(withId(R.id.myButton)).perform(ViewActions.click()); // Leia tekstiväli ID järgi ja kontrolli selle teksti Espresso.onView(withId(R.id.myTextView)).check(matches(withText("Button clicked!"))); } } - XCUITest (iOS):
// Lihtne test XCUITestiga (Swift) import XCTest class SimpleXCUIITest: XCTestCase { func testButtonPress() throws { // Rakenduse käivitamine let app = XCUIApplication() app.launch() // Leia nupp ja vajuta let myButton = app.buttons["MyButtonIdentifier"] // ID või märgis myButton.tap() // Leia tekstiväli ja kontrolli selle väärtust let myLabel = app.staticTexts["MyLabelIdentifier"] // ID või märgis XCTAssertEqual(myLabel.label, "Button Pressed!") } }
Mobiiltestimise spetsiifika hõlmab:
- Palju seadmeid ja OS versioone, mis nõuavad laia testimisferma või pilveteenuseid.
- Testimine erinevates võrgutingimustes (Wi-Fi, 3G, 4G, 5G, offline).
- Katkestuste ja taustaprotsesside juhtimine.
- Süsteemi ressursside (CPU, RAM, aku) kasutamise jälgimine.
Emulaatorid ja simulatsioonid kasutatakse algtaseme testimiseks, kuid lõplik test peab toimuma reaalsetel seadmetel, et saada täpne hinnang jõudlusele ja kasutajakogemusele reaalses keskkonnas.