« 2010年2月20日

2010年2月23日の投稿

2010年2月24日 »

私がWebアプリケーションの開発に携わっていたときに、部分的にテストツールを利用したことがありました。

私の整理ではテストツール導入の場面は以下の3になるかと思います。

  1. 負荷テスト
  2. シナリオを網羅するテスト
  3. 単体テスト自動化

私が導入したのは1番の負荷テストと、2版のシナリオを網羅するテストの一部分の単純なシナリオでした。最近特に注目を浴びているのは単体テストの自動化であると思います。設計時点でテストコードを先に設定し、コードを書き終えてコンパイルした時にそのテストコードが正しい値を返すかどうかを見ることで確かに開発の生産性は上がるだろうなという気がします。特に統合開発環境に最初からついてくるものを使わない手はありません。

私の経験に話を戻しますと、負荷テストでテストツールを使いたい事情は単純に欲しい負荷が生み出しづらいからです。WebアプリケーションでもWebサーバ1台で処理を完結させる小規模なものから、WebサーバもDBサーバも複数台用意してキャッシュサーバとロードバランサーなどを組み合わせた大規模なものもあります。そういった環境で要求されるような重い重い負荷はやはり専用のツールに頼ることが望ましいです。

また、キャッシュやロードバランシングのような部分は特にチューニングの善し悪しが現れやすいところです。もちろんWebサーバもDBサーバもそれなりのチューニングを施す部分がありますが、それは思ったよりもCPUが使われて「いない」ような場合が多く、WebサーバやDBサーバでギリギリのチューニングをして性能悪化を回避するような場合、それよりも先回りして台数を増設しておくことが重要ではないかと思います。負荷テストではそういったボトルネック探しが行われます。

負荷テストの条件設定はお客様と調整して決定し、その設定で良好なパフォーマンスを得たことを説明すればリリース前後のお客様の精神状態も良好なものになると思われます。

シナリオを網羅するテストは、デバッグと関連があります。複雑な画面遷移に合わせて多くのシナリオを消化するような場合、あるバグが何のシナリオに起因するものか追求できなくなってしまう場合があります。特にテスターとしてあまり専門性の高くない人材を投入する場合にそういったことが起こることが多くなります。シナリオを事前に作成し、テストツールに取り込ませてテストを行った場合はプログラムでどのようなトランザクションを発生させたかを追跡可能になっている場合がほとんどです。また、デバッグが完了した場合に同じテストを実行して問題が回避されたことを確認できることもまた非常に大きなメリットです。

負荷テストとシナリオテストの合わせ技もあります。負荷テストの結果、何らかのボトルネックが見つかったとします。それにより構成の変更があり、Webサーバの増設とDBサーバのメジャーバージョンアップが行われたとしましょう。典型的なWeb3層構成ではDBサーバに変更があってもアプリケーション全体に与える影響が少ないはずです。しかしその品質をテストで証明する場合、どこまでをテストの範囲とすべきかは難しい問題です。こうした場合に前回利用したシナリオは非常に便利なものです。

私の認識の範囲ではWebアプリケーションの開発で用いるテストツールというとこのあたりかと思います。加えて、某ブラウザで複雑なJavaScriptを長時間操作した際にメモリリークのような現象が観測されるという事態にあたり、自作の打鍵ツールを開発しました。ひとつの動作を何百回か何千回かを繰り返したら某ブラウザのメモリ使用量が50メガバイトを超えていてちょっと驚いた記憶があります。別のブラウザではそのようなこともなく涼しい顔をして動いていたような記憶もあります。

そういう自分が使った負荷テストツールはwcatでした。情報が少ない中なんとか使いこなしたようなものでしたが、日本語の解説も増えてお手軽なものになってきたように思います。簡単なシナリオテストにはwastを利用しました。こちらも本格的なシナリオを消化させようと思うと大変で、準備は進めたものの実際の開発の場面では人間がやってしまったほうが早かったような記憶があります。(マスターすれば違うのでしょうが)

『Microsoft TechNet: IT Pro 道場 自主トレシリーズ - 負荷テストの実施』 http://technet.microsoft.com/ja-jp/dd696125.aspx

