応用情報技術者平成29年秋期 午前48
アジャイル開発のプラクティスのうち,回帰テストを行うことを前提とするものはどれか。
1、回帰テストは、
システムに変更作業を実施した場合に、それによって以前まで正常に機能していた部分に不具合や影響が出ていないかを検証するテストです。
回帰テストとは、コンピュータプログラムに手を加えたことによる影響を確認するテスト操作のことである。 プログラムが大規模化で複雑化になってくると、何も関係がないかのように見えるプログラムが相互に関係しあっているのを見落とす場合も少なくない。
タイミングは、リファクタリング後です。
リファクタリング後にはシステムの内部構造が以前と変わります。このため修正部分がほかの機能に悪影響を及ぼしていないかどうかを検証しなくてはなりません。
2、リファクタリング(Refactoring)は、
外部から見たときのソフトウェアの機能や振る舞いを変えずに、ソフトウェアの内部構造を変えることをいいます。ソースコードの品質を良くし、高効率化や保守性向上を目的として行われます。
3、リグレッションテスト regression test (=回帰テスト、退行テスト)
バグ修正などの変更をプログラムに加えた際、修正した箇所以外に影響がないかを確認するテストを「リグレッションテスト」といいます。
プログラムの修正によりデグレーションが起こっていないかどうかを検証するためのテストが、リグレッションテストです。デグレーションを検証することから、リグレッションテストには「ノンデグレードテスト」「回帰検証」という言い方もあります。
※デグレード(degrade)とは、
「悪化」「退化」という意味です。プログラムの不具合を修正したときに、ほかに新たな不具合が出てくることをデグレーションといいます。品質や機能が修正前より悪い状態になることです。
4、日次ミーティング
日次ミーティングは、問題が拡大したり、状況が悪化したりするのを避けるために、毎日決めた時刻にチームメンバが集まって開発の状況を共有する活動です。
5、ふりかえり
ふりかえりは、イテレーション終了毎にその活動や状況についてチームメンバ間で話し合い、次の活動への施策を考える活動です。
※イテレーション iteration
短い期間での開発を何回も繰り返す際の、それぞれの「短い期間での開発」のこと
6、ペアプログラミング
ペアプログラミングは、2人1組で1つのプログラムの実装を行い、1人が実際のコードをコンピュータに打ち込み、もう1人はそれをチェックしながら補佐するという役割を随時交代しながら作業を進めていく手法です。
参照:
https://www.ap-siken.com/kakomon/29_aki/q48.html
リグレッションテストとは
https://hnavi.co.jp/knowledge/blog/regression-test/