[論文レビュー] Ticket coverage: putting test coverage into context
本稿では、ソフトウェアチケット内の変更されたメソッドのうち、自動または手動のテストでカバーされている割合を測る指標であるチケットカバレッジを導入する。これは文脈に配慮したテストの透明性を提供する。65万行のJavaコードを対象とした産業界研究において、チケットカバレッジはチケット単位のテスト実践における顕著なテストギャップを明らかにした。
There is no metric that determines how well the implementation of a ticket has been tested. As a consequence, code changed within the context of a ticket might unintentionally remain untested and get into production. This is a major problem, because changed code is more fault-prone than unchanged code. In this paper, we introduce the metric ticket coverage which puts test coverage into the context of tickets. For each ticket, it determines the ratio of changed methods covered by automated or manual tests. We conducted an empirical study on an industrial system consisting of 650k lines of Java code and show that ticket coverage brings transparency into the test state of tickets and reveals relevant test gaps.
研究の動機と目的
- 個々のソフトウェア開発チケットの文脈におけるテストカバレッジを評価する指標の不足を是正すること。
- 欠陥を引き起こしやすい可能性の高い、テストが行われていないか不十分にテストされたコード変更を特定すること。
- ソフトウェア開発ワークフローにおけるチケット単位の変更に直接テストカバレッジを関連させることで、テストの透明性を向上させること。
- 実際の産業システムにおけるテストギャップを特定するチケットカバレッジの有効性を実証的に評価すること。
提案手法
- 指標は、チケット内の変更されたメソッドのうち、自動または手動のテストでカバーされているものの割合を計算する。
- バージョン管理と既存のテストスイートからのテストカバレッジデータを用いて、チケットごとのソースコード変更を分析する。
- 異なるテスト実践を反映させるために、自動テストカバレッジと手動テストカバレッジを区別する。
- チケット内の変更をメソッドにマッピングし、各変更されたメソッドがいずれのテストでもカバーされているかを確認する。
- 静的解析とテストインストルメンテーションを用いて、メソッド単位のカバレッジ情報を抽出する。
- 65万行のJavaコードを有する実際の産業システムを対象に、指標を評価する。
実験結果
リサーチクエスチョン
- RQ1チケット内のコード変更はどの程度実際にテストされており、チケット間でどのように異なるか?
- RQ2チケットカバレッジは、実世界の産業的ソフトウェア開発におけるテストギャップを特定するのにどの程度効果的か?
- RQ3テストカバレッジはチケット間でどのように分布しており、未テストの傾向が繰り返し現れるパターンがあるか?
- RQ4従来のコードカバレッジ指標と比較して、チケットカバレッジは意味のあるテスト不備をどのように露わにするか?
主な発見
- チケットカバレッジは顕著なテストギャップを明らかにし、多くのチケット内での変更メソッドが未テストのまま残っていることを示した。
- チケット内のコード変更の大部分が、何らかのテストでカバーされておらず、欠陥の導入リスクが高まっていることが判明した。
- 低カバレッジまたはゼロカバレッジのチケットを特定することで、テスト実践に関する実行可能なインサイトを提供した。
- 研究では、従来のコードカバレッジ指標だけではチケットレベルでのテスト適正性を捉えられていないことが示された。
- チケットカバレッジは、コード変更があるにもかかわらずテストカバレッジがゼロのチケットが存在することを暴露した。
- 指標は産業環境における個々のチケットのテスト状態の透明性を高めるのに有効であることが実証された。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。