自動テストの信頼性を高めるミューテーションテストの活用 by tarappo

iOSDC Japan 2024
レギュラートーク(40分)

自動テストの信頼性を高めるミューテーションテストの活用

tarappo tarappo tarappo
6

iOSアプリ開発において自動テストは一般的になってきています。
しかし、どういった自動テストを用意すればいいのか、このテストは本当に価値を発揮できているのかと、不安に思うことはありませんか?

その不安を解消する手段として「ミューテーションテスト」を使ってみてはどうでしょうか。
ミューテーションテストは、プロダクトコードを意図的に変異させ、テストコードが適切に失敗するかを確認することで、自動テストの有効性を評価するテスト手法です。

とはいえ、多くのテストを実行するため、実行時間が大きな課題となります。
しかし、近年のマシンスペックの向上やXCTestを取り巻く環境の進化により、ミューテーションテストの実施が現実的になってきました。

本トークでは、ミューテーションテストの基本的な概念とその利点を説明し、さらに実行時間を短縮するための具体的なアプローチについて紹介します。

具体的には、「muter」というライブラリがおこなっているアプローチを元に、実行時間を短縮するための工夫を紹介します。
加えて、ミューテーションテストを実行した際の実行時間や出力結果を基に活用法を紹介します。

これにより、iOS開発における自動テストの価値を最大限に引き出す方法を学んでいただけることを目指します。