平成29年度 秋期 午前 問48
開発技術
回帰テストに関する問題
アジャイル開発のプラクティスのうち,回帰テストを行うことを前提とするものはどれか。
- ア日次ミーティング
- イふりかえり
- ウペアプログラミング
- エリファクタリング
答えと解説を見る
✓ これが正解エリファクタリング
解説
リファクタリングは回帰テストで安全を確かめます。
設問は、アジャイル開発のプラクティスのうち、回帰テストを行うことを前提とするものを選ばせています。回帰テストとは、手を入れた後に、以前から動いていた部分が壊れていないかをもう一度確かめるテストです。それを前提とするということは、そのプラクティスが、既に動いているコードを書き換える作業だということを意味します。リファクタリングは、外から見える振る舞いを変えないまま、中のコードを読みやすく整え直す作業ですから、これに当てはまります。振る舞いを変えていないと言い切れる根拠は、以前から通っていたテストが今も全て通ることのほかにありません。しかも細かく何度も繰り返す作業なので、自動で流せる形にテストを育てておき、書き換えるたびに走らせるのが定石になります。コードに手を入れる作業かどうかで四つを分けると、迷いがなくなります。
ほかの選択肢はなぜ違うのか
- ア日次ミーティング:毎日決まった時刻に短く集まり、進み具合や困り事を互いに伝え合う進め方です。話し合いの場そのものであって、出来上がっている部分を書き換えるわけではないので、壊していないかを確かめる必要も生じません。
- イふりかえり:反復の区切りで、進め方の良かった点と改めたい点を話し合う取組みです。次の反復の段取りを見直すためのものなので、動いているコードに手を入れることを前提とはしていません。
- ウペアプログラミング:二人が組になり、一つの画面を見ながら書き進める方法です。書く作業ではありますが、新しく作る場面でも用いられるもので、既にある部分の中身を作り直すことを指しているわけではありません。
この問題の用語
- テスト決めたとおりに動くかを、実際に動かして確かめる作業のこと。何を確かめるかによって移行テスト、システムテストなどと呼び分けます。
- ログいつ誰が何をしたかを、機器やソフトウェアが自動で残していく記録です。あとから出来事をたどれるので、事故の調査や不正の発見に使われます。
出典:平成29年度 秋期 応用情報技術者試験 午前 問48
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)