『[HOW TO] Web Application Stress (WAS) Tool のインストールおよび使用方法』 http://support.microsoft.com/kb/313559/ja

yohei

職場での受動喫煙をなくすため、事業者が禁煙を義務とすべきとする動きがあるようです。

そのこと自身の是非は専門家や喫煙者、非喫煙者がしかるべき場所と方法で意見を出しあうことが大切と思いますのでこちらのエントリでは述べません。しかしながら1点、関連して気になっていることがあります。

セミナーや研修に行くとよく「タバコは1階で」という案内を聞くことがあります。「トイレは出て左に」というような案内も聞きます。それと違って「非常階段は後方の」という説明は聞く会場や事業者と、そうでないところがはっきりわかれているように思います。個人の感覚ですが、外資系IT企業は確実に説明してくれるような気がします。

もちろん私にはセミナーや研修以外に初めて行く場所で非常階段の場所を質問するようなゴルゴ13のような習慣はありません。しかし「非常階段は」という聞き慣れないフレーズから上のようなことに注意を払うようになりました。やはりリスクに敏感な外資企業の習慣なのでしょうか。あの時間になるとついつい飛行機の避難器具の説明タイムを連想してしまいます。

yohei

« 2010年2月20日

2010年2月23日の投稿

2010年2月24日 »

» このブログのTOP

» オルタナティブ・ブログTOP



プロフィール

山口 陽平

山口 陽平

国内SIerに勤務。現在の担当業務は資金決済法対応を中心とした資金移動業者や前払式支払手段発行者向けの態勢整備コンサルティング。松坂世代。

詳しいプロフィール

Special

- PR -
カレンダー
2013年5月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
yohei
Special オルタナトーク

仕事が嫌になった時、どう立ち直ったのですか?

カテゴリー
エンタープライズ・ピックアップ

news094.gif 顧客に“ワォ!”という体験を提供――ザッポスに学ぶ企業文化の確立
単に商品を届けるだけでなく、サービスを通じて“ワォ!”という驚きの体験を届けることを目指している。ザッポスのWebサイトには、顧客からの感謝と賞賛があふれており、きわめて高い顧客満足を実現している。(12/17)

news094.gif ちょっとした対話が成長を助ける――上司と部下が話すとき互いに学び合う
上司や先輩の背中を見て、仕事を学べ――。このように言う人がいるが、実際どのようにして学べばいいのだろうか。よく分からない人に、3つの事例を紹介しよう。(12/11)

news094.gif 悩んだときの、自己啓発書の触れ方
「自己啓発書は説教臭いから嫌い」という人もいるだろう。でも読めば元気になる本もあるので、一方的に否定するのはもったいない。今回は、悩んだときの自己啓発書の読み方を紹介しよう。(12/5)

news094.gif 考えるべきは得意なものは何かではなく、お客さまが高く評価するものは何か
自社製品と競合製品を比べた場合、自社製品が選ばれるのは価格や機能が主ではない。いかに顧客の価値を向上させることができるかが重要なポイントになる。(11/21)

news094.gif なんて素敵にフェイスブック
夏から秋にかけて行った「誠 ビジネスショートショート大賞」。吉岡編集長賞を受賞した作品が、山口陽平(応募時ペンネーム:修治)さんの「なんて素敵にフェイスブック」です。平安時代、塀に文章を書くことで交流していた貴族。「塀(へい)に嘯(うそぶ)く」ところから、それを「フェイスブック」と呼んだとか。(11/16)

news094.gif 部下を叱る2つのポイント
叱るのは難しい。上司だって人間だ、言いづらいことを言うのには勇気がいるもの。役割だと割り切り、叱ってはみたものの、部下がむっとしたら自分も嫌な気分になる。そんな時に気をつけたいポイントが2つある。(11/14)

news094.gif 第6回 幸せの創造こそ、ビジネスの使命
会社は何のために存在するのでしょうか。私の考えはシンプルです。人間のすべての営みは、幸せになるためのものです――。2012年11月発売予定の斉藤徹氏の新著「BE ソーシャル!」から、「はじめに」および、第1章「そして世界は透明になった」を6回に分けてお送りする。(11/8)

オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。


サイトマップ | 利用規約 | プライバシーポリシー | 広告案内 | お問い合わせ