テスト駆動開発
フジボウルの寺山です。 今回は自分用のメモに近くなりますが、最近知った「テスト駆動開発」についてです。 テスト駆動開発とは、プログラム開発手法の一つで、プログラムに必要な機能に関して、まず初めにテストコード及び仕様書を書いていき、そのテストに必要な開発を進め、その後そのコードの精度を上げていくというものです。 普通の開発プロセスである設計⇨実装⇨テストではなく、テスト⇨実装⇨リファクタリングという形です。 略称としてTDDと呼ばれているそうです。 上記のテスト⇨実装⇨リファクタリングは、レッド、グリーン、リファクタリングとも呼ばれ、 レッド: 仕様に対して失敗するテストコード グリーン: レッドを元に成功するコードを書く リファクタリング: あるルールと乗っ取り、ソースコードから余分なものを取り除いたり、よりわかりやすい物変えたりして整える。 という構成になっております。 では、何故このような開発手順にするかというと、動作するコードを書きながらコードを綺麗にしていくことができるからです。 普通の開発手順の場合、綺麗なコードを書きながら動くものを作るという形ですが、テスト駆動開発の場合動くというところが前提にあり、その後リファクタリングによって綺麗にいくため、動かないコードにはなりません。 また、初めにテストコードや仕様書を書くために、そのプロダクトへの理解がなくてはならず、テストコードや仕様書の作成の過程で理解が深まるのもメリットと言えると思います。 テストコードの漏れは、テスト⇨実装⇨リファクタリングの流れを短く何度もこなすことやテストコード自体のレビューである程度防げると思います。 ただ、今まで異なる開発手法の導入は慣れも必要ですし、コストもかかります。また動いているコードはあまり触らない方針もありますから導入には中々上手くいかないかもしれません。 導入出来そうでしたら検討してみたいですね

--------------------------------------------------
社員を募集しております!

リクナビNEXT
《前職給与保障★年休128日★基本残業なし》プログラマ・SE
【正社員登用前提!】Webエンジニア*ITサポート★残業少

FINDJOB!
【正社員】エンジニア募集 ワークライフバランス 初学者 学びなおし【PHP,Java,Swift】

社員のゲーム実況チャンネル
$fugaのゲーム実況
この記事を書いた人
投稿者画像
寺山 拓未
2014年入社 現在セキュリティ関連の支援ツール開発業務に従事 ロボットアニメ全般が好き
関連する記事