mobile-testing

安装量: 72
排名: #10791

安装

npx skills add https://github.com/proffesor-for-testing/agentic-qe --skill mobile-testing

Mobile Testing

When testing mobile applications:

DEFINE device coverage matrix (Tier 1: 60%, Tier 2: 30%, Tier 3: 10%) TEST platform differences (iOS ≠ Android: back button, permissions, UI) VALIDATE touch gestures (tap, swipe, pinch, long-press) TEST mobile-specific scenarios (offline, low battery, interruptions) USE real devices for critical paths, emulators for fast feedback

Quick Mobile Checklist:

Test on latest iOS + Android flagship devices Test offline mode and network transitions Verify push notifications work Test gesture interactions (swipe, pinch) Check permissions flow (camera, location, notifications)

Critical Success Factors:

Emulators for 80% of testing, real devices for 20% critical paths Test on devices your users actually use (analytics) Device fragmentation is Android's biggest challenge Quick Reference Card When to Use Native app development (iOS/Android) Hybrid apps (React Native, Flutter) Mobile web / PWAs App store submission preparation iOS vs Android Differences Aspect iOS Android OS Versions 2-3 supported 10+ in use Devices ~40 models 1000+ variants Back Button Gesture/nav Hardware/software Permissions Single prompt Runtime granular App Store Strict review Google Play + sideload Device Coverage Tiers Tier Coverage Devices Tier 1 60% users iPhone 15, Galaxy S24, iPad Tier 2 30% users iPhone 14/13, Pixel 8 Tier 3 10% users Older devices, other manufacturers Mobile Performance Goals Metric Target App launch < 2 seconds Screen transition < 300ms Frame rate 60 FPS Battery drain < 5%/hour background Touch Gesture Testing // Appium gesture examples // Tap await driver.touchAction({ action: 'tap', x: 100, y: 200 });

// Swipe (scroll down) await driver.touchAction([ { action: 'press', x: 200, y: 400 }, { action: 'moveTo', x: 200, y: 100 }, { action: 'release' } ]);

// Pinch to zoom const finger1 = [ { action: 'press', x: 100, y: 200 }, { action: 'moveTo', x: 50, y: 150 }, { action: 'release' } ]; const finger2 = [ { action: 'press', x: 200, y: 200 }, { action: 'moveTo', x: 250, y: 250 }, { action: 'release' } ]; await driver.multiTouchAction([finger1, finger2]);

// Long press await driver.touchAction({ action: 'longPress', x: 100, y: 200, duration: 2000 });

Mobile-Specific Scenarios // Offline mode testing test('app works offline', async () => { await driver.toggleAirplaneMode();

await driver.findElement('view-saved-items').click(); const items = await driver.findElements('saved-item'); expect(items.length).toBeGreaterThan(0);

const banner = await driver.findElement('offline-banner'); expect(banner.getText()).toContain('No internet');

await driver.toggleAirplaneMode(); // Restore });

// Location testing test('location-based features', async () => { await driver.setGeoLocation({ latitude: 37.7749, longitude: -122.4194, altitude: 0 });

const stores = await driver.findElement('stores-list'); expect(stores.getText()).toContain('San Francisco'); });

// Permission testing (Android) test('camera permission flow', async () => { await driver.findElement('take-photo').click();

// Handle permission dialog await driver.findElement( 'com.android.packageinstaller:id/permission_allow_button' ).click();

expect(await driver.findElement('camera-view')).toBeDefined(); });

Agent-Driven Mobile Testing // Cross-platform mobile testing await Task("Mobile Test Suite", { platforms: ['iOS', 'Android'], deviceTiers: [1, 2], tests: 'regression-suite', parallelDevices: 5, deviceFarm: 'browserstack' }, "qe-test-executor");

// Device farm integration await Task("Device Farm Execution", { service: 'browserstack', devices: [ 'iPhone 15 - iOS 17', 'Samsung Galaxy S24 - Android 14' ], recordVideo: true, captureNetworkLogs: true }, "qe-test-executor");

Agent Coordination Hints Memory Namespace aqe/mobile-testing/ ├── device-matrix/ - Device coverage strategy ├── platform-tests/ - iOS/Android specific tests ├── gesture-library/ - Reusable gesture patterns └── performance/ - Mobile performance metrics

Fleet Coordination const mobileFleet = await FleetManager.coordinate({ strategy: 'mobile-testing', agents: [ 'qe-test-executor', // Cross-platform execution 'qe-performance-tester', // Mobile performance 'qe-visual-tester' // Screen size validation ], topology: 'parallel' });

Related Skills accessibility-testing - VoiceOver, TalkBack performance-testing - Mobile performance compatibility-testing - Device compatibility Remember

Mobile is not a smaller desktop - it's a different platform. 60%+ of web traffic is mobile. Device fragmentation (1000+ Android devices), touch gestures, sensors, permissions, offline scenarios - all require specific testing.

Test on real devices for critical flows. Emulators catch 80% of bugs but real devices needed for actual performance, sensor behavior, and platform quirks.

With Agents: qe-test-executor orchestrates testing across device farms, manages platform differences, and tests 10+ devices in parallel. Reduces mobile testing from days to hours.

返回排行榜