compatibility-testing

Cross-browser, cross-platform, and cross-device compatibility testing ensuring consistent experience across environments. Use when validating browser support, testing responsive design, or ensuring platform compatibility.

$ 安裝

git clone https://github.com/proffesor-for-testing/agentic-qe /tmp/agentic-qe && cp -r /tmp/agentic-qe/.claude/skills/compatibility-testing ~/.claude/skills/agentic-qe

// tip: Run this command in your terminal to install the skill


name: compatibility-testing description: "Cross-browser, cross-platform, and cross-device compatibility testing ensuring consistent experience across environments. Use when validating browser support, testing responsive design, or ensuring platform compatibility." category: specialized-testing priority: medium tokenEstimate: 800 agents: [qe-visual-tester, qe-test-executor, qe-performance-tester] implementation_status: optimized optimization_version: 1.0 last_optimized: 2025-12-02 dependencies: [] quick_reference_card: true tags: [compatibility, cross-browser, responsive, browserstack, playwright, devices]

Compatibility Testing

<default_to_action> When validating cross-browser/platform compatibility:

  1. DEFINE browser matrix (cover 95%+ of users)
  2. TEST responsive breakpoints (mobile, tablet, desktop)
  3. RUN in parallel across browsers/devices
  4. USE cloud services for device coverage (BrowserStack, Sauce Labs)
  5. COMPARE visual screenshots across platforms

Quick Compatibility Checklist:

  • Chrome, Firefox, Safari, Edge (latest + N-1)
  • Mobile Safari (iOS), Mobile Chrome (Android)
  • Screen sizes: 320px, 768px, 1920px
  • Test on actual target devices for critical flows

Critical Success Factors:

  • Users access from 100+ browser/device combinations
  • Test where users are, not where you develop
  • Cloud testing reduces 10 hours to 15 minutes </default_to_action>

Quick Reference Card

When to Use

  • Before release
  • After CSS/layout changes
  • Launching in new markets
  • Responsive design validation

Browser Matrix

BrowserVersionsPriority
ChromeLatest, N-1High
FirefoxLatest, N-1High
SafariLatest, N-1High
EdgeLatestMedium
Mobile SafariiOS latestHigh
Mobile ChromeAndroid latestHigh

Screen Breakpoints

CategoryWidth Range
Mobile320px - 480px
Tablet481px - 768px
Desktop769px - 1920px+

Responsive Design Testing

import { test, expect } from '@playwright/test';

const devices = [
  { name: 'iPhone 12', width: 390, height: 844 },
  { name: 'iPad', width: 768, height: 1024 },
  { name: 'Desktop', width: 1920, height: 1080 }
];

for (const device of devices) {
  test(`layout on ${device.name}`, async ({ page }) => {
    await page.setViewportSize({
      width: device.width,
      height: device.height
    });

    await page.goto('https://example.com');

    const nav = await page.locator('nav');
    if (device.width < 768) {
      // Mobile: hamburger menu
      expect(await nav.locator('.hamburger')).toBeVisible();
    } else {
      // Desktop: full menu
      expect(await nav.locator('.menu-items')).toBeVisible();
    }
  });
}

Cross-Browser with Playwright

// playwright.config.ts
import { defineConfig, devices } from '@playwright/test';

export default defineConfig({
  projects: [
    { name: 'chromium', use: { ...devices['Desktop Chrome'] } },
    { name: 'firefox', use: { ...devices['Desktop Firefox'] } },
    { name: 'webkit', use: { ...devices['Desktop Safari'] } },
    { name: 'mobile-chrome', use: { ...devices['Pixel 5'] } },
    { name: 'mobile-safari', use: { ...devices['iPhone 12'] } }
  ]
});

// Run: npx playwright test --project=chromium --project=firefox

Cloud Testing Integration

// BrowserStack configuration
const capabilities = {
  'browserName': 'Chrome',
  'browser_version': '118.0',
  'os': 'Windows',
  'os_version': '11',
  'browserstack.user': process.env.BROWSERSTACK_USER,
  'browserstack.key': process.env.BROWSERSTACK_KEY
};

// Parallel execution across devices
const deviceMatrix = [
  { os: 'Windows', browser: 'Chrome' },
  { os: 'OS X', browser: 'Safari' },
  { os: 'Android', device: 'Samsung Galaxy S24' },
  { os: 'iOS', device: 'iPhone 15' }
];

Agent-Driven Compatibility Testing

// Cross-platform visual comparison
await Task("Compatibility Testing", {
  url: 'https://example.com',
  browsers: ['chrome', 'firefox', 'safari', 'edge'],
  devices: ['desktop', 'tablet', 'mobile'],
  platform: 'browserstack',
  parallel: true
}, "qe-visual-tester");

// Returns:
// {
//   combinations: 12,  // 4 browsers × 3 devices
//   passed: 11,
//   differences: [{ browser: 'safari', device: 'mobile', diff: 0.02 }]
// }

Agent Coordination Hints

Memory Namespace

aqe/compatibility-testing/
├── browser-matrix/*     - Browser/version configurations
├── device-matrix/*      - Device configurations
├── visual-diffs/*       - Cross-browser visual differences
└── reports/*            - Compatibility reports

Fleet Coordination

const compatFleet = await FleetManager.coordinate({
  strategy: 'compatibility-testing',
  agents: [
    'qe-visual-tester',       // Visual comparison
    'qe-test-executor',       // Cross-browser execution
    'qe-performance-tester'   // Performance by platform
  ],
  topology: 'parallel'
});

Related Skills


Remember

Test where users are, not where you develop. Developers use latest Chrome on high-end machines. Users access from older browsers, low-end devices, and slow networks.

Cover 95%+ of your user base. Use analytics to identify actual browser/device usage. Don't waste time on browsers nobody uses.

With Agents: Agents orchestrate parallel cross-browser testing across cloud platforms, reducing 10 hours of manual testing to 15 minutes. qe-visual-tester catches visual inconsistencies across platforms automatically.