アジャイルソフトウェア開発技術シリーズ・応用編 テスト駆動開発

アジャイルソフトウェア開発技術シリーズ・応用編 テスト駆動開発

アジャイル開発技術を短時間で効率よく習得できるようにと考えられた実践的テキストで、基礎編と応用編から構成されている。

著者 長瀬 嘉秀 監修
設楽 秀輔
(株)テクノロジックアート
ジャンル 情報・コンピュータ
出版年月日 2013/06/01
ISBN 9784501551803
判型・ページ数 A5・216ページ
定価 本体2,500円+税
在庫 在庫あり

この本に関するお問い合わせ・感想

近年のソフトウェア開発には迅速・適応的・軽量が求められている。それに応えるべく登場したのがアジャイル手法である。すでに世界中で取り入れられ、数々の成果をあげている。本シリーズは、アジャイル開発技術を短時間で効率よく習得できるようにと考えられた実践的教科書で、基礎編と応用編から構成されている。あらゆるソフトウェア開発に必要な、プログラム言語、設計技術、開発プロセスを、全10巻の中で解説。基本的な解説、たくさんの応用例、ふんだんな演習問題と解答によって、理解が深まる。

 テスト駆動開発(TDD:Test Driven Development)は,アジャイル開発のプラクティス(実践手法)のひとつとして発展してきた。これには大きな意味がある。アジャイル開発は,さまざまな粒度での「フィードバック」を繰り返す手法である。顧客から,チーム全体から,システムから。それらのフィードバックのうち,システムからの最も小さいフィードバックを具現化したものが,TDDである。TDDは,開発者がビルドテストを繰り返し,現在作成中のプログラムからつねにフィードバックを受けつつ,開発を進めていく手法である。そのフィードバックループの時間は,数秒から数分程度の短いものである。
 TDDは,現在の開発環境だからこそ,成立する。コンピュータのCPUやメモリなどのリソースが貴重だった時代には,このような短い時間でビルドテストを繰り返す手法は,現実的ではなかっただろう。「短いフィードバック」は成立するべくもなかった。通常,コンポーネントレベルのビルドであれば,数秒以内で済むからこそ,何度も繰り返し行なえる。
 間違えてほしくないのは,アジャイル開発手法を採用しないからTDDも採り入れない,と判断するのであれば,非常にもったいないということである。たしかにTDDはアジャイル開発手法,そのなかでもとくにエクストリームプログラミング(XP:Extreme Programming)とともに発展してきたが,TDD単独で採用しても十分メリットのある手法である。とくにオブジェクト指向言語でTDDが実施しやすいというだけではなく,TDDを行なうことで,オブジェクト指向的にプログラムを考えやすくなるという意味も含んでいる。たしかに,ユニットテストツールの充実もあり,JavaやC#,C++でTDDが適用しやすいのは事実だろう。しかし,非オブジェクト指向言語,たとえばC言語でも,TDDを採用することでプログラムをコンポーネント化して考えやすくなる。
 ただし,新しい手法は何でもそうだが,TDDを適用するには開発者それぞれが,ある「壁」を乗り越えなければならない。これが意外にやっかいである。その壁とはHowからWhatへの思考方法の転換である。プロフェッショナルとしてのソフトウェア開発者がプログラミングを始める際には,何らかの「仕様」が示されていることがほとんどである。アジャイル開発の場合には,開発者が担当するタスクがそれにあたる。あるタスクを目の前にしたとき,開発者は通常どう考えるか。この仕様を「どうやって(How)」実現するかを考えるだろう。しかし,TDDを適用すると何が起こるだろうか。TDDでは,テストファーストとよばれる実装コードよりテストを先につくる方法を採る。この考え方に初めて触れる方は,試しにテストファーストで考えてみてほしい。「どうやって」より先に「どんな(What)」を考えなければ,テストはつくれないはずだ。
 より具体的にいうと,これからつくろうとするプログラムの「かたまり」は外から見てどのように使われるか(提供インタフェース),その「かたまり」がやるべきことをなすためにほかに何か必要か(要求インタフェース),つまり「かたまり」の入力と出力を考える必要がある。このおかげでコンポーネント指向が促進されるのではあるが,開発者には思考方法の切り替えが要求される。この壁を乗り越えるためには,知識と週刊の両方を転換すべきと考えている。
 知識の切り替えはいうまでもないだろう。TDDとは何であって,どんなふうに進め,その意義は何か,それを理解しなければ,自身の開発にTDDを適用することはできない。しかし,習慣の切り替えも必要になることを,忘れてはいけない。TDDは開発者の「習慣」である。習慣化させるためには,多少の時間を割いて,TDDを手に馴染ませなければならない。これは,知識としてTDDを理解するだけでは足りないポイントである。
 本書では,TDDをステップバイステップで進めていく。ぜひこのとおりに「写経」して,TDDを手に馴染ませてほしい。ただし,何も考えずに写経しているだけでは意味がない。ここは何をしているか,なぜそうしているか,つねに考えながら進めてほしい。そのうえで,自身の開発を進める際に,TDDの手法を適用してみてほしい。思考方法が変わっていることに気づくはずだ。TDDは,このように知識と習慣の両輪で身につけるべきという考え方の元に,本書は構成されている。
 TDDにもデメリットはあるし,ソフトウェアシステムのすべての部分にTDDが適用できるとはいえない。しかし,そのことを,TDDを理解・適用しないことの「言い訳」にしてはいけない。TDDは明らかにメリットがあるし,開発者が身につけるべきスキルのひとつである。本書を通じて,ひとりでも多くの開発者がTDDを使えるようになることを期待する。

