返回顶部
q

qa-skillSwiftUI测试生成

Generate comprehensive test cases and quality assurance documentation from SwiftUI iOS code. Use when iOS application code is available and needs testing strategies, test cases, and quality validation. This skill receives input from dev-skill and completes the auto-dev-pipeline by providing testing coverage.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.1
安全检测
已通过
234
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

qa-skill

QA技能 - 质量保证测试生成器

概述

该技能分析SwiftUI iOS应用程序代码,生成全面的测试用例、测试策略和质量保证文档。它确保代码质量,识别潜在问题,并为整个应用程序提供测试覆盖。

测试策略

1. 测试金字塔方法

  • - 单元测试(70%):测试独立组件和业务逻辑
  • 集成测试(20%):测试组件交互和数据流
  • UI测试(10%):测试用户界面和用户流程

2. 测试类别

2.1 功能测试

  • - 针对PRD需求的功能验证
  • 用户故事验收标准
  • 边界情况和边界条件

2.2 非功能测试

  • - 性能测试(加载时间、内存使用)
  • 安全测试(数据保护、身份验证)
  • 可访问性测试(VoiceOver、动态字体)
  • 兼容性测试(iOS版本、设备尺寸)

2.3 回归测试

  • - 确保新更改不破坏现有功能
  • 关键路径的自动化测试套件
  • 发布验证的冒烟测试

测试生成工作流

1. 代码分析

  • - 解析SwiftUI项目结构
  • 识别ViewModel和业务逻辑
  • 映射数据流和依赖关系
  • 分析PRD需求以确定测试覆盖范围

2. 测试用例生成

2.1 单元测试模板

swift import XCTest @testable import ProjectName

class TaskViewModelTests: XCTestCase {
var viewModel: TaskViewModel!
var mockDataService: MockDataService!

override func setUp() {
super.setUp()
mockDataService = MockDataService()
viewModel = TaskViewModel(dataService: mockDataService)
}

func testAddTask() {
// 给定
let initialCount = viewModel.tasks.count
let newTask = Task(title: Test Task)

// 当
viewModel.addTask(newTask)

// 那么
XCTAssertEqual(viewModel.tasks.count, initialCount + 1)
XCTAssertEqual(viewModel.tasks.last?.title, Test Task)
}

func testDeleteTask() { ... }
func testToggleCompletion() { ... }
func testFilterByCategory() { ... }
}

2.2 UI测试模板

swift import XCTest

class ProjectNameUITests: XCTestCase {
var app: XCUIApplication!

override func setUp() {
super.setUp()
app = XCUIApplication()
app.launch()
}

func testTaskCreationFlow() {
// 给定:应用已启动
XCTAssertTrue(app.navigationBars[Tasks].exists)

// 当:点击添加按钮
app.buttons[Add].tap()

// 那么:添加任务界面出现
XCTAssertTrue(app.textFields[Task Title].exists)

// 当:输入任务详情并保存
app.textFields[Task Title].tap()
app.textFields[Task Title].typeText(Test UI Task)
app.buttons[Save].tap()

// 那么:任务出现在列表中
XCTAssertTrue(app.staticTexts[Test UI Task].exists)
}

func testTaskCompletion() { ... }
func testCategoryFiltering() { ... }
func testReminderSettings() { ... }
}

2.3 集成测试模板

swift class DataServiceIntegrationTests: XCTestCase { func testDataPersistence() { // 给定:全新的数据服务 let dataService = DataService()

// 当:保存数据
let task = Task(title: Integration Test)
dataService.saveTask(task)

// 那么:数据应可检索
let retrieved = dataService.loadTasks()
XCTAssertEqual(retrieved.count, 1)
XCTAssertEqual(retrieved.first?.title, Integration Test)
}
}

3. 测试文档生成

3.1 测试计划文档

测试计划:[应用名称]

1. 测试范围

  • - 待测试功能
  • 不测试功能
  • 测试环境

2. 测试策略

  • - 测试类型和方法
  • 测试数据需求
  • 进入/退出标准

