mobile-app-testing について
モバイルアプリのテスト計画と実装を支援するスキルです。iOS と Android のアプリ開発チーム向けに、単体、UI、統合、パフォーマンステストと、React Native、XCTest、Espresso のガイドを扱います。
主な機能
- 01単体・UI・統合・パフォーマンステスト
- 02Jest と Detox による React Native テスト
- 03XCTest による iOS テスト
- 04Espresso による Android テスト
- 05カバレッジとテスト分離の指針
活用シーン
- 01モバイルアプリのテスト範囲の計画
- 02iOS と Android の重要な UI フローの自動化
- 03バックエンド連携と失敗ケースの確認
- 04リリース前の性能低下の検出
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill mobile-app-testingインストール後、Claude Code で/mobile-app-testingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/android-testing-with-espresso.mdios-testing-with-xctest.mdperformance-testing.mdreact-native-testing-with-jest-detox.mdscripts/scaffold-tests.shtemplates/test-template.js詳細
モバイルアプリのテスト
目次
概要
単体テスト、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: "[email protected]" };
render(<UserProfile user={mockUser} />);
expect(screen.getByText("John Doe")).toBeTruthy();
});
// ... (see reference guides for full implementation)
リファレンスガイド
詳細な実装については、references/ ディレクトリを参照してください。
| ガイド | 内容 |
|---|---|
| Jest と Detox による React Native のテスト | Jest と Detox による React Native のテスト |
| XCTest による iOS のテスト | XCTest による iOS のテスト |
| Espresso による Android のテスト | Espresso による Android のテスト |
| パフォーマンステスト | パフォーマンステスト |
ベストプラクティス
✅ 推奨事項
- まずビジネスロジックのテストを作成します
- テスト容易性のために依存性注入を使用します
- 外部 API 呼び出しをモックします
- 成功パスと失敗パスの両方をテストします
- 重要なフローの UI テストを自動化します
- 実機でテストを実行します
- 対象デバイスでパフォーマンスを測定します
- テストを分離し、相互に依存しないようにします
- 意味のあるテスト名を付けます
- コードカバレッジを 80% 超に維持します
❌ 禁止事項
- UI の重要なフローのテストを省略しないでください
- テストデータをハードコードしないでください
- パフォーマンスのリグレッションを無視しないでください
- 実装の詳細をテストしないでください
- 不安定で信頼性の低いテストを作成しないでください
- 実機でのテストを省略しないでください
- アクセシビリティテストを無視しないでください
- 相互依存するテストを作成しないでください
- API をモックせずにテストしないでください
- テストしていないコードをデプロイしないでください
コメント
Markdown 対応