@techreport{oai:ipsj.ixsq.nii.ac.jp:00209676, author = {清水, 一輝 and 柏, 祐太郎 and 亀井, 靖高 and 鵜林, 尚靖}, issue = {19}, month = {Feb}, note = {リファクタリングはソフトウェア品質を向上させるために広く実施されている.しかし,リファクタリングを行うことは多大な時間と労力を要することが多く,開発期間が短く限られているプロジェクトでは敬遠される傾向にある.開発者にリファクタリングを躊躇させる心理的要因の一つとして「リファクタリングによるテストスイートの破壊」が挙げられる.一般的に,リファクタリングは外部から見た挙動を変更しない.しかし,ソースコードの内部構造を変化させるため,メソッドレベルでの挙動が変わり,従来のテストメソッドがコンパイルエラーに陥ることや予期していた出力と異なる出力となり失敗する可能性がある.本研究では,どのようなリファクタリングがテストを破壊しやすく,それぞれがどの程度の変更(修正テストメソッド数および修正行数)を必要とするについてを定量的な調査を行い,以下の 4 点が分かった.(1) 最もコンパイルエラーに陥りやすいリファクタリングは Rename Class であり,34.5% のテストメソッドがコンパイルエラーに陥る.(2) 最もテストメソッドが修正されるリファクタリングは Rename Class であり,10.3% のテストメソッドが変更される.(3) Rename Class では 17.1% の行数が変更される.(4) Change Attribute Type は 28.6% の確率でテストメソッドが追加される.}, title = {リファクタリングがテストコードに与える影響の定量的調査}, year = {2021} }