Token导航 LogoToken导航

Agent Skill · 研究检索

exploratory-testing(探索性测试)

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

exploratory-testing 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为操作浏览器;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 62,606。

总安装 329周安装 14GitHub Stars 4下载 115核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:exploratory-testing(探索性测试)
来源仓库:https://github.com/petrkindlmann/qa-skills
仓库路径:skills/exploratory-testing
安装命令:
npx skills add https://github.com/petrkindlmann/qa-skills --skill exploratory-testing
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/petrkindlmann/qa-skills --skill exploratory-testing

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

exploratory-testing 辅助设计探索性测试用例并整理回归验证方案。结合代码变更提取具体输入值,生成可执行的测试场景。适用于新功能验证与缺陷复现,提升测试覆盖精准度。需明确指定测试框架与夹具路径,避免误改业务逻辑导致假阳性通过。

适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/exploratory-testing

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/petrkindlmann/qa-skills --skill exploratory-te…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要操作浏览器,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

exploratory-testing 怎么安装?

在终端执行 npx skills add https://github.com/petrkindlmann/qa-skills --skill exploratory-testing。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

exploratory-testing 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

exploratory-testing 需要什么权限?

权限级别是操作浏览器。该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

exploratory-testing 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

exploratory-testing 用的人多吗?

公开数据是累计安装 329 次,近一周安装 14 次,下载 115 次,GitHub 4 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

exploratory-testing 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
exploratory-testing

探索性测试 · 本页

3294操作浏览器未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文


Discovery Questions

Before designing a session, gather context. Check .agents/qa-project-context.md first -- if it exists, use it as the foundation and skip questions already answered there.

Target Area

  • What feature, module, or flow is the exploration target?
  • Is this a new feature (discovery mode) or existing feature (regression mode)?
  • What is the most recent change to this area?
  • Are there known risk areas or previous bug clusters here? (See risk-based-testing for risk data.)

Hypotheses and Suspicions

  • What do you think might break? (Hunches are valid starting points.)
  • What did the developer say was tricky or uncertain?
  • Are there areas the automated suite does not cover?
  • Have users reported issues in this area before?

Time and Scope

  • How much time is available for this session? (45-90 minutes is optimal.)
  • Is this a broad survey (casting a wide net) or deep dive (focused attack on one area)?
  • What environments and data sets are available?
  • Are there specific platforms, browsers, or device types to focus on?

Team Context

  • Who built the feature? (Pairing with the developer during exploration can be powerful.)
  • Is there a tester who has domain expertise in this area?
  • Who should receive the session report?

Core Principles

1. Structured Freedom

Exploratory testing is not "click around and see what happens." It is guided by a charter that defines the target, resources, and information goal. Within that charter, the tester has freedom to follow leads, investigate anomalies, and change direction based on discoveries. The structure makes it repeatable; the freedom makes it effective.

2. Document As You Go

Observations not recorded are observations lost. Take notes during the session, not after. Record what you did, what you saw, and what questions arose. The session log is the deliverable -- it replaces a test script.

3. Heuristics Over Scripts

Heuristics are thinking tools that guide exploration without dictating exact steps. HICCUPS and FEW HICCUPS (below) provide systematic lenses for examining software. They help testers ask better questions and notice things they would otherwise miss.

4. Time-Boxed Sessions

Open-ended exploration suffers from diminishing returns. After 90 minutes, fatigue reduces bug-finding effectiveness. Time-box sessions to 45-90 minutes, then debrief. Short focused sessions outperform long unfocused ones.

5. Bugs Found Are the Beginning, Not the End

An exploratory session that finds a bug has only done half its job. The other half is: Could this bug have been caught by an automated test? If yes, write that test. Exploratory testing feeds the automation pipeline.


Session-Based Test Management (SBTM)

SBTM gives exploratory testing a management layer: charters define intent, sessions are the unit of work, debriefs extract learnings.

Charter Template

A charter is a one-sentence mission statement following this pattern:

Explore [target]
  with [resources]
  to discover [information]

Examples:

Explore the checkout flow
  with multiple payment methods and expired cards
  to discover how the system handles payment failures and edge cases

Explore the user profile page
  with slow network conditions (Chrome DevTools throttling)
  to discover how the UI handles latency, timeouts, and partial loads

Explore the search functionality
  with special characters, Unicode, and SQL injection strings
  to discover input validation gaps and error handling behavior

Explore the data export feature
  with datasets of 0, 1, 1000, and 100000 records
  to discover performance boundaries and data integrity issues

