|
| 1 | +--- |
| 2 | +layout: page |
| 3 | +title: Testing Workgroup |
| 4 | +--- |
| 5 | + |
| 6 | +The Testing Workgroup is a team that helps guide the experience, libraries, and |
| 7 | +tools for testing Swift code. |
| 8 | + |
| 9 | +The Testing Workgroup will: |
| 10 | + |
| 11 | +* Govern the [Swift Testing](https://github.com/swiftlang/swift-testing) and |
| 12 | + [Corelibs XCTest](https://github.com/swiftlang/swift-corelibs-xctest) projects |
| 13 | + and conduct reviews of their feature proposals. |
| 14 | +* Identify improvements which would address the needs of testing in the Swift |
| 15 | + community. |
| 16 | +* Pursue long-term feature directions outlined in the Swift Testing |
| 17 | + [vision document](https://github.com/swiftlang/swift-evolution/blob/main/visions/swift-testing.md). |
| 18 | +* Promote the integration of testing functionality and libraries in related |
| 19 | + tools. |
| 20 | +* Channel feedback to other workgroups, steering groups, and the Core Team about |
| 21 | + unmet testing needs of the Swift community. |
| 22 | + |
| 23 | +The current Testing Workgroup consists of the following people: |
| 24 | + |
| 25 | +{% assign people = site.data['testing-workgroup'].members | sort: "name" %} |
| 26 | +<ul> |
| 27 | +{% for person in people %} |
| 28 | +<li>{{ person.name }} |
| 29 | +{%- if person.affiliation -%} |
| 30 | +, {{ person.affiliation }} |
| 31 | +{% endif %} |
| 32 | +{% if person.handle %} |
| 33 | +(<a href="https://forums.swift.org/new-message?username={{person.handle}}">@{{person.handle}}</a>) |
| 34 | +{% endif %} |
| 35 | +</li> |
| 36 | +{% endfor %} |
| 37 | +</ul> |
| 38 | + |
| 39 | +## Charter |
| 40 | + |
| 41 | +The ultimate goal of the Testing Workgroup is to enhance the experience and |
| 42 | +utility of authoring and running tests in Swift to improve software quality |
| 43 | +across the ecosystem. In pursuit of that goal, the workgroup develops libraries |
| 44 | +like Swift Testing which implement core functionality needed by the community; |
| 45 | +it coordinates with the maintainers of commonly-used tools, IDEs, and CI |
| 46 | +systems to integrate them and promote testing workflows; and when necessary, it |
| 47 | +collaborates with other Swift community groups to pursue testing-related |
| 48 | +improvements in their areas. Some areas of frequent collaboration with other |
| 49 | +groups include: |
| 50 | + |
| 51 | +* the `swift test` subcommand of |
| 52 | + [swift-package-manager](https://github.com/swiftlang/swift-package-manager); |
| 53 | +* the testing subsystem in the |
| 54 | + [vscode-swift](https://github.com/swiftlang/vscode-swift) plugin; and |
| 55 | +* the static test discovery logic in |
| 56 | + [sourcekit-lsp](https://github.com/swiftlang/sourcekit-lsp). |
| 57 | + |
| 58 | +A central function of the workgroup is conducting community reviews of features |
| 59 | +and API proposals for the Swift Testing project. Its governance of that project |
| 60 | +is guided by its accompanying |
| 61 | +[vision document](https://github.com/swiftlang/swift-evolution/blob/main/visions/swift-testing.md). |
| 62 | +The workgroup also looks for opportunities to deepen integration of testing |
| 63 | +libraries with tools and IDEs, enable additional styles of testing (such as |
| 64 | +performance or UI), or to resolve problems which impact testing workflows. |
| 65 | +Members of the workgroup regularly evaluate emerging trends in the Swift |
| 66 | +ecosystem, and discuss how testing could better support them. |
| 67 | + |
| 68 | +## Membership |
| 69 | + |
| 70 | +Membership in the Testing Workgroup is contribution-based and expected to |
| 71 | +evolve over time. Adding new members and removing inactive ones is subject to a |
| 72 | +vote by the existing members and requires unanimous agreement. Membership is |
| 73 | +limited to ten members in total to keep the group small enough to be effective. |
| 74 | + |
| 75 | +The Core Team selects one member of the workgroup as the chair. The chair has no |
| 76 | +special authority over the workgroup, but they are responsible for ensuring its |
| 77 | +smooth functioning, including by: |
| 78 | + |
| 79 | +* organizing and leading regular meetings, |
| 80 | +* ensuring that the workgroup communicates effectively with the community, and |
| 81 | +* coordinating meetings between workgroup representatives and other Swift |
| 82 | + workgroups or teams when necessary. |
| 83 | + |
| 84 | +If you’d like to join the workgroup, send a message to |
| 85 | +[@testing-workgroup](https://forums.swift.org/new-message?groupname=testing-workgroup) |
| 86 | +on the Forums and you will be invited to the next available group meeting to |
| 87 | +discuss it more. See [Community participation](#community-participation) for |
| 88 | +examples of ways to contribute and demonstrate your interest to the group. |
| 89 | + |
| 90 | +Workgroup members will try to make a decision independently by consensus |
| 91 | +whenever possible, and will raise issues to the Core Team when there are |
| 92 | +particular challenges with reaching consensus on significant decisions. |
| 93 | + |
| 94 | +## Meetings |
| 95 | + |
| 96 | +The Testing Workgroup meets biweekly on Monday at 1:00PM PT (USA Pacific). |
| 97 | +Meetings take place in [even numbered weeks](http://www.whatweekisit.org/), |
| 98 | +unless otherwise communicated in advance. |
| 99 | + |
| 100 | +Many workgroup meetings are meant for open discussion and any Swift community |
| 101 | +member may attend by sending a message to |
| 102 | +[@testing-workgroup](https://forums.swift.org/new-message?groupname=testing-workgroup) |
| 103 | +beforehand to request an invite. Some meetings are reserved for private |
| 104 | +discussion by group members, for example to make a decision on a proposal under |
| 105 | +review. |
| 106 | + |
| 107 | +## Communication |
| 108 | + |
| 109 | +The Testing Workgroup communicates with the broader Swift community in the |
| 110 | +[swift-testing](https://forums.swift.org/c/development/swift-testing/103) |
| 111 | +Forum category. The workgroup can also be contacted privately by sending a |
| 112 | +message to |
| 113 | +[@testing-workgroup](https://forums.swift.org/new-message?groupname=testing-workgroup). |
| 114 | + |
| 115 | +If any significant decisions are reached during one of the workgroup's regular |
| 116 | +meetings, a member will post about them in the Forums within one week. The |
| 117 | +outcome of each proposal review will be announced by its review manager in a |
| 118 | +separate thread dedicated to that proposal. |
| 119 | + |
| 120 | +## Community participation |
| 121 | + |
| 122 | +Everyone is invited to help improve Swift’s testing experience and participate |
| 123 | +in the Testing Workgroup’s initiatives. Here are some ways to consider |
| 124 | +participating: |
| 125 | + |
| 126 | +* Discuss ideas on the Swift Forums. You can create new topics in the |
| 127 | + [swift-testing](https://forums.swift.org/c/development/swift-testing/103) |
| 128 | + category, or add the `testing` tag to any topic. |
| 129 | +* Open GitHub issues to track enhancements or report bugs in the projects |
| 130 | + governed by the Testing Workgroup, such as |
| 131 | + [swift-testing](https://github.com/swiftlang/swift-testing). |
| 132 | +* Contribute bug fixes or enhancements to |
| 133 | + [swift-testing](https://github.com/swiftlang/swift-testing). (See |
| 134 | + [CONTRIBUTING](https://github.com/swiftlang/swift-testing/blob/main/CONTRIBUTING.md).) |
| 135 | +* Expand [swift-testing](https://github.com/swiftlang/swift-testing) to support |
| 136 | + additional platforms. (See |
| 137 | + [Porting](https://github.com/swiftlang/swift-testing/blob/main/Documentation/Porting.md).) |
| 138 | +* Develop new tools to aide automated testing or improve existing ones. |
| 139 | +* Provide feedback to the members of the Testing Workgroup directly by sending a |
| 140 | + message to |
| 141 | + [@testing-workgroup](https://forums.swift.org/new-message?groupname=testing-workgroup) |
| 142 | + on the Forums. The workgroup chair brings outstanding issues and topics to the |
| 143 | + workgroup to discuss during regular meetings. The workgroup decides the |
| 144 | + actions for the issues. |
| 145 | +* Join the Testing Workgroup’s regular video meetings. Send a message to |
| 146 | + [@testing-workgroup](https://forums.swift.org/new-message?groupname=testing-workgroup) |
| 147 | + to request access, since calls must be kept to a relatively small number of |
| 148 | + participants. |
0 commit comments