gplay-testers-orchestration

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Testers Orchestration for Google Play

Google Play测试人员编排管理

Use this skill when you need to manage beta testers and testing groups.
当你需要管理Beta测试人员和测试组时,可以使用本技能。

Understanding Testing Tracks

了解测试渠道

Google Play has several testing tracks:
  • Internal - Up to 100 testers, instant access
  • Closed - Invite-only testing groups
  • Open - Public beta, anyone can join
Google Play提供多种测试渠道:
  • Internal - 最多支持100名测试人员,可即时访问
  • Closed - 仅限受邀测试组参与
  • Open - 公开Beta测试,任何人都可加入

Manage Testers

管理测试人员

List testers for a track

列出某渠道的测试人员

bash
gplay testers list \
  --package com.example.app \
  --edit $EDIT_ID \
  --track internal
bash
gplay testers list \
  --package com.example.app \
  --edit $EDIT_ID \
  --track internal

Get tester group details

获取测试组详情

bash
gplay testers get \
  --package com.example.app \
  --edit $EDIT_ID \
  --track beta
bash
gplay testers get \
  --package com.example.app \
  --edit $EDIT_ID \
  --track beta

Update tester emails

更新测试人员邮箱

bash
gplay testers update \
  --package com.example.app \
  --edit $EDIT_ID \
  --track internal \
  --emails "user1@example.com,user2@example.com,user3@example.com"
bash
gplay testers update \
  --package com.example.app \
  --edit $EDIT_ID \
  --track internal \
  --emails "user1@example.com,user2@example.com,user3@example.com"

Add testers (append to existing list)

添加测试人员(追加至现有列表)

bash
undefined
bash
undefined

Get current testers

获取当前测试人员列表

CURRENT=$(gplay testers get --package com.example.app --edit $EDIT_ID --track internal
| jq -r '.testers[]' | paste -sd "," -)
CURRENT=$(gplay testers get --package com.example.app --edit $EDIT_ID --track internal
| jq -r '.testers[]' | paste -sd "," -)

Add new testers

添加新测试人员

NEW_TESTERS="user4@example.com,user5@example.com" ALL_TESTERS="$CURRENT,$NEW_TESTERS"
gplay testers update
--package com.example.app
--edit $EDIT_ID
--track internal
--emails "$ALL_TESTERS"
undefined
NEW_TESTERS="user4@example.com,user5@example.com" ALL_TESTERS="$CURRENT,$NEW_TESTERS"
gplay testers update
--package com.example.app
--edit $EDIT_ID
--track internal
--emails "$ALL_TESTERS"
undefined

Remove tester

移除测试人员

bash
undefined
bash
undefined

Get current testers

获取当前测试人员列表

CURRENT=$(gplay testers get --package com.example.app --edit $EDIT_ID --track internal
| jq -r '.testers[]' | paste -sd "," -)
CURRENT=$(gplay testers get --package com.example.app --edit $EDIT_ID --track internal
| jq -r '.testers[]' | paste -sd "," -)

Remove specific email

移除指定邮箱

UPDATED=$(echo "$CURRENT" | tr ',' '\n' | grep -v "user@example.com" | paste -sd "," -)
gplay testers update
--package com.example.app
--edit $EDIT_ID
--track internal
--emails "$UPDATED"
undefined
UPDATED=$(echo "$CURRENT" | tr ',' '\n' | grep -v "user@example.com" | paste -sd "," -)
gplay testers update
--package com.example.app
--edit $EDIT_ID
--track internal
--emails "$UPDATED"
undefined

Complete Tester Workflow

完整测试人员工作流

Setup internal testing

设置内部测试

bash
undefined
bash
undefined

1. Create edit

1. 创建编辑会话

EDIT_ID=$(gplay edits create --package com.example.app | jq -r '.id')
EDIT_ID=$(gplay edits create --package com.example.app | jq -r '.id')

2. Upload build to internal track

2. 上传安装包至内部测试渠道

gplay bundles upload
--package com.example.app
--edit $EDIT_ID
--file app-internal.aab
gplay bundles upload
--package com.example.app
--edit $EDIT_ID
--file app-internal.aab

3. Add testers

3. 添加测试人员

gplay testers update
--package com.example.app
--edit $EDIT_ID
--track internal
--emails "tester1@example.com,tester2@example.com"
gplay testers update
--package com.example.app
--edit $EDIT_ID
--track internal
--emails "tester1@example.com,tester2@example.com"

4. Update track

4. 更新渠道配置

gplay tracks update
--package com.example.app
--edit $EDIT_ID
--track internal
--json @track-config.json
gplay tracks update
--package com.example.app
--edit $EDIT_ID
--track internal
--json @track-config.json

5. Commit

5. 提交更改