Explore the multi-user collaboration flow
  with two browser sessions logged in as different users
  to discover race conditions, conflict resolution, and real-time sync behavior

Charter quality checklist:

  • Target is specific enough to guide exploration (not "explore the app")
  • Resources name specific tools, data, or conditions to use
  • Information goal describes what you want to learn, not what you want to prove
  • A single session can reasonably cover the charter in 45-90 minutes

Session Setup

Before the session:

  1. Read the charter and understand the target area
  2. Prepare the environment (deploy the right version, seed test data, set up monitoring)
  3. Prepare tools (browser DevTools open, screen recorder running if capturing evidence, note-taking template ready)
  4. Set a timer for the session duration
  5. Clear distractions (close Slack, mute notifications)

Environment preparation checklist:

[ ] Correct build/version deployed
[ ] Test data seeded (relevant states: empty, typical, large)
[ ] Test accounts ready (roles: admin, standard user, guest)
[ ] DevTools open: Console, Network, Performance tabs
[ ] Screen recorder running (optional but recommended)
[ ] Note-taking template open
[ ] Timer set: ___ minutes

During the Session

Explore the target area guided by the charter. Use heuristics (below) as thinking prompts. Follow interesting leads even if they deviate slightly from the charter -- document the deviation.

Session flow:

0:00 - 0:05   Orient: Navigate to the target area, understand the current state
0:05 - 0:15   Survey: Perform the happy path to establish baseline behavior
0:15 - 0:55   Explore: Apply heuristics, probe boundaries, follow anomalies
0:55 - 1:00   Wrap up: Review notes, capture final observations
1:00 - 1:15   Debrief: Summarize findings, identify follow-up actions

When you find something interesting:

  1. Stop and observe -- do not rush past anomalies
  2. Reproduce it -- can you make it happen again?
  3. Vary the conditions -- does it happen with different data, users, or browsers?
  4. Document it -- screenshot, console log, network trace
  5. Assess severity -- is this a bug, a design question, or a test idea?
  6. Decide: investigate deeper now, or note it and continue exploring?

Debrief

After every session, conduct a structured debrief (even if it is just self-reflection for a solo tester).

Debrief template:

Session Debrief
Charter: [charter text]
Tester: [name]
Duration: [planned] → [actual]
Date: [date]
Build: [version/commit]

Coverage:
  What percentage of the charter was covered? [%]
  What areas were explored that were NOT in the charter?
  What areas in the charter were NOT explored? Why?

Findings:
  Bugs: [count] (list with IDs if filed)
  Issues: [count] (not bugs, but concerns -- performance, UX, design questions)
  Test ideas: [count] (ideas for new automated tests)

Observations:
  What surprised you?
  What was harder than expected?
  What areas need deeper exploration in a follow-up session?

Follow-up Actions:
  [ ] File bug reports for findings
  [ ] Create automated tests for reproducible bugs
  [ ] Schedule follow-up session for unexplored areas
  [ ] Update risk assessment based on findings

Bug Discovery Heuristics

Heuristics are mental models that guide exploration. They are not checklists to exhaustively complete -- they are lenses to look through.

HICCUPS

A mnemonic for seven oracles that reveal bugs. An oracle is a principle for recognizing problems.

LetterOracleWhat to CheckExample Questions
HHistoryDoes current behavior match past behavior?Did this work in the last release? Has the behavior changed subtly?
IImageDoes it match the product's brand and quality bar?Does this look polished? Does it feel consistent with the rest of the app?
CComparableHow do similar products handle this?What does the competitor do here? What is the industry standard?
CClaimsDoes it match what was promised?Does it match the spec? The marketing page? The tooltip text?
UUser expectationsWould a real user find this confusing or frustrating?Would my mother understand this? Would a power user be annoyed by this?
PProductIs it consistent with other parts of the same product?Does this error message match the style of other error messages?
SStandardsDoes it comply with applicable standards?WCAG for accessibility, RFC for protocols, GDPR for data handling?

FEW HICCUPS (Extended)

Adds three lenses to the base HICCUPS model:

LetterOracleWhat to Check
FFamiliarityWould a first-time user understand this without help?
EExplainabilityCan you explain the behavior to someone else? If not, it might be a bug.
WWorldDoes it work in the real world? (different locales, time zones, network conditions, screen sizes)

Boundary Testing Heuristics

Boundaries are where bugs cluster. Systematically test these:

Numeric boundaries:
  - Zero, one, many
  - Minimum - 1, minimum, minimum + 1
  - Maximum - 1, maximum, maximum + 1
  - Negative numbers (if unexpected)
  - Very large numbers (overflow)
  - Decimal precision (0.1 + 0.2 ≠ 0.3)

