アプリケーションカバレッジの計測
システムテストの抜け漏れを防止するアプリケーションカバレッジ

システムテストの課題
システムテストは、開発の後工程で、要件や仕様書で定められた機能が正しく実装されているかを確認するために行います。このテストは、アプリケーションの種類や業務に関わらず必ず行われます。一般的に、業務に合わせてさまざまなデータのパターンやテストシナリオを用意し、手動でGUIを操作したり、機能テスト自動化ツールを使ってテストを行います。しかし、十分なテストデータやテストシナリオを用意したと思っても、実行されたシステムテストがすべての機能をテストできているとは限りません。
システムテストで、こんな経験は無いでしょうか?
- すべてのテストパターンを網羅したつもりだったが、実際はテストパターンが漏れており、実行されていないコードでバグが発生した
- テスト漏れを防ぐために、システムテストでステップ実行しながらエビデンスとしてスクリーンショット撮っているが、非常に手間がかかる
- 十分にテストが行われたという判断基準が曖昧
アプリケーションカバレッジ機能とは?
実行中のアプリケーションをdotTESTが監視し、ソースコードのカバレッジを計測する機能です。実行したテストシナリオによって、ソースコードのどこが実行され、アプリケーションをどのくらいカバーすることができたのかを確認できます。しかも、テストの実行はいつもどおり、手動または機能テスト自動化ツールでテストを行うだけでカバレッジが計測できます。
アプリケーションカバレッジを計測し、システムテストを改善
アプリケーションカバレッジを計測することで、システムテストの精度の向上やエビデンス作成工数の削減などが期待できます。ここではアプリケーションカバレッジを計測するメリットをご紹介します。
● テストの抜け漏れを防止
カバレッジを計測すると、ソースコードで処理の実行、未実行が明確になります。そのため、実行されるはずの処理が実行されていなかったり、網羅的なデータを用意していたはずなのにテストされていなかったたり、といったテストの抜け漏れ防止に役立ちます。
テストケーステストにコードカバレッジを利用した場合の流れの例
● テストエビデンスの取得
dotTESTがカバレッジレポートを作成するため、別途エビデンスを取得する必要はありません。HTMLレポート例
● テストの妥当性を判断
前回のテスト時よりも、コードカバレッジが低下していれば、現在のテストでは確認していない処理が機能に追加されたことを意味するため、定量的にテストの過不足を判断できます。Parasoft DTPによるカバレッジの表示
また、単体テストや手動テスト、APIテストなど種類の違うテストのカバレッジのマージも可能なため、開発プロセス全体でどのくらいテストできたのか、といった判断基準の一つとしても利用できます。
Parasoft DTPによるカバレッジのマージ
● スタンドアロンのカバレッジ ツール (dottestcov)
アプリケーションのアセンブリファイルのカバレッジ計測によりソースコードが無い状態でもカバレッジの計測が可能です。dotTEST セミナー情報
ハンズオンセミナー
サンプルプログラムに対して実際にテストを実行しながら、アプリケーションカバレッジをはじめ、dotTESTの基本機能である静的解析の操作をハンズオン形式でご紹介します。半日でdotTESTについての知識を深めて頂ける内容ですのでぜひご参加ください。