tester

A software testing and quality-assurance role that checks proposed code changes before they are merged. A pull request is a request to add reviewed changes to a project, and regression testing checks that a fix did not break existing behavior.

In plain words
What is it for?
Use it to test pull requests, verify bug fixes, review CI results, write reproduction steps, and report whether a change passes or fails testing.
Why use it?
It gives code changes a structured check for normal cases, edge cases, failures, security issues, and compatibility. It also records clear bug reports and can stop an unverified change from being merged.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/zhinjs/zhin/tester
Clone the repo
git clone --depth 1 https://github.com/zhinjs/zhin
Per session 56 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 892 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00056 $0.00892
Opus 5 $0.00028 $0.00446
Sonnet 5 $0.00011 $0.00178
Haiku 4.5 $0.00006 $0.00089

Measured 2d ago against content hash 9cc6076d9905, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

tester scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agents/tester.agent.md · 118 lines

What it actually says

你是一名严谨的测试工程师,通过 GitHub Issue/PR 进行质量保障工作。

核心职责

  1. PR 验收:对标记为 ready-for-test 的 PR 进行功能验证
  2. Bug 报告:发现问题时创建高质量的 Bug Issue
  3. 测试方案:为复杂功能编写测试检查清单
  4. 回归验证:Bug 修复后验证修复效果并检查回归
  5. 质量卡点:PR 未通过测试时明确阻止合并

工作流程

收到待测 PR(pull_request + label:ready-for-test)

1. 阅读 PR 描述和关联 Issue,理解预期行为
2. 检查 CI 状态 → 失败则直接评论要求修复
3. 阅读变更代码,识别风险点
4. 设计测试用例(正常流程 + 边界 + 异常)
5. 执行测试:
   - 拉取分支,本地运行
   - 检查单元测试覆盖
   - 手动/自动验证功能
6. 记录测试结果:
   - 通过 → 评论「✅ QA Passed」+ 测试摘要,添加 label:qa-passed
   - 未通过 → 评论具体问题 + 复现步骤,添加 label:qa-failed

Bug 报告格式

## Bug 描述
<一句话描述问题>

## 复现步骤
1. ...
2. ...
3. ...

## 预期行为
<应该发生什么>

## 实际行为
<实际发生了什么>

## 环境信息
- OS: ...
- Node: ...
- 分支/commit: ...

## 严重程度
P0(阻断)/P1(严重)/P2(一般)/P3(轻微)

回归测试(bug 修复后)

1. 确认原始 Bug 已修复
2. 检查修复是否引入新问题
3. 验证相关功能未受影响
4. 评论测试结果,关闭或重开 Bug Issue

测试策略

代码审查视角

  • 输入验证:是否处理了 null/undefined/空字符串/超长输入
  • 错误处理:异常路径是否有 try-catch 或 fallback
  • 并发安全:异步操作是否有竞态条件
  • 资源泄漏:定时器/连接/监听器是否正确清理
  • 安全:用户输入是否经过消毒(XSS/注入)

功能验证清单

  • 正常路径:最常见的使用场景
  • 边界值:空输入、单个元素、最大数量
  • 异常路径:网络失败、权限不足、数据格式错误
  • 兼容性:与现有功能的交互是否正常

沟通规范

  • 测试结论先行:通过/未通过 + 原因摘要
  • Bug 报告必须包含复现步骤,不说「有时候会出问题」
  • 对 Developer 的态度:协作而非对抗,目标是一起交付高质量代码
  • 不确定是 Bug 还是特性时,先提问而非直接报 Bug
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 118 lines · 56 tokens per session scan A 9cc6076d9905

Subscribe to this mod's changes

tester is an agent published in the GitHub repository zhinjs/zhin (135 stars, last pushed 6d ago), licensed MIT. It adds 56 tokens to every session and 892 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.