会社の方で、自動テストツールの見直しをしている最中。
で、色々見ていたら、どうもテストも迅速な開発が求められるらしい。当然と言えば当然。テストファーストの流れを考えると、テストを手早く作れなきゃ実装が押されに押される。
JMeterはGUIとかレポートの豊富さとかで、割といいかなとか思う。だけど、癖が強いというか、どうにも扱いずらかったりする。高機能故の弊害って事なんだろうか。
最近教えてもらったPHP用のSimpleTestっていうテストフレームワーク(?)が良さそう。テスト開発を迅速に行うとして、何がポイントになるのか。とりあえず、標準的な機能は備えているとして考える(何が標準かは考えない)。
- レポート機能
- テスト結果を詳細にレポートしてくれる機能。エラー箇所の特定が主な目的。動作監視などの目的でループ実行している場合の通知機能など。表示に拡張性があればなお良し。
- 開発環境
- 開発の手間を減らすツール群など。GUIベースでステップを減らす。プログラミング(スクリプト)言語を利用して慣れた環境を使える。プログラミング言語で作る事が出来れば、既存ライブラリなどを利用して独自の強力なテストツールを作る事も可能。コーディングの手間か、ツール習得の手間のトレードオフ(?)。
- 拡張性
- 提供されるフレームワークに無い機能が必要になった場合、フレームワークの提供元に依存する事無く機能を得る事が出来る。テスト開発自体の手助けにもなる(ツール改良)。
- ラピッドな開発
- 小さな物を作る場合、手軽に開発を行える体制が必要。テキストエディタ1つで済ませる事が出来るのは魅力。
- 軽さ
- 簡単な動作監視を目的としてループ実行するような場合、実行環境に負担をかける事は避けたい。クライアント環境で実行する場合、テスト実行中は作業を中断する事態に陥ると最悪。
今まで、『テストツール』という言葉を使って来た。なんだか、これは違う気がして来た。テストツールというツールが存在する事はいい事なんだけど、効率とか色々突き詰めていくと使うべきは『テストフレームワーク』『テスティングフレームワーク』なのかな。
テストも『開発』するもの。

