テスト自動化

Overview

LittlePocket.Labの大きなテーマの1つとして、テストの自動化があります。
この記事は、そんなテスト自動化に関するコンセプトを明文化したものとなります。

Context/Motivation

テストの精度と速度はそのまま、アプリケーションの品質につながります。
品質の高いアプリケーションは、ユーザーも開発者も気持ちよく利用できるようになる。
自動テストにより、アプリを取り巻く多くの人が気持ちよくなれるっていうわけですね。
みんなで使う教室を綺麗にすると先生も生徒も気持ちよく生活できるように、アプリのコードを綺麗に保つと、開発者もユーザーも気持ちよく利用できるっていうわけですね。

だから、LittlePocket.Labではテストに重きを置いています。

Get Started!!

LittlePocket.Labでは多くのアプリをRuby on Railsで開発してきました。
その際、最も注力してきたもの、時間をかけてきたものが、テストです。

システムテスト(統合テスト)を主体に、アプリのあらゆる挙動をテストコード化。
いわゆる、テスト駆動開発を行ってきました。

不具合はまずテストコードで再現してみる

プログラムに不具合はつきものですが、LittlePocket.Labの場合も他のプログラマと同様に不具合を再現します。
ただ、再現の方法がちょっとだけ違います。
LittlePocket.Labは不具合をテストコードを用いて再現します。
いわゆる、Redなテストを書くっていう段階ですね。

あとはRed => Greenにするだけですからね。
最低限のコードの修正で済みますし、同じ不具合は二度と発生しないでしょう。

これが、テストコードを充実させる最大のメリットとも言えますね。