gplay edits commit --package com.example.app --edit $EDIT_ID
undefined
gplay edits commit --package com.example.app --edit $EDIT_ID
undefined

track-config.json

track-config.json

json
{
  "releases": [{
    "versionCodes": [123],
    "status": "completed"
  }]
}
json
{
  "releases": [{
    "versionCodes": [123],
    "status": "completed"
  }]
}

Internal Testing (Quick Testing)

内部测试(快速测试)

Characteristics:
  • Up to 100 testers
  • Instant access (no review)
  • Ideal for rapid iteration
bash
undefined
特点:
  • 最多支持100名测试人员
  • 即时访问(无需审核)
  • 适合快速迭代测试
bash
undefined

Release to internal with testers

发布至内部测试渠道并添加测试人员

gplay release
--package com.example.app
--track internal
--bundle app.aab
--testers "dev1@company.com,dev2@company.com,qa@company.com"
undefined
gplay release
--package com.example.app
--track internal
--bundle app.aab
--testers "dev1@company.com,dev2@company.com,qa@company.com"
undefined

Closed Testing (Beta Groups)

封闭测试(Beta测试组)

Characteristics:
  • Unlimited testers
  • Can have multiple named groups
  • Testers need opt-in link
特点:
  • 无测试人员数量限制
  • 可创建多个命名测试组
  • 测试人员需要通过专属链接加入

Create beta release

创建Beta版本发布

bash
gplay release \
  --package com.example.app \
  --track beta \
  --bundle app.aab
bash
gplay release \
  --package com.example.app \
  --track beta \
  --bundle app.aab

Testers join via opt-in link

测试人员通过专属链接加入

Share this link with testers:
https://play.google.com/apps/testing/com.example.app
将以下链接分享给测试人员:
https://play.google.com/apps/testing/com.example.app

Open Testing (Public Beta)

公开测试(公开Beta)

Characteristics:
  • Anyone can join
  • Public opt-in page
  • Still requires Play Store review
bash
gplay release \
  --package com.example.app \
  --track alpha \  # alpha track = open testing
  --bundle app.aab
特点:
  • 任何人都可加入
  • 公开加入页面
  • 仍需通过Play Store审核
bash
gplay release \
  --package com.example.app \
  --track alpha \  # alpha渠道 = 公开测试
  --bundle app.aab

Tester Management Best Practices

测试人员管理最佳实践

Organize testers by group

按组管理测试人员

Internal testing:
  • Developers
  • QA team
  • Product managers
Closed beta:
  • Power users
  • Customer advisory board
  • Early adopters
Open beta:
  • General public
  • Community members
内部测试:
  • 开发人员
  • QA团队
  • 产品经理
封闭Beta测试:
  • 核心用户
  • 客户咨询委员会
  • 早期尝鲜用户
公开Beta测试:
  • 普通大众
  • 社区成员

Email list management

邮箱列表管理

Store tester lists in files:
bash
undefined
将测试人员列表存储在文件中:
bash
undefined

testers-internal.txt

testers-internal.txt

dev1@company.com dev2@company.com qa@company.com
dev1@company.com dev2@company.com qa@company.com

testers-beta.txt

testers-beta.txt

poweruser1@example.com poweruser2@example.com feedback@example.com

Update from file:
```bash
EMAILS=$(cat testers-internal.txt | paste -sd "," -)
gplay testers update \
  --package com.example.app \
  --edit $EDIT_ID \
  --track internal \
  --emails "$EMAILS"
poweruser1@example.com poweruser2@example.com feedback@example.com

从文件更新测试人员:
```bash
EMAILS=$(cat testers-internal.txt | paste -sd "," -)
gplay testers update \
  --package com.example.app \
  --edit $EDIT_ID \
  --track internal \
  --emails "$EMAILS"

Testing Workflow Examples

测试工作流示例

Weekly Beta Release

每周Beta版本发布

bash
#!/bin/bash
PACKAGE="com.example.app"
bash
#!/bin/bash
PACKAGE="com.example.app"

Build

构建安装包

./gradlew bundleRelease
./gradlew bundleRelease

Release to internal first

先发布至内部测试渠道

gplay release
--package $PACKAGE
--track internal
--bundle app/build/outputs/bundle/release/app-release.aab
gplay release
--package $PACKAGE
--track internal
--bundle app/build/outputs/bundle/release/app-release.aab

Wait 24 hours, monitor for crashes

等待24小时,监控崩溃情况

If stable, promote to beta

若稳定,升级至Beta渠道

gplay promote
--package $PACKAGE
--from internal
--to beta
undefined
gplay promote
--package $PACKAGE
--from internal
--to beta
undefined

Staged Beta Rollout

分阶段Beta发布

bash
undefined
bash
undefined

Week 1: Internal team (10 people)

第1周:内部团队(10人)

