【てすとすいーと】

テストスイート とは?

最終更新:
💡 テストケースの「プレイリスト」をまとめて管理する仕組み

目的や機能ごとにテストケースをまとめ、一緒に実行できるようにしたグループ。どのテストをいつ実行するかを管理しやすくする。

📌 このページのポイント
テストスイート ― テストケースのグループ スモークスイート TC-001 ログイン TC-010 TOP表示 TC-020 決済基本 例: 約5分 機能テストスイート TC-001〜TC-050 認証・権限系 商品管理・注文系 例: 約30分 リグレッションスイート TC-001〜TC-200 全機能の回帰テスト E2Eシナリオ含む 例: 約2時間 CI/CDでの使い分け PR時 → スモーク マージ後 → 機能 リリース前 → フル
テストスイートのイメージ
ひよこ ひよこ
テストスイートって、テストケースをまとめただけ?
ペンギン先生 ペンギン先生
「まとめる」ことに意味があるんだよ。基本的な動作だけを手早く確かめる「スモークテストスイート」、既存機能が壊れていないかを広く確かめる「リグレッションテストスイート」のように分けておけば、状況に合わせて必要なテストだけを実行できるんだ。
ひよこ ひよこ
自動テストでもスイートを使うの?
ペンギン先生 ペンギン先生
使うよ。JUnitでは@Suiteを付けたクラスで、どのパッケージやタグのテストを含めるかを指定できる。pytestには同じ名前の仕組みはないけど、ディレクトリ、名前のキーワード(-k)、マーカー(-m)で実行対象を選べるんだ。
ひよこ ひよこ
スイートの分け方にコツはある?
ペンギン先生 ペンギン先生
実行時間と目的で分けるのが基本だよ。数分で終わる高速なスイートと、時間のかかる網羅的なスイートを分けておけば、プルリクエストでは高速なものを回し、マージ後やリリース前に網羅的なものを回す、という使い分けができるんだ。
ひよこ ひよこ
テストが増えてくるとスイートの管理も大変そう…
ペンギン先生 ペンギン先生
そうだね。だから定期的に見直すことが大事だよ。不要になったテストの削除、重複の整理、遅いテストの改善をしないと、CIが遅くなって開発のテンポが落ちてしまうからね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「テストスイート」って出てきたら「一緒に実行するテストケースをまとめたセット」と思えればだいたいOK!
📖 おまけ:英語の意味
「Test Suite」 = テストスイート
💬 suite はフランス語から入った言葉で、「後に続くもの」から「ひと続き・ひとそろい」の意味になったよ。ホテルの「スイートルーム」(ひと続きの部屋)も同じ単語で、甘い(sweet)とは別の言葉なんだ

参考資料

← 用語集にもどる