测试工作组
测试工作组是一个团队,旨在帮助指导 Swift 代码测试的体验、库和工具。
测试工作组将
- 管理 Swift Testing 和 Corelibs XCTest 项目,并对其特性提案进行评审。
- 识别可以满足 Swift 社区测试需求的改进。
- 遵循 Swift Testing 愿景文档中概述的长期特性方向。
- 促进测试功能和库在相关工具中的集成。
- 将关于 Swift 社区未满足的测试需求的反馈传递给其他工作组、指导委员会和核心团队。
当前的测试工作组由以下人员组成
- Brandon Williams (@mbrandonw)
- Brian Croom (@briancroom)
- Jonathan Grynspan (@grynspan)
- Maarten Engels (@maartene)
- Paul LeMarquand (@plemarquand)
- Rachel Brindle (@younata)
- Stuart Montgomery, Chair (@smontgomery)
章程
测试工作组的最终目标是提升在 Swift 中编写和运行测试的体验和效用,从而提高整个生态系统的软件质量。为了实现该目标,工作组开发了诸如 Swift Testing 这样的库,这些库实现了社区所需的核心功能;它与常用工具、IDE 和 CI 系统的维护者协调,以集成它们并推广测试工作流程;并且在必要时,它与其他 Swift 社区团体合作,以寻求在他们各自领域中与测试相关的改进。与其他团体频繁协作的一些领域包括
swift test
swift-package-manager 的子命令;- vscode-swift 插件中的测试子系统;以及
- sourcekit-lsp 中的静态测试发现逻辑。
工作组的核心职能之一是为 Swift Testing 项目的特性和 API 提案进行社区评审。其对该项目的治理受其随附的 愿景文档指导。工作组还寻找机会深化测试库与工具和 IDE 的集成,启用额外的测试风格(例如性能或 UI),或解决影响测试工作流程的问题。工作组成员定期评估 Swift 生态系统中出现的新趋势,并讨论测试如何更好地支持它们。
成员
测试工作组的成员资格是基于贡献的,并且预计会随着时间推移而演变。添加新成员和移除不活跃成员需要现有成员投票,并需要全体一致同意。成员总数限制为十名,以保持小组规模足够小,从而有效运作。
核心团队选择工作组的一名成员担任主席。主席对工作组没有特殊的权力,但他们负责确保其顺利运作,包括
- 组织和领导定期会议,
- 确保工作组与社区有效沟通,以及
- 在必要时协调工作组代表与其他 Swift 工作组或团队之间的会议。
如果您想加入工作组,请在论坛上向 @testing-workgroup 发送消息,您将被邀请参加下一次小组会议以进一步讨论。请参阅社区参与部分,了解贡献和展示您对小组兴趣的方式示例。
工作组成员将尽可能尝试通过协商一致独立做出决定,并且在就重大决策达成共识时遇到特殊挑战时,会将问题提交给核心团队。
会议
测试工作组每两周的星期一太平洋时间(美国太平洋)下午 1:00 开会。会议在双数周举行,除非提前另行通知。
许多工作组会议旨在进行公开讨论,任何 Swift 社区成员都可以通过提前向 @testing-workgroup 发送消息请求邀请来参加。一些会议保留供小组成员进行私人讨论,例如对正在审查的提案做出决定。
沟通
测试工作组在 swift-testing 论坛类别中与更广泛的 Swift 社区进行沟通。也可以通过向 @testing-workgroup 发送消息私下联系工作组。
如果在工作组的定期会议中达成任何重大决定,成员将在一周内将其发布在论坛上。每个提案评审的结果将由其评审管理人员在专门针对该提案的单独主题中宣布。
社区参与
欢迎所有人帮助改进 Swift 的测试体验并参与测试工作组的倡议。以下是一些可以考虑参与的方式
- 在 Swift 论坛上讨论想法。您可以在 swift-testing 类别中创建新主题,或将
testing
标签添加到任何主题。 - 打开 GitHub 问题以跟踪测试工作组管理的项目的增强功能或报告错误,例如 swift-testing。
- 为 swift-testing 贡献错误修复或增强功能。(请参阅 CONTRIBUTING。)
- 扩展 swift-testing 以支持更多平台。(请参阅 Porting。)
- 开发新工具以辅助自动化测试或改进现有工具。
- 通过在论坛上向 @testing-workgroup 发送消息,直接向测试工作组成员提供反馈。工作组主席将未解决的问题和主题带到工作组,以便在定期会议期间讨论。工作组决定这些问题的处理措施。
- 加入测试工作组的定期视频会议。向 @testing-workgroup 发送消息以请求访问权限,因为通话必须保持相对较少的参与者。