記事


あなたのテストでカバーするコードの範囲を決定する


コードカバレッジを使用して、十分なテストが不足している領域に新しいテスト開発を集中させます。





概観


コードカバレッジを実装することで、あなたが実際にテストしているコードの量を視覚化し、測定できます。開発段階でこれを使用することで、あなたのテストが不足している領域を特定できます。高いカバレッジレベルを達成することは素晴らしい目標ですが、コードカバレッジだけでは、あなたのテストが期待通りの成果を上げ、予期しない動作に対して十分に堅牢であることを保証するものではありません。高いコードカバレッジと、適切に記述されたテストを組み合わせることが重要です。


コードカバレッジは以下の質問に答えることができます。


  • あなたのテストの実行時に実際に実行されているコードは何か?

  • あなたのコードのどの部分がテストされていないか?

  • すべてのコードをチェックしていることを確認するために十分なテストをあなたは記述しましたか?


  • テスト計画でコードカバレッジを有効にする


    コードカバレッジは、あなたのテストプランで構成できるテストオプションです。コードカバレッジを有効にすると、ビルドシステムはコードに対し、メソッドや関数の呼び出し頻度に基づいてカバレッジデータを収集するよう指示します。コードカバレッジオプションは、ユニットテストや UI テストなど、正確性とパフォーマンスのテストに関するレポートを作成するためのデータを収集できます。


    注意

    コードカバレッジデータ収集は、あなたのコードのパフォーマンスに影響を与えます。影響が大きい場合でも、その影響は線形であるため、コードカバレッジを有効にした 2 回の実行結果は比較可能です。ただし、あなたのテスト内のルーチンのパフォーマンスを厳密に評価する際には、その影響を考慮する必要があります。


    以下の手順に従って、テストプランの [Configuration (構成)] ペインでコード カバレッジを有効にして下さい。


    1. プロジェクトナビゲータまたはスキームエディタからテストプランを開きます。テストプランの作成方法の詳細については、テストをテストプランに整理してコード評価を改善する をご覧ください。

    2. 「Configuration (構成)」タブをクリックします。

    3. 特定の構成を選択するか、「Shared Setting (共有設定)」を選択してすべての構成でテストを有効にします。

    4. コードカバレッジセクションまでスクロールします。

    5. コードカバレッジの値をクリックし、ポップオーバーで「Gather coverage for (カバレッジを収集)」チェックボックスを選択します。

    6. ポップアップメニューのオプションを使用して、情報を収集する対象を選択します。



    コードカバレッジの結果を調べる


    テスト実行が完了すると、Xcode はカバレッジデータを使用してレポートを作成し、レポートナビゲータの「Coverage (カバレッジ)」ペインに表示します。カバレッジレポートには、テスト実行の概要情報、ソースファイルとファイル内の関数の一覧、そしてそれぞれのカバレッジ率が表示されます。



    ソースエディタはファイル内の各コード行のカウントを表示し、実行されなかったコードをハイライト表示します。カバレッジが確立されているコード領域ではなく、カバレッジが必要なコード領域がハイライト表示されます。


    例えば、上記のカバレッジレポートで Calculator.input(_:) メソッドにポインタを置くと、注釈付きのソースコードにあなたを移動するボタンが表示されます。



    カバレッジの注釈は右側に表示され、テストがコードの特定の部分を実行した回数を示します。赤くハイライトされた領域にマウスポインターを合わせると、テストでカバーされていないコードを特定できます。



    上記のスクリーンショットのカウントによると、テストでは Calculator.input(_:) メソッドが頻繁に呼び出されています。しかし、メソッドの一部のセクションはテストで呼び出していません。このレポートデータは、エラー処理が意図したとおりに機能することを確認するために、ミスしている条件に対するテストを記述する機会があることを示しています。


    注意

    Swift Testing と XCTestは、既知の問題により失敗すると予想されるテストを特定する方法やスキップするテストをサポートしています。コードカバレッジ指標にはスキップされたテストは含まれませんが、既知の問題や予想される失敗がマークされた状態で実行されたテストは含まれます。コードカバレッジを評価する際にはこの点を考慮し、できるだけ早く問題を解決するようにしてください。





    以下も見よ


    テスト開発


    あなたの Xcode プロジェクトにテストを追加

    あなたの関数内のロジックをテストし、統合の問題をチェックし、UI ワークフローを自動化し、パフォーマンスを測定するためのコードをビルドするテストターゲットを追加します。


    あなたの既存のコードベースを更新してユニットテストに対応する

    コンポーネント間の結合を排除することで、テストの適用範囲と信頼性を向上させます。


    テストをテスト計画に整理することでコード評価を改善します

    テスト計画を作成および構成することで、ソフトウェアエンジニアリングプロセスのさまざまな段階であなたがテストから取得する情報を制御します。














    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