🎯

mobile-testing

🎯Skill

from proffesor-for-testing/agentic-qe

VibeIndex|
What it does

Comprehensively tests mobile apps across iOS and Android platforms, covering gestures, sensors, permissions, and device fragmentation.

mobile-testing

Installation

Install skill:
npx skills add https://github.com/proffesor-for-testing/agentic-qe --skill mobile-testing
4
Last UpdatedJan 26, 2026

Skill Details

SKILL.md

"Comprehensive mobile testing for iOS and Android platforms including gestures, sensors, permissions, device fragmentation, and performance. Use when testing native apps, hybrid apps, or mobile web, ensuring quality across 1000+ device variants."

Overview

# Mobile Testing

When testing mobile applications:

  1. DEFINE device coverage matrix (Tier 1: 60%, Tier 2: 30%, Tier 3: 10%)
  2. TEST platform differences (iOS β‰  Android: back button, permissions, UI)
  3. VALIDATE touch gestures (tap, swipe, pinch, long-press)
  4. TEST mobile-specific scenarios (offline, low battery, interruptions)
  5. 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

```javascript

// 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

```javascript

// 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

```typescript

// 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

```typescript

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](../accessibility-testing/) - VoiceOver, TalkBack
  • [performance-testing](../performance-testing/) - Mobile performance
  • [compatibility-testing](../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.

More from this repository10

🎯
n8n-security-testing🎯Skill

Automates security vulnerability scanning and penetration testing for n8n workflows, identifying potential risks and misconfigurations.

🎯
database-testing🎯Skill

Validates database schemas, tests data integrity, verifies migrations, checks transaction isolation, and measures query performance.

🎯
brutal-honesty-review🎯Skill

Delivers unvarnished technical criticism with surgical precision, combining expert-level BS detection and zero-tolerance for low-quality work.

🎯
n8n-expression-testing🎯Skill

n8n-expression-testing skill from proffesor-for-testing/agentic-qe

🎯
n8n-trigger-testing-strategies🎯Skill

Validates n8n workflow triggers by comprehensively testing webhook, schedule, polling, and event-driven mechanisms with robust payload and authentication checks.

🎯
n8n-integration-testing-patterns🎯Skill

Validates n8n integration connectivity, authentication flows, and error handling across external service APIs through comprehensive testing patterns.

🎯
six-thinking-hats🎯Skill

Applies Six Thinking Hats methodology to systematically analyze software testing challenges from multiple perspectives, enhancing decision-making and test strategy development.

🎯
risk-based-testing🎯Skill

Prioritizes testing efforts by systematically assessing and ranking risks based on probability and potential impact across software components.

🎯
shift-left-testing🎯Skill

Accelerates software quality by moving testing earlier in development, reducing defect costs through proactive validation, automated testing, and continuous improvement practices.

🎯
chaos-engineering-resilience🎯Skill

chaos-engineering-resilience skill from proffesor-for-testing/agentic-qe