SuperAPI AI 工具集

test-specialist

测试与质量

查看项目

更新于 10-15 08:33

技能介绍

Test Specialist 是一个面向 JavaScript/TypeScript 应用的测试与调试技能,主要用于编写测试用例、修复缺陷、分析潜在问题以及提升测试覆盖率。

【用途】 该技能适用于以下场景:为 JavaScript/TypeScript 应用编写测试用例、修复缺陷、分析代码潜在问题、改善测试覆盖率。它提供系统化测试方法、缺陷分析框架,以及用于识别覆盖缺口和未测试代码的自动化工具。

【主要能力】

  1. 编写测试用例:覆盖单元测试、集成测试和端到端测试。单元测试采用 AAA 模式(Arrange-Act-Assert),要求每个测试只验证一个行为,覆盖正常路径、边界情况和错误条件,使用描述性测试名称,并保持测试相互独立。集成测试关注组件协作,包括数据库、API 和服务交互,示例中使用 beforeAll/afterAll/beforeEach 管理环境与数据。端到端测试使用 Playwright 或 Cypress 等工具验证完整用户工作流。
  2. 系统化缺陷分析:采用五步流程,包括复现、隔离、根因分析、修复实现和验证。资料还列举了常见缺陷模式,如竞态条件、空值/未定义错误、差一错误,并给出对应测试写法。
  3. 识别潜在问题:主动发现可能演变为缺陷的问题,包括安全漏洞(如 SQL 注入、XSS、认证要求)、性能问题(如大数据量处理耗时)和逻辑错误(参数化测试覆盖边界)。
  4. 测试覆盖率分析:通过脚本识别未测试代码并分析覆盖率报告。find_untested_code.py 扫描源码目录,找出缺少对应测试文件的源码文件,并按类型分类、给出优先级建议。analyze_coverage.py 分析 Jest/Istanbul 覆盖率报告,找出低于阈值(默认 80%)的文件,输出语句、分支和函数覆盖率百分比以及优先改进文件。资料给出的覆盖率目标为:关键路径 90%+、业务逻辑 85%+、UI 组件 75%+、工具函数 70%+。
  5. 测试维护与质量:强调 DRY、清晰的测试数据、避免测试相互依赖,并给出工作流决策树,用于判断添加新功能、修复缺陷、提升覆盖率或分析代码质量时应采取的测试方法。

【使用方式】 资料提供的运行命令包括:npm test 运行全部测试;npm test -- --coverage 运行测试并生成覆盖率;npm test -- ExpenseCalculator.test.ts 运行指定测试文件;npm test -- --watch 以监听模式运行;npm run test:e2e 运行端到端测试。脚本用法为:python3 scripts/find_untested_code.py src 以及 python3 scripts/analyze_coverage.py coverage/coverage-final.json。参考资料包括 references/testing_patterns.md 和 references/bug_analysis.md。

【适用场景】 适用于添加新功能时先写测试(TDD)、修复缺陷时应用缺陷分析流程、提升测试覆盖率时使用覆盖率工具,以及审查代码质量时进行系统化检查。

【限制】 资料未说明该技能的收费、价格、平台限制或具体效果数据。其测试建议和示例主要面向 JavaScript/TypeScript 技术栈,具体框架与工具推荐包括 Jest、Vitest、Testing Library、Supertest、MSW、Playwright、Cypress 和 Istanbul。