String boundaries:
  - Empty string
  - Single character
  - Maximum length
  - Maximum length + 1
  - Unicode (emoji 👋, RTL text مرحبا, CJK characters 你好)
  - Special characters (' " < > & \ / ; -- DROP TABLE)
  - Whitespace only (spaces, tabs, newlines)
  - Leading/trailing whitespace

Time boundaries:
  - Midnight (00:00), end of day (23:59:59)
  - Timezone changes (DST transitions)
  - Leap year (Feb 29), month boundaries (Jan 31 → Feb 1)
  - Epoch (1970-01-01), far future (2038, Y2K38)
  - Date formats across locales (DD/MM vs MM/DD)

Collection boundaries:
  - Empty collection
  - Single item
  - Exactly at page size boundary (e.g., 20, 21 items with 20-per-page)
  - More than max displayable
  - Duplicate items

State Transition Heuristics

Focus on how the application moves between states:

State transition test ideas:
  - What happens if you skip a step? (Direct URL to step 3 of a wizard)
  - What happens if you go backward? (Browser back button, undo)
  - What happens if you interrupt? (Close tab mid-operation, lose network)
  - What happens if you repeat? (Double-click submit, refresh during save)
  - What happens if two users trigger the same transition? (Concurrent edits)
  - What is the state after an error? (Can you retry? Is data corrupted?)
  - What happens on timeout? (Session expires mid-form, API call hangs)

Error Handling Heuristics

Error handling test ideas:
  - Disconnect the network mid-operation
  - Reduce bandwidth to 3G speeds
  - Fill disk space (for upload features)
  - Send malformed API responses (modify with browser DevTools)
  - Trigger server errors (if you can control the backend)
  - Exceed rate limits
  - Use expired tokens/sessions
  - Provide invalid file types to upload controls
  - Submit forms with JavaScript disabled

"What If" Scenarios

Open-ended questions that lead to bugs:

What if the user...
  - Uses the back button at every step?
  - Opens the same page in two tabs?
  - Switches between mobile and desktop mid-session?
  - Has an ad blocker that blocks your analytics/tracking scripts?
  - Pastes content from Word (with hidden formatting)?
  - Has accessibility features enabled (screen reader, high contrast, zoom)?
  - Is in a locale you did not consider? (RTL, long translations, different number formats)
  - Has never used this product before and has no mental model?
  - Is deliberately trying to break the application?

Note-Taking Template

Use this during the session. Capture observations in real time.

Session Log Format

Session: [charter summary]
Date: [date]  |  Tester: [name]  |  Build: [version]  |  Duration: [minutes]

| Time  | Action / Input           | Observation                  | Bug? | Follow-up      |
|-------|--------------------------|------------------------------|------|----------------|
| 0:03  | Navigate to /checkout    | Page loads in 1.2s           | No   |                |
| 0:05  | Add item, proceed        | Happy path works             | No   |                |
| 0:08  | Enter expired card       | Error: "Card declined" ✓     | No   |                |
| 0:10  | Enter card with spaces   | Error: "Invalid card number" | ?    | Spaces should   |
|       |                          | but many cards have spaces   |      | be stripped     |
| 0:14  | Paste card with dashes   | Accepted and processed ✓     | No   | Inconsistent    |
|       |                          |                              |      | with spaces     |
| 0:18  | Submit with empty email  | No validation, order created | YES  | BUG: required   |
|       |                          | without email                |      | field not       |
|       |                          |                              |      | validated       |
| 0:22  | Network offline mid-pay  | Spinner forever, no timeout  | YES  | BUG: no timeout |
|       |                          |                              |      | handling        |

Tagging Observations

Use consistent tags for post-session analysis:

  • BUG -- Definite defect, file a report
  • QUESTION -- Unclear whether this is intended behavior; ask product
  • IDEA -- Test case idea for automation
  • RISK -- Potential issue that needs investigation
  • NOTE -- Interesting observation, not actionable yet

When to Explore vs. When to Automate

Not all testing should be exploratory, and not all testing should be automated. Use this decision framework:

Explore When

  • The feature is new and requirements are still evolving
  • You are investigating a vague bug report ("sometimes it is slow")
  • You want to assess the overall quality of an area (quality survey)
  • The area is complex with many state combinations that are hard to script
  • You need to evaluate subjective qualities (UX, intuitiveness, visual polish)
  • You are trying to find bugs, not confirm behavior

Automate When

  • The behavior is stable and well-defined
  • The test needs to run on every commit/PR (regression)
  • The scenario has a clear pass/fail criterion
  • The test involves data combinations that are tedious to explore manually
  • You need cross-browser or cross-device coverage at scale
  • You found a bug through exploration and want to prevent regression

The Exploration-to-Automation Pipeline

Exploratory session finds bug
        │
        ▼
File bug report with reproduction steps
        │
        ▼
Developer fixes the bug
        │
        ▼
Write automated regression test that covers the scenario
        │
        ▼
Bug is now prevented from recurring
        │
        ▼
Future exploratory sessions focus on NEW areas (not re-checking old bugs)

When converting findings to automated tests:

  1. Extract the exact reproduction steps from the session log
  2. Determine the appropriate test level (unit if logic bug, integration if boundary bug, E2E if UI flow bug)
  3. Write the test with a clear reference to the original bug ID
  4. Verify the test fails on the buggy version and passes on the fix
// Example: Converting exploratory finding to Playwright test
// Found during session 2026-03-15: BUG-456 email validation missing on checkout

test('checkout requires valid email - regression for BUG-456', async ({ page }) => {
  await page.goto('/checkout');
  // Leave email empty
  await page.getByLabel('Email').fill('');
  await page.getByRole('button', { name: 'Place order' }).click();

  // Should show validation error, not proceed
  await expect(page.getByText('Email is required')).toBeVisible();
  await expect(page).not.toHaveURL(/.*confirmation/);
});

Session Planning by Context

ContextFocusCharter PatternTime Split
New featureLearning, requirement gaps, UX"Explore [feature] with various roles/data to discover requirement gaps and unexpected behaviors"15 min orient + 40 min heuristics + 20 min boundaries/errors + 15 min document
RegressionChanges and their side effects"Explore [area] after [change] to discover regressions at integration points"10 min review diff + 20 min changed area + 20 min integrations + 15 min smoke + 15 min document
Bug investigationReproducing and minimizing"Explore [area] with [reported conditions] to discover exact reproduction steps"10 min read report + 15 min reproduce + 20 min minimize + 15 min related areas + 15 min document

Anti-Patterns

Unchartered Exploration

Exploring without a charter. "I will just poke around and see what I find" produces inconsistent results, is not repeatable, and cannot be meaningfully debriefed. Always write a charter, even if it is one sentence.

Session Too Long

Running 3-hour exploration sessions. Bug-finding effectiveness drops sharply after 90 minutes. Fatigue causes testers to miss issues and stop following leads. Break long testing efforts into multiple 60-90 minute sessions with breaks between them.

No Notes During Session

Relying on memory to reconstruct what happened. By the time the session ends, half the observations are forgotten and the rest are vague. Take notes in real time using the template above.

Exploring Only the Happy Path

Using exploratory testing only to verify that things work. This duplicates what automated tests already cover. Exploratory testing's strength is finding problems in paths nobody thought to script. Use heuristics to push into uncomfortable territory.

No Conversion to Automation

Finding the same bug manually every release because nobody wrote an automated test for it. Every reproducible bug found through exploration should become an automated regression test. The exploration-to-automation pipeline must be active.

Treating Exploration as "Not Real Testing"

Viewing exploratory testing as less rigorous than scripted testing. SBTM with charters, session logs, and debriefs produces documented, accountable testing. The documentation format is different from test scripts, but the rigor is equal.


Done When

  • Session charters are written for each target area, each following the "Explore [target] with [resources] to discover [information]" pattern
  • All planned sessions have been executed and debriefed using the debrief template, with coverage percentage and unexplored areas noted
  • Every bug found during sessions is logged with a reference to the originating charter and reproduction steps
  • Session logs exist with time-stamped observations tagged as BUG, QUESTION, IDEA, RISK, or NOTE
  • A findings summary captures total session count, bugs filed (by severity), test ideas identified, and follow-up sessions scheduled or explicitly deferred

Related Skills

  • test-planning -- Sprint test plans allocate time for exploratory sessions and reference charters.
  • risk-based-testing -- Risk assessment identifies which areas deserve exploratory attention.
  • test-reliability -- Flaky or unreliable areas identified through exploration feed into test reliability improvements.
  • qa-metrics -- Track exploratory session counts, bug discovery rates, and charter coverage as QA metrics.
  • qa-project-context -- The project context file identifies known risk areas and previous bug clusters that guide charter writing.

平台分布

Codex

37.58%
按下载量换算43

Claude

30.96%
按下载量换算36

Cursor

18.25%
按下载量换算21

Gemini CLI

8.13%
按下载量换算9

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills