본문으로 건너뛰기
cccskills
무료GitHub에 공개

mobile-manual-testing

Use when the task touches a mobile app - the device flow with the mobile_* tools, confirming the installed build is the task's, and what to report when no device is attached

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md4.0 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Mobile Manual Testing

Overview

A mobile task is verified from the outside like any other: you run something and observe what it does. The mobile_* tools are registered only when a device is actually attached. With them, the device flow below is mandatory. Without them, use the build+API ceiling further down — and be exact in your report about what sits above that ceiling.

Never approve a criterion because the code looks right. An untestable criterion is reported, not passed.

1. Is a device here?

Check your tool list for mobile_launch_app. If it's there, a real device is attached and the device flow is not optional.

2. Confirm the build is the task's

mobile_launch_app installs the deploy target's registered app_url (default env=stage) — not automatically this task's branch. Before launching, check list_deployments / get_pipeline_status shows the stage build was produced from this task's PR head (the stage deploy triggers asynchronously when the task enters ready_for_qa). If it doesn't match yet, wait for it rather than testing the previous build; if it never arrives, report that instead of guessing.

3. Device flow

mobile_launch_app (installs the confirmed build and takes the device) → mobile_wait_for → mobile_tap/mobile_type_text/mobile_swipe → mobile_read_ui for state a picture cannot show → mobile_screenshot per criterion. For every UI criterion, capture the device matrix: mobile_screenshot portrait plus mobile_rotate then mobile_screenshot landscape at minimum, and font-scale/dark variants too where the host exposes them — the same standard as the web four-width check, adapted to what a device can actually set. Evidence is one line per screen (bug-report-writing's format): what it shows, no invented file path.

mobile_release_device is your last mobile step, always — a task left holding the device blocks whoever's next in the queue.

If a mobile_* call reports the device is in use: stop. Your task is parked and resumes by itself when the phone frees up; do not retry and do not fall back to guessing.

4. Without a device

  1. Build the app from the task branch — flutter build apk --debug, ./gradlew assembleDebug, or on macOS xcodebuild -scheme … -sdk iphonesimulator build when the Xcode CLT preflight found it. A build failure is a need_revision finding on its own, with the compiler output quoted.
  2. Run the repo's own checks: flutter analyze, ./gradlew lint, swiftlint, flutter test, ./gradlew testDebugUnitTest — only what the repo already defines; this is running the developer's suite, not authoring a new one.
  3. The API side of every flow. Most mobile criteria are "the app shows X after calling Y": call Y yourself with curl against the task branch's backend or the stage target, and verify the payload the app would render.
  4. A Flutter-web render where the repo supports it (flutter build web / flutter run -d web-server) driven with the browser tools, labelled explicitly "web-rendered, not native proof" — useful for layout/copy, never for touch, permissions, or platform look and feel.

5. Reporting

Criteria you could not run on a device are rejected via review_criterion with "not verified: no device attached; needs: …" — never approved silently. A device-unavailability blocker is a human blocker, not the developer's defect: route it through the blocker triage (qa-verify-before-verdict) with ask_user, not a need_revision the developer cannot act on.

Red Flags

  • Approving a touch/permission/push criterion from the API side alone.
  • Testing an APK/build whose commit you never checked against the PR head.
  • Forgetting mobile_release_device and leaving the next task in the queue parked.
  • A web-rendered screenshot presented as proof of native behaviour.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Use when writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute, including negative cases

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

makifbaysal/tasktrooper1172026년 10월 20일 업데이트

Use when the diff adds or changes an endpoint, resolver, RPC, job or query that takes an object id, a role check, a request binding or a tenant filter - BOLA/IDOR, function-level authorization, mass assignment and tenant scoping

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

makifbaysal/tasktrooper1172026년 10월 20일 업데이트

Use on every UI change - semantic HTML, labels for controls, keyboard-navigable dialogs/menus, visible focus, and never color as the only signal

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

makifbaysal/tasktrooper1172026년 10월 20일 업데이트

Use when a task changes any screen, form, dialog, menu or control - Lighthouse/axe scan of the changed screens, a keyboard walk, and the thresholds that fail a task

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

makifbaysal/tasktrooper1172026년 10월 20일 업데이트

How to work a task returned with review, QA or UAT findings. Use when a task is in need_revision or PR review comments are in your context.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

makifbaysal/tasktrooper1172026년 10월 20일 업데이트

Use when the repository keeps its alerting in code, or a person asks for alerts outside TaskTrooper - PrometheusRule YAML, a Cloud Monitoring alert policy in Terraform, a Datadog monitor, each routed to TaskTrooper's alert ingest URL so it opens an incident here

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

makifbaysal/tasktrooper1172026년 10월 20일 업데이트

makifbaysal의 스킬 모두 보기

이 스킬의 문제 신고