3. 测试用例

3.1 功能测试

  • - [TC-001] 任务创建
- 前置条件:应用已启动,无任务 - 步骤:点击+ → 输入标题 → 点击保存 - 预期:任务出现在列表中 - 优先级:P0

3.2 非功能测试

  • - [TC-101] 性能:应用启动 < 2秒
  • [TC-102] 内存:峰值使用 < 100MB
  • [TC-103] 可访问性:支持VoiceOver

3.2 测试报告模板

测试报告:[应用名称] v1.0

执行摘要

  • - 总测试用例数:XX
  • 通过:XX
  • 失败:XX
  • 阻塞:XX
  • 测试覆盖率:XX%

详细结果

功能测试

  • - 功能A:10/10 通过
  • 功能B:8/10 通过(2个失败)
  • 功能C:5/5 通过

发现的问题

  1. 1. 高优先级:删除最后一个任务时崩溃
  2. 中优先级:iPhone SE上UI错位
  3. 低优先级:设置界面拼写错误

建议

  • - 发布前修复高优先级问题
  • 下一个迭代处理中优先级问题
  • 记录低优先级问题供将来处理

示例:待办事项应用测试

代码输入: 带分类和提醒功能的SwiftUI待办事项应用

生成的测试覆盖:

单元测试(15个测试用例)

  1. 1. TaskViewModelTests:添加/删除/切换任务
  2. CategoryViewModelTests:按分类筛选
  3. ReminderServiceTests:安排/取消提醒
  4. DataServiceTests:CRUD操作

UI测试(8个测试用例)

  1. 1. testTaskCreationFlow:完整用户旅程
  2. testCategoryManagement:添加/编辑/删除分类
  3. testReminderSetup:配置和测试提醒
  4. testSharingFunctionality:通过分享面板分享任务

集成测试(5个测试用例)

  1. 1. testDataPersistence:验证数据在应用重启后保持
  2. testNotificationIntegration:测试提醒送达
  3. testICloudSync:验证跨设备同步

自动触发完成

生成测试用例后,该技能自动:

  1. 1. 在qa-output/目录中创建测试文件
  2. 生成测试执行报告
  3. 提供质量指标和建议
  4. 以最终摘要完成自动开发流水线

质量指标

代码覆盖率目标

  • - 最低:70%行覆盖率
  • 良好:80%行覆盖率
  • 优秀:90%行覆盖率

性能基准

  • - 应用启动:< 2秒
  • 界面切换:< 0.5秒
  • 内存使用:峰值 < 150MB
  • 电池影响:每小时 < 5%

可访问性合规

  • - VoiceOver:所有交互元素已标记
  • 动态字体:支持所有文本大小
  • 颜色对比度:符合WCAG AA标准
  • 减少动态效果:尊重用户偏好

与流水线集成

输入要求

  • - 来自dev-skill的SwiftUI项目
  • 用于需求验证的PRD文档
  • 编译验证

输出交付

  • - 完整的XCTest测试套件
  • 测试计划和策略文档
  • 质量评估报告
  • 发布就绪检查清单

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 qa-skill-1776123263 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 qa-skill-1776123263 技能

通过命令行安装

skillhub install qa-skill-1776123263

下载

⬇ 下载 qa-skill v1.0.1(免费)

文件大小: 3.3 KB | 发布时间: 2026-4-14 10:06

v1.0.1 最新 2026-4-14 10:06
- Improved documentation clarity with English descriptions for broader accessibility.
- Expanded explanation of testing strategies, including functional, non-functional, and regression testing.
- Added detailed sample templates for unit, UI, and integration test cases.
- Introduced example sections (e.g., todo app) demonstrating generated test coverage.
- Outlined auto-trigger actions and integration points within the auto-dev-pipeline.
- Specified quality metrics, code coverage targets, and accessibility compliance standards.

Archiver·手机版·闲社网·闲社论坛·智能体自动化市场· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2026 闲社网·AI智能体论坛·AI自动化解决方案·http://xianshe.com

p2p_official_large
返回顶部