2013年4月
著者しるす
第1章 テスト駆動開発概要
 1.1 テスト駆動開発とは
 1.2 TDDの本質
第2章 基礎的なTDD
 2.1 基本演習:宴会料金計算
 2.2 応用1演習:宴会料金計算
 2.3 応用2演習:宴会料金計算
 2.4 宴会料金計算:まとめ
第3章 複数チームによるTDD
 3.1 認証システム開発演習:イテレーション1
 3.2 認証システム開発演習:イテレーション2
 3.3 認証システム開発:まとめ
第4章 品質管理とのかかわり
 4.1 TDDと品質
 4.2 TDDの課題と限界
演習問題
解答
索引

ご注文

2,500円+税

カートに入れる

外部サイトで調べる

シェアする

このエントリーをはてなブックマークに追加

おすすめ書籍

お知らせ

一覧

2018.05.30 NEWS

『コンピュータとは何か?』読売新聞にて紹介!

2018.05.25 NEWS

平成30年度 東京電機大学学術振興基金「研究成果出版費援助」募集中!

2018.05.10 NEWS

『Inventorによる3D CAD入門』ロボコンマガジンに紹介

2018.05.09 イベント

『良書を誇る大学出版部特集』フェア開催

2018.05.02 NEWS

『スティーブ・ジョブズIV-楽園追放とピクサー創立-』毎日新聞に掲載!

2018.04.25 NEWS

『Inventorによる3D CAD入門』日刊工業新聞に掲載!

2018.04.13 NEWS

『学生力を高めるeポートフォリオ』 全私学新聞に掲載されました。

2018.03.28 NEWS

『学生力を高めるeポートフォリオ』 日刊工業新聞にて書籍紹介されました。

2018.03.20 NEWS

新刊情報 3月10日刊行『第一級陸上特殊無線技士試験 集中ゼミ 第3版』

2018.03.16 NEWS

新刊情報 3月15日刊行『Inventorによる3D CAD入門』

2018.03.15 NEWS

新刊情報 3月15日刊行『スティーブ・ジョブズⅣ』

2018.03.09 PR

『アマゾン・コムの野望』の著者 脇 英世氏がテレビ出演いたしました

2018.03.07 NEWS

『学生力を高めるeポートフォリオ』 ニュースリリース

2018.03.07 NEWS

新刊情報 2月20日刊行『学生力を高めるeポートフォリオ』

2018.03.07 PR

計測自動制御学会誌「計測と制御」書評掲載 『バッテリマネジメント工学』

2018.02.16 NEWS

2月23日,2月24日 試験本番! 航空無線通信士試験を突破しよう!!

2018.02.15 NEWS

新刊情報 2月20日刊行『電気法規と電気施設管理 平成30年度版』

2018.02.15 NEWS

本日2月15日より、HPをリニューアルいたしました。

2018.02.14 イベント

「築地本マルシェ」に東京電機大学出版局が出店いたします!

2018.02.02 PR

小局の書籍を,日刊工業新聞(2018年1月31日発行)に広告掲載しました。

2018.01.18 NEWS

航空無線通信士試験 定番対策本 2冊発売!

2018.01.08 PR

『社会シミュレーション』が2017年12月20日「化学工業日報」にて紹介

2017.12.17 PR

『社会シミュレーション』が、「日経エコロジー」2018年1月号にて紹介

2017.12.10 NEWS

ジュンク堂書店池袋本店:『スティーブ・ジョブズ』『スティーブ・ジョブズⅡ』紹介

2017.12.10 NEWS

情報処理技術者試験・情報処理安全確保支援士試験を突破しよう!! 厳選問題集発売!