gplay release --package com.example.app --track internal --bundle app.aab
gplay release --package com.example.app --track internal --bundle app.aab

Week 2: Beta group 1 (100 people)

第2周:Beta测试组1(100人)

gplay promote --package com.example.app --from internal --to beta
gplay promote --package com.example.app --from internal --to beta

Week 3: Open beta (unlimited)

第3周:公开Beta(无人数限制)

gplay promote --package com.example.app --from beta --to alpha
gplay promote --package com.example.app --from beta --to alpha

Week 4: Production with staged rollout

第4周:分阶段发布至生产环境

gplay promote --package com.example.app --from alpha --to production --rollout 10
undefined
gplay promote --package com.example.app --from alpha --to production --rollout 10
undefined

Share Testing Links

分享测试链接

Internal testing link

内部测试链接

https://play.google.com/apps/internaltest/INTERNAL_TESTING_ID
Get from Play Console → Internal testing → Testers → Copy link
https://play.google.com/apps/internaltest/INTERNAL_TESTING_ID
可从Play控制台 → 内部测试 → 测试人员 → 复制链接获取

Closed testing opt-in link

封闭测试加入链接

https://play.google.com/apps/testing/com.example.app
https://play.google.com/apps/testing/com.example.app

Email template for testers

测试人员邀请邮件模板

Subject: Join the Beta Test for [App Name]

Hi,

You've been invited to test the beta version of [App Name]!

To join:
1. Click this link: https://play.google.com/apps/testing/com.example.app
2. Tap "Become a tester"
3. Download the app from Google Play

Your feedback is valuable! Please report any issues to: beta@example.com

Thanks,
The [App Name] Team
主题:加入[应用名称]的Beta测试

您好:

我们邀请您参与[应用名称]的Beta版本测试!

参与方式:
1. 点击链接:https://play.google.com/apps/testing/com.example.app
2. 点击“成为测试人员”
3. 从Google Play下载应用

您的反馈对我们至关重要!如有问题,请发送至:beta@example.com

感谢您的支持,
[应用名称]团队

Monitor Beta Feedback

监控Beta测试反馈

Check feedback

查看反馈

bash
undefined
bash
undefined

View recent reviews from beta testers

查看Beta测试人员的近期评价

gplay reviews list --package com.example.app
| jq '.reviews[] | select(.comments[0].userComment.reviewerLanguage != null)'
undefined
gplay reviews list --package com.example.app
| jq '.reviews[] | select(.comments[0].userComment.reviewerLanguage != null)'
undefined

Crash reports

崩溃报告

Use Play Console → Quality → Android vitals → Crashes and ANRs
Filter by version code to see beta-specific crashes.
使用Play控制台 → 质量 → Android Vitals → 崩溃与ANRs
可按版本号筛选,查看Beta版本专属的崩溃信息。

Automated Tester Management

自动化测试人员管理

Sync from CSV

从CSV同步测试人员

bash
#!/bin/bash
bash
#!/bin/bash

sync-testers.sh

sync-testers.sh

PACKAGE="com.example.app" CSV_FILE="testers.csv"
PACKAGE="com.example.app" CSV_FILE="testers.csv"

Read emails from CSV (skip header)

从CSV读取邮箱(跳过表头)

EMAILS=$(tail -n +2 "$CSV_FILE" | cut -d',' -f1 | paste -sd "," -)
EMAILS=$(tail -n +2 "$CSV_FILE" | cut -d',' -f1 | paste -sd "," -)

Create edit

创建编辑会话

EDIT_ID=$(gplay edits create --package $PACKAGE | jq -r '.id')
EDIT_ID=$(gplay edits create --package $PACKAGE | jq -r '.id')

Update testers

更新测试人员

gplay testers update
--package $PACKAGE
--edit $EDIT_ID
--track internal
--emails "$EMAILS"
gplay testers update
--package $PACKAGE
--edit $EDIT_ID
--track internal
--emails "$EMAILS"

Commit

提交更改

gplay edits commit --package $PACKAGE --edit $EDIT_ID
echo "Synced $(echo $EMAILS | tr ',' '\n' | wc -l) testers"
undefined
gplay edits commit --package $PACKAGE --edit $EDIT_ID
echo "已同步 $(echo $EMAILS | tr ',' '\n' | wc -l) 名测试人员"
undefined

testers.csv

testers.csv

csv
email,name,role
dev1@company.com,Alice Developer,Developer
qa1@company.com,Bob QA,QA
pm@company.com,Carol PM,Product Manager
csv
email,name,role
dev1@company.com,Alice Developer,Developer
qa1@company.com,Bob QA,QA
pm@company.com,Carol PM,Product Manager

Remove Inactive Testers

移除不活跃测试人员

bash
#!/bin/bash
bash
#!/bin/bash

Remove testers who haven't tested in 30 days

移除30天内未参与测试的人员

PACKAGE="com.example.app" EDIT_ID=$(gplay edits create --package $PACKAGE | jq -r '.id')
PACKAGE="com.example.app" EDIT_ID=$(gplay edits create --package $PACKAGE | jq -r '.id')

Get current testers

获取当前测试人员列表

CURRENT=$(gplay testers get --package $PACKAGE --edit $EDIT_ID --track beta
| jq -r '.testers[]')
CURRENT=$(gplay testers get --package $PACKAGE --edit $EDIT_ID --track beta
| jq -r '.testers[]')

Filter active testers (implement your logic)

筛选活跃测试人员(需自行实现逻辑)

This is a placeholder - you'd need to track activity separately

以下为占位符 - 你需要单独跟踪测试人员活动情况

ACTIVE="tester1@example.com,tester2@example.com"
ACTIVE="tester1@example.com,tester2@example.com"

Update

更新测试人员列表

gplay testers update
--package $PACKAGE
--edit $EDIT_ID
--track beta
--emails "$ACTIVE"
gplay edits commit --package $PACKAGE --edit $EDIT_ID
undefined
gplay testers update
--package $PACKAGE
--edit $EDIT_ID
--track beta
--emails "$ACTIVE"
gplay edits commit --package $PACKAGE --edit $EDIT_ID
undefined

Testing Limits

测试渠道限制

TrackMax TestersReview RequiredAccess Speed
Internal100NoInstant
ClosedUnlimitedNoMinutes
OpenUnlimitedYesDays
ProductionUnlimitedYesDays
渠道最大测试人数是否需要审核访问速度
Internal100即时
Closed无限制数分钟
Open无限制数天
Production无限制数天

Best Practices

最佳实践

DO:

建议:

  • ✅ Start with internal testing
  • ✅ Gradually expand to beta
  • ✅ Communicate clearly with testers
  • ✅ Provide feedback channels
  • ✅ Acknowledge tester contributions
  • ✅ Keep tester lists up to date
  • ✅ Remove inactive testers periodically
  • ✅ 从内部测试开始
  • ✅ 逐步扩展至Beta测试
  • ✅ 与测试人员清晰沟通
  • ✅ 提供反馈渠道
  • ✅ 认可测试人员的贡献
  • ✅ 及时更新测试人员列表
  • ✅ 定期移除不活跃测试人员

DON'T:

避免:

  • ❌ Skip internal testing
  • ❌ Add everyone to all tracks
  • ❌ Ignore tester feedback
  • ❌ Leave broken builds in testing
  • ❌ Forget to thank your testers
  • ❌ Use production track for testing
  • ❌ 跳过内部测试
  • ❌ 将所有人员添加至所有渠道
  • ❌ 忽略测试人员反馈
  • ❌ 在测试渠道保留损坏的安装包
  • ❌ 忘记感谢测试人员
  • ❌ 使用生产渠道进行测试

Track Selection Guide

渠道选择指南

Use Internal when:
  • Initial feature testing
  • Testing with dev/QA team only
  • Need instant access
  • < 100 testers
Use Closed when:
  • Broader beta testing
  • Need > 100 testers
  • Want named beta groups
  • Testing with customers
Use Open when:
  • Public beta program
  • Want maximum reach
  • Community testing
  • Pre-launch buzz
选择Internal渠道当:
  • 初始功能测试
  • 仅与开发/QA团队测试
  • 需要即时访问
  • 测试人员少于100人
选择Closed渠道当:
  • 更广泛的Beta测试
  • 需要超过100名测试人员
  • 需要创建命名Beta测试组
  • 与客户共同测试
选择Open渠道当:
  • 公开Beta测试计划
  • 想要最大范围覆盖
  • 社区测试
  • 发布前造势

Communication with Testers

与测试人员的沟通

Release notes for testers

测试人员版本说明

Include in app update:
Version 1.2.3 (Beta)

What's New:
- New feature X (please test thoroughly)
- Bug fixes for Y

Known Issues:
- Feature Z is work in progress
- Crash on Android 12 is being investigated

Please report issues to: beta@example.com
在应用更新中包含以下内容:
版本 1.2.3(Beta版)

新增功能:
- 新增功能X(请全面测试)
- 修复了Y相关的Bug

已知问题:
- 功能Z仍在开发中
- Android 12上的崩溃问题正在排查

如有问题,请反馈至:beta@example.com

Feedback collection

反馈收集方式

  • In-app feedback button
  • Dedicated Slack/Discord channel
  • Email address
  • Survey form
This helps you improve before production release!
  • 应用内反馈按钮
  • 专用Slack/Discord频道
  • 邮箱地址
  • 调查问卷
这有助于你在正式发布前优化应用!