こんにちは。パートナーサービス部の加藤和良です。 前回、mixi における開発者テスト について説明しました。だいぶ間があいてしまいましたが、今回は、そのテストを定期的に実行する 継続的インテグレーション の仕組みを紹介したいと思います。 テストが遅い 実は、mixi のテストは「遅い」という大きな問題を抱えています。 Micheal Feathers は『レガシーコード改善ガイド』のなかで、単体テストが高速に実行できることの重要性を解き「単体テスト」を厳しく定義します。 次に当てはまるものは単体テストではない。 データベースとやり取りする ネットワークを介した通信をする ファイルシステムにアクセスする 実行するために特別な環境設定を必要とする (環境設定ファイルの編集など) 上記に該当するテストが悪いというわけではない。多くの場合において、そのようなテストを書く価値はあり、しばしばテスト
ソフトウェアの開発を行うときに、まずテストケースを先に作ってから機能を作り込む「テスト駆動開発」(Test-Driven Development:TDD)。これにより、ソフトウェアの開発工数や品質にはどの程度の変化があるのでしょうか。 TDD(テスト駆動開発)の適用評価を紹介した研究論文 - エリクソンはじめ3社:森崎修司の「どうやってはかるの?」:ITmedia オルタナティブ・ブログ この疑問について調査した論文を、奈良先端科学技術大学院大学 助教の森崎修司氏が3月10日のブログ「国立大学法人奈良先端科学技術大学院大学 助教」のエントリ「TDD(テスト駆動開発)の適用評価を紹介した研究論文 - エリクソンはじめ3社」で紹介しています。 開発時間はやや増えたがコードの品質は上がった 論文全文は有料なので読めないものの、森崎氏のブログによると次の知見が得られたとのことです。まず、ソフトウェ
筆者が新入社員の頃は、毎日テストケースを繰り返し実施していました。夕方には、上司にテストの実施結果を報告して、1日の仕事が終了です。当時のテストログ(その日、行ったテスト実施結果のレポート)には、実施したテストケース(種類・名前等)、実施結果(OK/NG)、実施時間や発生したトラブルなどを記入していました。実施結果がNGのものは、問題管理に事象の登録を行っていました。ふと思うと、テスト結果がNGのものしか振り返りをしていないことに気付きました。 結果良ければすべて良し!! って本当? さて、ここで少しテスト現場の会話を聞いてみましょう。 中堅社員氏: 「先週のテストの概要を報告してくれ。」 新入社員君: 「はい。先週は、延べ350件のテストケースを実施しました。」 中堅社員氏: 「それで、テスト結果はどうなった?」 新入社員君: 「全てのテスト結果はOKでした。品質には問題なかった
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く