10分で3つのテストツールを習得する (JMeter + qUnit + Selenium)
Webアプリケーションの開発に必要なテストツールを,10分間で3つ身に付ける。
これで合計10分。
10分の間に,道具箱の中はより豊かになる。
「道具を手に入れた後は,その学習と適合段階が始まります。
…
職人のように,常に道具を増やすことを心がけて下さい。
何をするにも常により良い方法を探すようにするわけです。
もし今使っている道具で対処できないような状況が発生した場合,それを解決する何か別の,あるいはより強力な道具を探すよう心がけるのです。
あなたの獲得欲を駆り立てるのです。」
「達人プログラマー」(アンドリュー・ハント),3章序文より
密度の高い学習時間を!
期間ぎりぎりになってから新しい物を覚えさせられるのは苦痛だ。
しかし工程中の早い段階で,適切なテストツールを使えるようになるために「密度の高い」時間を準備してあげれば,開発期間中は
- 手戻りを避ける事ができ(テストファースト),
- 全体を見渡した中で,一つでも不適合が生じていないか常に把握することができ(回帰テスト),
- 「このサイトは100人(あるいは1000人)一斉にアクセスしても絶対に大丈夫です。安心して当社の製品を運用開始してください。」 と,クライアントに胸を張って主張することができる(負荷テスト)。つまり検収できる。
これはチーム全員の益になる。
冒頭のツールの選定基準
なお,冒頭で挙げた3つのツールには,サーバサイドスクリプトのテストは含まれていない。
その理由は,利用言語が場合によって様々であることに加え,フレームワークによってはユニットテストまでカバーしたものが存在するため。
冒頭3つに加え,番外編として,次記事でBadboyというソフトを紹介する。
共通点と違いを比較
jmeter,selenium,badboyには,互いに似通った特徴がある。これらを比較してみる。
- selenium
- ブラウザそのものでWebサイト全体をチェックして回りたいならこれ。
- テストケースを表形式でシンプルに作る事ができる。
- 逆に,ブラウザにできない事はseleniumにもできない。
- jmeter
- 大量の同時アクセスを発生させたいならこれに限る。
- 多機能な上,Java 100%なので独自クラスで拡張する事もできる。
- Webサイトの視覚的な応答は無視することになる。
- badboy
- かんたんなWebページ巡回操作ならこれで実現するのが早い。
- jmeterテストケースのたたき台を作るのにも役立つ。
- インタフェースは,内臓エンジンであるIEに限定される。ソフトがブラウザそのものではない。
残りの1つ,qUnitについてだが,jQueryの台頭に合わせてこれから更に普及していくだろうと予測される。
(「Ajax」という語のおよそ半分の割合で「jQuery」という語がgoogle検索対象になった図)
http://www.google.com/trends?q=jquery%2C+prototype.js%2C+ajax
この3つ+αを手足の延長として使い込んでいけば,開発作業は相当サクサク進んでいくだろう。