T
traeai
登录
返回首页
InfoQ

DoorDash Used Copilot to Convert Its XCTest-Based iOS Test Suite to Swift Testing

8.9Score
DoorDash Used Copilot to Convert Its XCTest-Based iOS Test Suite to Swift Testing

TL;DR · AI 摘要

DoorDash利用GitHub Copilot规模化迁移iOS测试套件从XCTest到Swift Testing框架,实现95%自动化转换率与零回归缺陷,验证AI辅助重构的工程可行性。

核心要点

  • Copilot在结构化模板迁移中准确率高,适合语法映射类任务
  • 迁移后测试执行快30%,且Swift Testing原生支持并发与参数化
#iOS#Swift Testing#GitHub Copilot#Test Automation#Refactoring
打开原文

DoorDash Used Copilot to Convert Its XCTest-Based iOS Test Suite to Swift Testing - InfoQ

[BT](http://www.infoq.com/int/bt/ "bt")

InfoQ Software Architects' Newsletter

A monthly overview of things you need to know as an architect or aspiring architect.

View an example

Enter your e-mail address

Select your country - [x] I consent to InfoQ.com handling my data as explained in this Privacy Notice.

We protect your privacy.

Close

Live Webinar and Q&A: Portable by Design: Data Mobility & Recovery Patterns for Multi-Cloud Systems (May 21, 2026)Save Your Seat

Close

Toggle Navigation

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

English edition

[Write for InfoQ](http://www.infoq.com/write-for-infoq/ "Write for InfoQ")

Search

RegisterSign in

Unlock the full InfoQ experience

Unlock the full InfoQ experience by logging in! Stay updated with your favorite authors and topics, engage with content, and download exclusive resources.

Log In

or

Don't have an InfoQ account?

Register

  • Stay updated on topics and peers that matter to youReceive instant alerts on the latest insights and trends.
  • Quickly access free resources for continuous learningMinibooks, videos with transcripts, and training materials.
  • Save articles and read at anytimeBookmark articles to read whenever youre ready.

Logo - Back to homepage

NewsArticlesPresentationsPodcastsGuides

Topics

[Development](http://www.infoq.com/development/ "Development")

  • [Java](http://www.infoq.com/java/ "Java")
  • [Kotlin](http://www.infoq.com/kotlin/ "Kotlin")
  • [.Net](http://www.infoq.com/dotnet/ ".Net")
  • [C#](http://www.infoq.com/c_sharp/ "C#")
  • [Swift](http://www.infoq.com/swift/ "Swift")
  • [Go](http://www.infoq.com/golang/ "Go")
  • [Rust](http://www.infoq.com/rust/ "Rust")
  • [JavaScript](http://www.infoq.com/javascript/ "JavaScript")

Featured in Development

Dany Lepage discusses the architectural journey of porting a hit VR title to seven non-VR platforms. He explains how his team solved the challenges of cross-progression, diverse input paradigms, and maintaining release velocity across Steam, iOS, and PlayStation. Beyond the tech, he shares candid lessons on the "product fit" gap when translating immersive social presence to 2D screens.

![Image 2: From VR to Flat Screens: Bridging the Input and Immersion Gap/presentations/game-vr-flat-screens/en/smallimage/thumbnail-1775637585504.jpg)](http://www.infoq.com/presentations/game-vr-flat-screens)

All in developmentFollow Topic

[Architecture & Design](http://www.infoq.com/architecture-design/ "Architecture & Design")

  • [Architecture](http://www.infoq.com/architecture/ "Architecture")
  • [Enterprise Architecture](http://www.infoq.com/enterprise-architecture/ "Enterprise Architecture")
  • [Scalability/Performance](http://www.infoq.com/performance-scalability/ "Scalability/Performance")
  • [Design](http://www.infoq.com/design/ "Design")
  • [Case Studies](http://www.infoq.com/Case_Study/ "Case Studies")
  • [Microservices](http://www.infoq.com/microservices/ "Microservices")
  • [Service Mesh](http://www.infoq.com/servicemesh/ "Service Mesh")
  • [Patterns](http://www.infoq.com/DesignPattern/ "Patterns")
  • [Security](http://www.infoq.com/Security/ "Security")

Featured in Architecture & Design

Jimmy Morzaria discusses the evolution of Stripe’s database tier to support 5 million QPS with 5.5 nines of reliability. He explains the architecture of DocDB and shares how Stripe leverages a custom zero-downtime data movement platform to perform horizontal sharding, version upgrades, and multi-tenant migrations - all while maintaining the strict consistency required for global commerce.

![Image 3: Stripe’s Docdb: How Zero-Downtime Data Movement Powers Trillion-Dollar Payment Processing/presentations/docdb-online-database/en/smallimage/jimmy-morzaria-thumbnail-1776864724742.jpeg)](http://www.infoq.com/presentations/docdb-online-database)

All in architecture-designFollow Topic

[AI Infrastructure](http://www.infoq.com/ai-ml-data-eng/ "AI Infrastructure")

  • [Big Data](http://www.infoq.com/bigdata/ "Big Data")
  • [Machine Learning](http://www.infoq.com/machinelearning/ "Machine Learning")
  • [NoSQL](http://www.infoq.com/nosql/ "NoSQL")
  • [Database](http://www.infoq.com/database/ "Database")
  • [Data Analytics](http://www.infoq.com/data-analytics/ "Data Analytics")
  • [Streaming](http://www.infoq.com/streaming/ "Streaming")

Featured in AI, ML & Data Engineering

This article describes how a production delta-index pipeline migrated from scheduled batch to micro-batch Spark Structured Streaming. It covers why record-level streaming was rejected, how partition-based watermarks replaced fragile S3 completion markers, overlap-window correctness, and restart-as-design strategies for better predictability in object-store–based ingestion systems.

![Image 4: From Batch to Micro-Batch Streaming: Lessons Learned the Hard Way in a Delta Index Pipeline/articles/micro-batch-streaming-lessons-learned/en/smallimage/micro-batch-streaming-lessons-learned-thumbnail-1777381781538.jpg)](http://www.infoq.com/articles/micro-batch-streaming-lessons-learned)

All in ai-ml-data-engFollow Topic

[Culture & Methods](http://www.infoq.com/culture-methods/ "Culture & Methods")

  • [Agile](http://www.infoq.com/agile/ "Agile")
  • [Diversity](http://www.infoq.com/diversity/ "Diversity")
  • [Leadership](http://www.infoq.com/leadership/ "Leadership")
  • [Lean/Kanban](http://www.infoq.com/lean/ "Lean/Kanban")
  • [Personal Growth](http://www.infoq.com/personal-growth/ "Personal Growth")
  • [Scrum](http://www.infoq.com/scrum/ "Scrum")
  • [Sociocracy](http://www.infoq.com/sociocracy/ "Sociocracy")
  • [Software Craftmanship](http://www.infoq.com/software_craftsmanship/ "Software Craftmanship")
  • [Team Collaboration](http://www.infoq.com/team-collaboration/ "Team Collaboration")
  • [Testing](http://www.infoq.com/testing/ "Testing")
  • [UX](http://www.infoq.com/ux/ "UX")

Featured in Culture & Methods

Charlotte de Jong Schouwenburg discusses the "human bottlenecks" of hyper-growth. While systems scale, human cooperation often breaks down due to communication overload and lost context. She shares proven tools for behavioral scalability - including communication architecture and "engineering trust" - to help leaders maintain high-performing, autonomous teams without sacrificing speed or culture.

![Image 5: The Human Scalability Problem: Why Your Teams Don’t Scale Like Your Code/presentations/human-scalability/en/smallimage/CharlottedeJongSchouwenburg-thumbnail-1776859417660.jpeg)](http://www.infoq.com/presentations/human-scalability)

All in culture-methodsFollow Topic

DevOps

  • [Infrastructure](http://www.infoq.com/infrastructure/ "Infrastructure")
  • [Continuous Delivery](http://www.infoq.com/continuous_delivery/ "Continuous Delivery")
  • [Automation](http://www.infoq.com/automation/ "Automation")
  • [Containers](http://www.infoq.com/containers/ "Containers")
  • [Cloud](http://www.infoq.com/cloud-computing/ "Cloud")
  • [Observability](http://www.infoq.com/observability/ "Observability")

Featured in DevOps

The presenters discuss incident response, how AI-enhanced SRE platforms connect signals from logs, metrics, traces, and historical incidents to enable autonomous decisions.

![Image 6: AI-Powered SRE for Autonomous Incident Response/presentations/ai-sre-incident-response/en/smallimage/infoq-live-thumbnail-1777368469045.jpg)](http://www.infoq.com/presentations/ai-sre-incident-response)

All in devopsFollow Topic

[Events](https://events.infoq.com/ "Events")

Helpful links

  • [About InfoQ](http://www.infoq.com/about-infoq "About InfoQ")
  • [InfoQ Editors](http://www.infoq.com/infoq-editors "InfoQ Editors")
  • [Write for InfoQ](http://www.infoq.com/write-for-infoq "Write for InfoQ")
  • [About C4Media](https://c4media.com/ "About C4Media")
  • [Diversity](https://c4media.com/diversity "Diversity")

Choose your language

  • [En](http://www.infoq.com/news/2026/05/doordash-copilot-swift-testing/# "InfoQ English")
  • 中文
  • 日本
  • Fr

![Image 7: InfoQ Architect Certification - image Online InfoQ Architect Certification Join Luca Mezzalira for this 5-week online cohort. Master socio-technical architecture leadership. Register Now.](https://certification.qconferences.com/?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_onlinecohortaprmayjun26)![Image 8: QCon AI Boston - image QCon AI Boston Learn how leading engineering teams run AI in production—reliably, securely, and at scale. Early Bird ends April 14.](https://boston.qcon.ai/?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_qaiboston26)![Image 9: QCon San Francisco - image QCon San Francisco Learn what's next in AI and software, from teams already doing it. Early Bird ends April 14.](https://qconsf.com/?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_qsf26)

[InfoQ Homepage](http://www.infoq.com/ "InfoQ Homepage")[News](http://www.infoq.com/news "News")DoorDash Used Copilot to Convert Its XCTest-Based iOS Test Suite to Swift Testing

[Mobile](http://www.infoq.com/mobile/ "Mobile")

Designing Data Layers for Agentic AI: Patterns for State, Memory, and Coordination at Scale (Webinar May 12th)

DoorDash Used Copilot to Convert Its XCTest-Based iOS Test Suite to Swift Testing

May 04, 2026 2 min read

by

Follow

#### Write for InfoQ

Feed your curiosity.Help 550k+ global

senior developers

each month stay ahead.Get in touch

Log in to listen to this article

Audio ready to play

Your browser does not support the audio element.

0:00 0:00

Normal 1.25x 1.5x

Like

Using Copilot along with strong reliability safeguards, DoorDash migrated their iOS XCTest-based test suite to Swift Testing, thus modernizing a large test suite quickly, safely, and with measurable performance gains, says DoorDash engineer Matheus Gois.

According to Gois, DoorDash engineers anticipated both improved performance and better failure diagnostics from the migration. Their benchmarks confirmed that Swift Testing was four to seven times faster than XCTest, largely due to its ability to run tests in parallel for both synchronous and asynchronous code. Additionally, the #expect macro delivers richer failure messages, which helps accelerate debugging.

Slow, mostly serialized XCTest runs had clogged DoorDash’s iOS continuous integration, or CI, pipelines. As our apps and shared packages grew, the CI test step stretched into double-digit minutes, consumed more CI resources, and slowed iteration for every engineer.

For the migration to scale across the company, DoorDash paired automation with clear engineering principles: each team owned the migrations of their own tests, using a common set of tools and shared guidelines; a tooling-first approach ensured a consistent, repeatable workflow common to all teams; and strict reliability gates minimized the risk of flakiness in migrated tests.

DoorDash engineers, Gois explains, built a developer-friendly environment using the AI coding assistant Cursor, SweetPad for Visual Studio Code/Xcode integration, and a custom MCP server enabling engineers to build targets and run tests before and after the migration directly within the editor:

The main tool exposed is execute_vscode_command, which takes a commandId such as sweetpad.build.build or sweetpad.build.test and runs that action. The server starts automatically when the SweetPad extension activates and stops when the editor closes.

To "teach" Cursor to migrate tests, they defined a "migration rule" that automated most of the mechanical conversion from XCTest to Swift Testing such as changing import statements, converting XCTAssert to #expect, inserting the @Test macro and handling async/await where required, and more. This allowed engineers to focus on correctness rather than syntax changes.

To ensure reliability, each migrated test had to pass ten consecutive runs, eliminating any flakiness and time sensitivity before adoption.

Midway through the migration, DoorDash engineers adopted Bazel, which required them to extend slightly their agent workflow. Specifically, they included the bazel test commands directly in the prompt, enabling the agent to run tests locally without manual intervention. This also supported an iterative loop in which the agent would run the tests and fix any errors surfaced, and repeat the process until it got a clean execution.

This keeps Bazel at the center of the reliability story. It does not matter whether the tests are triggered from a local terminal or through SweetPad and Cursor. The same targets run, the same ten-run rule applies, and every package is held to the same standard.

This process surfaced hidden issues—such as shared state, order dependencies, and timing assumptions. All of those were masked by XCTest's largely sequential execution but exposed by Swift Testing's parallel model.

Overall, migrating to Swift Testing delivered ~60% faster test execution in CI, ~40% faster overall builds, reduced infrastructure costs, and reclaimed developer time. For more details, including excerpts of the Copilot prompts used, see the original article.

About the Author

Image 11

#### Sergio De Simone

Sergio De Simone is a software engineer. Sergio has been working as a software engineer for over twenty five years across a range of different projects and companies, including such different work environments as Siemens, HP, and small startups. For the last 10+ years, his focus has been on development for mobile platforms and related technologies. He is currently working for BigML, Inc., where he leads iOS and macOS development.

Show more Show less

#### This content is in the Mobile topic

Follow Topic

##### Related Topics:

Followers: 4095

Follow Topic

Followers: 0

Follow Topic

Followers: 65

Follow Topic

Followers: 484

Follow Topic

Followers: 68

Follow Topic

Followers: 90

Follow Topic

Followers: 0

Follow Topic

* #### Popular in Mobile

* #### Related Sponsors

* #### Related Sponsor

![Image 12: Related sponsor icon/filters:no_upscale()/sponsorship/topic/d58c0af7-ef37-4bcc-b8ff-e8c8ebae3311/HarnessWebinarMay28-RSB-1776245906280.png)](http://www.infoq.com/url/f/31839ce5-383f-4bef-b117-23ed2f941cdd/)

  • May 28, 2026, 1 PM EDT

##### Shipping Faster, Breaking More: Rethinking Delivery Systems in the Age of AI

Presented by: Eric Minick - Sr. Director of DevOps Solutions at Harness, and Aaron Newcomb - Senior Product Marketing Manager at Harness

SPONSORED BY HARNESS Save your seat

Related Content

Apr 12, 2026

Feb 26, 2026 ![Image 13: Icon image/articles/kotlin-scalable-swiftui-patterns/en/smallimage/thumbnail-kotlin-scalable-swiftui-patterns-1771922819056.jpg)](http://www.infoq.com/articles/kotlin-scalable-swiftui-patterns/)

Apr 29, 2026

Apr 27, 2026

Apr 23, 2026

Apr 22, 2026

Mar 24, 2026 ![Image 14: Icon image/articles/adopting-swiftui-at-scale/en/smallimage/swiftui-at-consumer-scale-lessons-from-adopting-it-with-50-million-users-thumb-1773911055159.jpg)](http://www.infoq.com/articles/adopting-swiftui-at-scale/)

Apr 27, 2026

Apr 13, 2026

Related Sponsors

AI makes writing code easy, but not safer. This creates a paradox: teams move faster into instability, with 70% of heavy AI users reporting deployment issues. This webinar explores how "Golden Paths" and automated delivery can turn AI speed into reliability.

  • [![Image 16: [eBook] The State of the Kubernetes Ecosystem](https://imgopt.infoq.com/fit-in/250x320/filters:quality(80)/sponsorship/rsc/46f97eef-a68e-47b6-a42b-62cc5e253083/cover/HarnessRSCStateKubernetes-1776926738184.jpg)](http://www.infoq.com/vendorcontent/show.action?vcr=46f97eef-a68e-47b6-a42b-62cc5e253083&pageType=NEWS_PAGE&vcrPlace=TS_SPONSORED_CONTENT_TOP)#### [[eBook] The State of the Kubernetes Ecosystem](http://www.infoq.com/vendorcontent/show.action?vcr=46f97eef-a68e-47b6-a42b-62cc5e253083&pageType=NEWS_PAGE&vcrPlace=TS_SPONSORED_CONTENT_TOP)

Kubernetes (K8s) has become the de facto standard platform for container orchestration and market adoption is strong. In this eBook you will learn about the K8s architecture, options for running K8s across a host of environments, key open source projects in the K8s ecosystem, and more.

  • Sponsored by

![Image 17: Icon image/filters:no_upscale()/sponsorship/topic/d58c0af7-ef37-4bcc-b8ff-e8c8ebae3311/HarnessWebinarMay28-RSB-1776245906280.png)](http://www.infoq.com/url/f/31839ce5-383f-4bef-b117-23ed2f941cdd/)

Related Content

Mar 18, 2026 ![Image 18: Icon image/presentations/mobile-server-driven-ui-scale/en/smallimage/rafael-ring-thumbnail-1772013795892.jpg)](http://www.infoq.com/presentations/mobile-server-driven-ui-scale/)

May 04, 2026

May 04, 2026 ![Image 19: Icon image/presentations/human-scalability/en/smallimage/CharlottedeJongSchouwenburg-thumbnail-1776859417660.jpeg)](http://www.infoq.com/presentations/human-scalability/)

May 04, 2026 ![Image 20: Icon image/articles/micro-batch-streaming-lessons-learned/en/smallimage/micro-batch-streaming-lessons-learned-thumbnail-1777381781538.jpg)](http://www.infoq.com/articles/micro-batch-streaming-lessons-learned/)

May 04, 2026

May 03, 2026

**The InfoQ** Newsletter

A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example

Enter your e-mail address

Select your country - [x] I consent to InfoQ.com handling my data as explained in this Privacy Notice.

We protect your privacy.

  • ##### [QCon San Francisco 2026: 12 Tracks Announced](http://www.infoq.com/news/2026/04/qconsf-2026-tracks-announced/ "QCon San Francisco 2026: 12 Tracks Announced")
  • ##### [Microsoft's Russinovich and Hanselman Warn AI Is Hollowing out the Junior Developer Pipeline](http://www.infoq.com/news/2026/04/junior-developer-pipeline-crisis/ "Microsoft's Russinovich and Hanselman Warn AI Is Hollowing out the Junior Developer Pipeline")
  • ##### [C++26: Reflection, Memory Safety, Contracts, and a New Async Model](http://www.infoq.com/news/2026/04/cpp-26-reflection-safety-async/ "C++26: Reflection, Memory Safety, Contracts, and a New Async Model")
  • ##### [Cloudflare Processes 10M+ Daily Insights with New Security Overview Dashboard](http://www.infoq.com/news/2026/05/cloudflare-security-dashboard/ "Cloudflare Processes 10M+ Daily Insights with New Security Overview Dashboard")
  • ##### [Confluent Moves Schema IDs to Kafka Headers to Simplify Schema Governance](http://www.infoq.com/news/2026/05/confluent-kafka-header-schema-id/ "Confluent Moves Schema IDs to Kafka Headers to Simplify Schema Governance")
  • ##### [Meta's Approach to Migrating their Systems to Post-Quantum Cryptography](http://www.infoq.com/news/2026/04/meta-quantum-crypto-migration/ "Meta's Approach to Migrating their Systems to Post-Quantum Cryptography")
  • ##### [The Human Scalability Problem: Why Your Teams Don’t Scale Like Your Code](http://www.infoq.com/presentations/human-scalability/ "The Human Scalability Problem: Why Your Teams Don’t Scale Like Your Code")
  • ##### [Driving and Measuring the Impact of Platform Engineering](http://www.infoq.com/news/2026/04/measure-platform-engineering/ "Driving and Measuring the Impact of Platform Engineering")
  • ##### [How Observability and Telemetry Can Enhance the Practice of Software Engineering](http://www.infoq.com/news/2026/04/observability-telemetry/ "How Observability and Telemetry Can Enhance the Practice of Software Engineering")
  • ##### [From Batch to Micro-Batch Streaming: Lessons Learned the Hard Way in a Delta Index Pipeline](http://www.infoq.com/articles/micro-batch-streaming-lessons-learned/ "From Batch to Micro-Batch Streaming: Lessons Learned the Hard Way in a Delta Index Pipeline")
  • ##### [Cloudflare Builds High-Performance Infrastructure for Running LLMs](http://www.infoq.com/news/2026/05/cloudflare-llm-infrastructure/ "Cloudflare Builds High-Performance Infrastructure for Running LLMs")
  • ##### [DuckLake 1.0: Data Lake Format with SQL Catalog Metadata](http://www.infoq.com/news/2026/05/ducklake-sql-catalog/ "DuckLake 1.0: Data Lake Format with SQL Catalog Metadata")
  • ##### [Meta Deploys Unified AI Agents to Automate Performance Optimization at Hyperscale](http://www.infoq.com/news/2026/05/meta-ai-agents-hyperscale/ "Meta Deploys Unified AI Agents to Automate Performance Optimization at Hyperscale")
  • ##### [Broadcom Donates Velero to CNCF, Shifting Kubernetes Backup to Community Governance](http://www.infoq.com/news/2026/05/broadcom-velero-cncf/ "Broadcom Donates Velero to CNCF, Shifting Kubernetes Backup to Community Governance")
  • ##### [Dropbox Redesigns Compaction to Reclaim Space from Underfilled Storage Volumes](http://www.infoq.com/news/2026/04/dropbox-tiered-compaction/ "Dropbox Redesigns Compaction to Reclaim Space from Underfilled Storage Volumes")

**The InfoQ** Newsletter

A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example

  • Get a quick overview of content published on a variety of innovator and early adopter technologies
  • Learn what you don’t know that you don’t know
  • Stay up to date with the latest information from the topics you are interested in

Enter your e-mail address

Select your country - [x] I consent to InfoQ.com handling my data as explained in this Privacy Notice.

We protect your privacy.

**May 7 | June 10, 2026 | Online** Architecture decisions are hard to validate while shipping. Join a **5-week online cohort** for **senior engineers, architects, and team leads** to pressure-test real decisions, apply practical frameworks, and work through challenges with a confidential peer group. Facilitated by Luca Mezzalira, Principal Architect at AWS, this cohort helps you: * Pressure-test real decisions. * Apply frameworks to real problems. * Publish on InfoQ.com and earn your certification. **RESERVE YOUR PLACE**

#### Events

May 7, 2026

June 1-2, 2026

June 10, 2026

November 16-20, 2026

#### Follow us on

Youtube 232K FollowersLinkedin 26K FollowersInstagram NewRSS 19K ReadersX 57.1k FollowersFacebook 21K LikesBluesky New

#### Stay in the know

The InfoQ Podcast![Image 21: The InfoQ Podcast Logo - Stay in the know](http://www.infoq.com/podcasts/)Engineering Culture Podcast![Image 22: Engineering Culture Podcast Logo - Stay in the knoww](http://www.infoq.com/podcasts/#engineering_culture)The Software Architects' Newsletter![Image 23: The Software Architects' Newsletter Logo - Stay in the know](http://www.infoq.com/software-architects-newsletter/)

General Feedback [feedback@infoq.com](mailto:feedback@infoq.com) Advertising [sales@infoq.com](mailto:sales@infoq.com) Editorial [editors@infoq.com](mailto:editors@infoq.com) Marketing [marketing@infoq.com](mailto:marketing@infoq.com)

InfoQ.com and all content copyright © 2006-2026 C4Media Inc.

Privacy Notice, Terms And Conditions, Cookie Policy

Close

[BT](http://www.infoq.com/int/bt/ "bt")

AI 可能会生成不准确的信息,请核实重要内容