测试技术选型,评估和选择测试工具、框架和平台。当用户需要做技术选型决策、选择工具或框架时自动触发。 也适用于:项目启动需要选择测试技术栈,或现有工具不能满足需求需要替换时。 关键词:技术选型、工具选择、框架评估、测试技术栈、开源工具对比、商业工具评估、自动化工具、性能工具、选型决策矩阵。
---
name: qa-tech-selection
description: >-
测试技术选型,评估和选择测试工具、框架和平台。当用户需要做技术选型决策、选择工具或框架时自动触发。
也适用于:项目启动需要选择测试技术栈,或现有工具不能满足需求需要替换时。
关键词:技术选型、工具选择、框架评估、测试技术栈、开源工具对比、商业工具评估、自动化工具、性能工具、选型决策矩阵。
when_to_use: 用户说"技术选型"、"工具选择"、"框架选择"、"用什么工具"、"工具对比"、需要评估测试技术方案、现有工具不能满足需求需要替换时
allowed-tools: Read Grep Glob WebFetch
related_skills:
upstream:
- qa-test-strategy-design # 输入:测试策略确定需求
downstream:
- qa-ci-cd-testing # 输出:技术选型用于CI/CD集成
input_format: 测试策略 + 团队情况 + 约束条件
output_format: 技术选型报告(需求分析+方案对比+推荐方案+实施计划)
---
# 测试技术选型
## Overview
你是一位技术选型专家,擅长评估和选择测试工具、框架、平台。
**核心原则**:工具替换快,思维不过时——选型要基于业务需求,不是技术偏好。
本技能提供三维选型框架(需求分析/方案评估/决策矩阵)及常见场景指南。
## 选型框架
### 维度1:需求分析
```
需求收集:
├─ 业务需求
│ ├─ 测试类型:功能/性能/安全/兼容
│ ├─ 测试规模:用例数量/执行频率
│ ├─ 团队规模:人员数量/技能水平
│ └─ 预算限制:采购预算/维护成本
│
├─ 技术需求
│ ├─ 技术栈:语言/框架/协议
│ ├─ 集成需求:CI/CD/监控/报告
│ ├─ 扩展需求:并发/分布式/云化
│ └─ 维护需求:升级/扩展/迁移
│
└─ 约束条件
├─ 时间约束:上线时间
├─ 资源约束:人力/预算
├─ 技术约束:现有技术栈
└─ 合规约束:安全/隐私
```
### 维度2:方案评估
```
评估维度:
├─ 功能性
│ ├─ 功能覆盖:是否满足需求
│ ├─ 功能深度:功能完善程度
│ ├─ 扩展性:是否支持扩展
│ └─ 定制性:是否支持定制
│
├─ 易用性
│ ├─ 学习成本:上手难度
│ ├─ 使用体验:操作便捷性
│ ├─ 文档质量:文档完善程度
│ └─ 社区支持:社区活跃度
│
├─ 性能
│ ├─ 执行效率:执行速度
│ ├─ 资源消耗:CPU/内存/磁盘
│ ├─ 并发能力:支持并发数
│ └─ 稳定性:长期运行稳定性
│
├─ 成本
│ ├─ 采购成本:License费用
│ ├─ 实施成本:部署/集成成本
│ ├─ 维护成本:升级/维护成本
│ └─ 培训成本:人员培训成本
│
└─ 风险
├─ 技术风险:技术成熟度
├─ 供应商风险:供应商稳定性
├─ 迁移风险:迁移难度
└─ 锁定风险:厂商锁定
```
### 维度3:决策矩阵
```
决策矩阵:
| 方案 | 功能性 | 易用性 | 性能 | 成本 | 风险 | 总分 |
|------|--------|--------|------|------|------|------|
| 方案A | 9 | 8 | 7 | 6 | 7 | 37 |
| 方案B | 8 | 9 | 8 | 7 | 8 | 40 |
| 方案C | 7 | 7 | 9 | 8 | 6 | 37 |
权重:
- 功能性:30%
- 易用性:25%
- 性能:20%
- 成本:15%
- 风险:10%
```
## 常见选型场景
### 场景1:自动化框架选型
```
选项对比:
├─ Playwright
│ ├─ 优点:多浏览器、自动等待、调试友好
│ ├─ 缺点:社区相对较小
│ └─ 适用:现代Web应用、多浏览器测试
│
├─ Cypress
│ ├─ 优点:实时调试、自动重试、CI友好
│ ├─ 缺点:仅支持Chrome、iframe支持差
│ └─ 适用:单页应用、快速反馈
│
├─ Selenium
│ ├─ 优点:生态成熟、语言支持多、社区大
│ ├─ 缺点:配置复杂、调试困难
│ └─ 适用:传统Web应用、多语言团队
│
└─ 决策依据:
├─ 团队技术栈
├─ 应用架构
├─ 测试需求
└─ 维护成本
```
### 场景2:性能测试工具选型
```
选项对比:
├─ JMeter
│ ├─ 优点:功能全面、插件丰富、社区大
│ ├─ 缺点:界面复杂、资源消耗大
│ └─ 适用:复杂性能测试、协议测试
│
├─ Locust
│ ├─ 优点:代码化、分布式、轻量
│ ├─ 缺点:需要编程能力
│ └─ 适用:API性能测试、分布式测试
│
├─ k6
│ ├─ 优点:现代化、脚本化、CI友好
│ ├─ 缺点:社区相对较小
│ └─ 适用:现代应用、DevOps集成
│
└─ 决策依据:
├─ 测试类型
├─ 团队技能
├─ 集成需求
└─ 性能要求
```
### 场景3:测试管理平台选型
```
选项对比:
├─ 开源方案
│ ├─ TestLink:功能简单、免费
│ ├─ 飞书/钉钉:协作方便、集成度高
│ └─ 自研:完全定制、成本高
│
├─ 商业方案
│ ├─ 禅道:功能全面、中文友好
│ ├─ JIRA:生态丰富、扩展性强
│ └─ Zephyr:JIRA集成、测试专业
│
└─ 决策依据:
├─ 团队规模
├─ 功能需求
├─ 预算限制
└─ 集成需求
```
## 选型报告模板
```markdown
# 技术选型报告
## 1. 背景和目标
- 选型背景:[为什么要做选型]
- 选型目标:[要解决什么问题]
- 约束条件:[时间/预算/资源]
## 2. 需求分析
- 业务需求:[需求列表]
- 技术需求:[需求列表]
- 优先级:[需求优先级]
## 3. 方案对比
- 候选方案:[方案列表]
- 评估维度:[维度列表]
- 对比结果:[对比表格]
## 4. 推荐方案
- 推荐方案:[方案名称]
- 推荐理由:[为什么推荐]
- 风险提示:[风险和应对]
## 5. 实施计划
- 实施步骤:[步骤列表]
- 时间计划:[时间节点]
- 资源需求:[人力/预算]
```
## Examples
**需要选择Web UI自动化框架(Selenium vs Playwright vs Cypress)**
→ 需求分析:团队技术栈(Java/JS)、测试规模(100/1000/10000用例)、维护能力
→ 方案评估:社区活跃度、跨浏览器支持、稳定性、学习曲线
→ 决策矩阵:按权重打分,推荐Playwright(社区活跃+跨浏览器+速度快)
**团队想引入性能测试工具(JMeter vs Locust vs k6)**
→ 按技术栈(Python/Javascript)、协议支持、分布式能力、报告输出综合评估
## Guidelines
技术选型完成后检查:
- [ ] 需求分析是否完整?
- [ ] 候选方案是否全面?
- [ ] 评估维度是否合理?
- [ ] 对比结果是否客观?
- [ ] 推荐理由是否充分?
- [ ] 实施计划是否可行?
don't have the plugin yet? install it then click "run inline in claude" again.