Junior
Meséljen a mobil tesztelésről.
sobes.tech MI
Válasz az MI-től
Mobil tesztelés a szoftverminőség ellenőrzési folyamatát jelenti, amely mobil eszközökre (okostelefonok, tabletek) készült alkalmazásokhoz kapcsolódik. Magában foglalja a funkcionalitás, a használhatóság, a teljesítmény, az kompatibilitás, a biztonság és a lokalizáció ellenőrzését különböző eszközökön és körülmények között.
Mobil tesztelés típusai:
- Funkcionális tesztelés: Az alkalmazás megfelelőségének ellenőrzése a megadott követelményeknek és specifikációknak. Ide tartozik az összes funkció, használati forgatókönyv, adatbevitel/kiadás, hibakezelés tesztelése.
- Használhatósági tesztelés (Usability Testing): Az interfész intuitívitásának, navigáció egyszerűségének, kezelőelemek elérhetőségének, általános felhasználói élmény (UX) értékelése.
- Teljesítmény tesztelés: A betöltési sebesség, válaszidő, erőforrás-felhasználás (CPU, RAM, akkumulátor) értékelése különböző terheléseken és hálózati körülmények között (Wi-Fi, 3G, 4G, 5G).
- Kompatibilitási tesztelés (Compatibility Testing): Az alkalmazás működésének ellenőrzése különböző eszközökön (különböző gyártók, modellek), operációs rendszereken (különböző iOS, Android verziók) és képernyőfelbontásokon.
- Biztonsági tesztelés: Az alkalmazás sebezhetőségeinek, felhasználói adatok védelmének, hitelesítésének és jogosultságának ellenőrzése.
- Lokalizációs tesztelés: A szövegek fordításának helyessége, a dátum, idő, számok, valuta formátumainak alkalmazkodása különböző régiókhoz.
- Telepítés/eltávolítás tesztelése: A telepítési és eltávolítási folyamat hibák nélküli ellenőrzése.
- Megszakítások tesztelése (Interruption Testing): Az alkalmazás viselkedésének ellenőrzése különböző megszakítások esetén (bejövő hívás, SMS, alacsony akkumulátor, hálózat kikapcsolása).
A mobil tesztelés sajátosságai:
- Eszközök és OS sokfélesége: Nagyszámú hardver- és szoftverkonfiguráció.
- Képernyőméret és orientáció: Különböző kijelzőméretek és a portré/landscape módok közötti tesztelés szükségessége.
- Bemeneti módok: Érintőképernyő, billentyűzet, hangalapú bemenet.
- Hálózati körülmények: Különböző hálózati környezetekben és kapcsolatváltás esetén történő tesztelés.
- Erőforrás-korlátok: Memória, processzor, akkumulátor korlátozottsága.
- Geolokáció: GPS használata és a helymeghatározástól való függőség.
- Push értesítések: Az értesítések fogadásának és kezelésének tesztelése.
Mobil teszteléshez használt eszközök:
- Kézi tesztelés: Közvetlen munka az eszközzel.
- Automatizált tesztelés:
- Appium: Többplatformos keretrendszer natív, hibrid és mobil webalkalmazások teszteléséhez.
- Espresso (Android): UI tesztelés Androidon.
- XCUITest (iOS): UI tesztelés iOS-en.
- Kobiton, BrowserStack, Sauce Labs: Felhőalapú platformok valós eszközökön történő teszteléshez.
- Teljesítmény monitorozás: Eszközök, mint az Android Studio Profiler, Xcode Instruments.
- Biztonsági tesztelés: Eszközök, mint az OWASP ZAP, Burp Suite.
Automatizáció példája Appium használatával (rövid):
// Java példa Appium és TestNG használatával
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"); // Az eszköz neve
cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
cap.setCapability(MobileCapabilityType.AUTOMATION_NAME, "UiAutomator2"); // Vagy XCUITest iOS-hez
cap.setCapability(MobileCapabilityType.APP_PACKAGE, "com.android.calculator2"); // Tesztelt alkalmazás csomagja
cap.setCapability(MobileCapabilityType.APP_ACTIVITY, "com.android.calculator2.Calculator"); // Az alkalmazás aktivitása
driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), cap);
}
@Test
public void testAddition() {
// Példa a kalkulátor elemeivel való interakcióra
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();
// Eredmény ellenőrzése
String actualResult = result.getText();
// assert actualResult.equals("16"); // Ellenőrzés példája
System.out.println("Eredmény: " + actualResult);
}
@AfterTest
public void tearDown() {
if (driver != null) {
driver.quit();
}
}
}
A mobil tesztelés mély ismereteket igényel a mobil környezet sajátosságairól, különböző eszközökről és operációs rendszerekről, valamint a speciális eszközök és technikák alkalmazásáról.