mobile-app-testing
Comprehensive mobile app testing strategies for iOS and Android. Covers unit tests, UI tests, integration tests, performance testing, and test automation with Detox, Appium, and XCTest.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o mobile-app-testing.zip https://jpskill.com/download/21470.zip && unzip -o mobile-app-testing.zip && rm mobile-app-testing.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/21470.zip -OutFile "$d\mobile-app-testing.zip"; Expand-Archive "$d\mobile-app-testing.zip" -DestinationPath $d -Force; ri "$d\mobile-app-testing.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
mobile-app-testing.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
mobile-app-testingフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 6
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
モバイルアプリテスト
目次
概要
単体テスト、UIテスト、統合テスト、パフォーマンステストを含む、モバイルアプリケーション向けの包括的なテスト戦略を実装します。
使用場面
- テストカバレッジを備えた信頼性の高いモバイルアプリケーションの作成
- iOSおよびAndroid全体でのUIテストの自動化
- パフォーマンステストと最適化
- バックエンドサービスとの統合テスト
- リリース前の回帰テスト
クイックスタート
最小限の動作例:
// Unit test with Jest
import { calculate } from "../utils/math";
describe("Math utilities", () => {
test("should add two numbers", () => {
expect(calculate.add(2, 3)).toBe(5);
});
test("should handle negative numbers", () => {
expect(calculate.add(-2, 3)).toBe(1);
});
});
// Component unit test
import React from "react";
import { render, screen } from "@testing-library/react-native";
import { UserProfile } from "../components/UserProfile";
describe("UserProfile Component", () => {
test("renders user name correctly", () => {
const mockUser = { id: "1", name: "John Doe", email: "john@example.com" };
render(<UserProfile user={mockUser} />);
expect(screen.getByText("John Doe")).toBeTruthy();
});
// ... (see reference guides for full implementation)
リファレンスガイド
references/ ディレクトリ内の詳細な実装:
| ガイド | 内容 |
|---|---|
| React Native Testing with Jest & Detox | Jest & Detox を使用した React Native テスト |
| iOS Testing with XCTest | XCTest を使用した iOS テスト |
| Android Testing with Espresso | Espresso を使用した Android テスト |
| Performance Testing | パフォーマンステスト |
ベストプラクティス
✅ 実施すべきこと
- まずビジネスロジックのテストを作成する
- テスト容易性のために依存性注入を使用する
- 外部API呼び出しをモックする
- 成功パスと失敗パスの両方をテストする
- 重要なフローのUIテストを自動化する
- 実機でテストを実行する
- ターゲットデバイスでパフォーマンスを測定する
- テストを分離し、独立させる
- 意味のあるテスト名を使用する
- 80%以上のコードカバレッジを維持する
❌ 実施すべきでないこと
- UIが重要なフローのテストをスキップする
- ハードコードされたテストデータを使用する
- パフォーマンスの回帰を無視する
- 実装の詳細をテストする
- テストを不安定にしたり、信頼できないものにしたりする
- 実際のデバイスでのテストをスキップする
- アクセシビリティテストを無視する
- 相互依存するテストを作成する
- APIをモックせずにテストする
- テストされていないコードをデプロイする
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Mobile App Testing
Table of Contents
Overview
Implement comprehensive testing strategies for mobile applications including unit tests, UI tests, integration tests, and performance testing.
When to Use
- Creating reliable mobile applications with test coverage
- Automating UI testing across iOS and Android
- Performance testing and optimization
- Integration testing with backend services
- Regression testing before releases
Quick Start
Minimal working example:
// Unit test with Jest
import { calculate } from "../utils/math";
describe("Math utilities", () => {
test("should add two numbers", () => {
expect(calculate.add(2, 3)).toBe(5);
});
test("should handle negative numbers", () => {
expect(calculate.add(-2, 3)).toBe(1);
});
});
// Component unit test
import React from "react";
import { render, screen } from "@testing-library/react-native";
import { UserProfile } from "../components/UserProfile";
describe("UserProfile Component", () => {
test("renders user name correctly", () => {
const mockUser = { id: "1", name: "John Doe", email: "john@example.com" };
render(<UserProfile user={mockUser} />);
expect(screen.getByText("John Doe")).toBeTruthy();
});
// ... (see reference guides for full implementation)
Reference Guides
Detailed implementations in the references/ directory:
| Guide | Contents |
|---|---|
| React Native Testing with Jest & Detox | React Native Testing with Jest & Detox |
| iOS Testing with XCTest | iOS Testing with XCTest |
| Android Testing with Espresso | Android Testing with Espresso |
| Performance Testing | Performance Testing |
Best Practices
✅ DO
- Write tests for business logic first
- Use dependency injection for testability
- Mock external API calls
- Test both success and failure paths
- Automate UI testing for critical flows
- Run tests on real devices
- Measure performance on target devices
- Keep tests isolated and independent
- Use meaningful test names
- Maintain >80% code coverage
❌ DON'T
- Skip testing UI-critical flows
- Use hardcoded test data
- Ignore performance regressions
- Test implementation details
- Make tests flaky or unreliable
- Skip testing on actual devices
- Ignore accessibility testing
- Create interdependent tests
- Test without mocking APIs
- Deploy untested code
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (2,938 bytes)
- 📎 references/android-testing-with-espresso.md (2,064 bytes)
- 📎 references/ios-testing-with-xctest.md (2,255 bytes)
- 📎 references/performance-testing.md (811 bytes)
- 📎 references/react-native-testing-with-jest-detox.md (2,375 bytes)
- 📎 scripts/scaffold-tests.sh (574 bytes)