« 2010年2月23日

2010年2月24日の投稿

2010年2月26日 »

システム開発のハイライトと言えばテストです。シナリオをこなすのも大変ですし、見つかったバグの管理であったり、どうにもならない場合のお客様との調整などを考えると非常に苦しい時間であり、また複雑さをコントロールする中で醍醐味を感じる部分でもあります。

そのテストを考えるのは設計や開発と同じくらいクリエイティブな活動であると思います。テストの役割はその時に問題がなかったことを確認するだけにとどまるものではありません。テストの時点で、システムの挙動を把握できるようなテストデータを積み重ねて置くことにより、リリース後の障害の切り分けでテストデータが生きてくることがあります。

例えば負荷テストで想定以上の負荷をかけた場合にどのようなダウンをするかを観測しておくことができます。そこまでやっておいた場合、実際の運用で障害が発生した際に性能オーバーなのか、それとも別の要因なのかというところを切り分けやすくなります。

テストというものをそのように捉えれば、運用の場面で欲しいテストデータはどのようなものであり、それはどういったシナリオで得ることができるだろう、ということが定まります。

また、特に負荷テストでは自分が設計したシステムが自分の想定通りの負荷がかかっているか、という点も見逃せない点です。負荷をかける場合、動いていればOKとか、レスポンスが何秒以内というところがどうしても注意を惹きます。しかしながらテスト用のデータが適切でないなどの理由によっては、負荷分散やキャッシュの効果により実際に使われる場面では起こりえないような状況が表面化することがあります。

例えばコストダウンの一環として検証環境に仮想サーバを用いることがあります。本来ならば検証環境には本番と全く同等の構成が欲しいところですが、なかなかそういう訳にもいきません。仮想サーバの中には物理ディスクへのアクセスを減らすために仮想ディスクに強力なキャッシュを備えた製品がありますが、それが良い仕事をしすぎると問題です。キャッシュの効果が出やすいアプリケーションの場合、本番の物理のサーバよりも高いパフォーマンスを出してしまうというようなことが考えられます。どうしても本番データよりもテストデータのほうが単純でバラツキが小さいものになりがちですので、本番では思ったよりもキャッシュが活用されずパフォーマンスが出ないという現象につながりかねません。

そういった場合ではまず検証環境で小さな負荷テストをやっておき、どれくらい負荷がかかったかを認識します。本番環境でそれと矛盾しないような結果が確認されれば問題ないですが、それが大きく異なるような場合は現象を突き止めていく必要があると言えるでしょう。

同じように、開発環境に強い負荷をかけようとしても機器に負荷がかからないということもあります。例えばテストツールの設定が悪くて実際の負荷が発生していない、ですとか、シナリオのデータのバラツキが悪くてキャッシュだけが忙しく働き、メモリやCPUに仕事がいっていない、ですとか、そういったことが考えられます。

このような想定外を乗り越えると、開発をしながら「このアプリは1秒につき完全にユニークなリクエストを100個投げたときに、Webサーバの負荷はこれくらい、DBサーバの負荷はこれくらい」という「普通」を把握していくことができます。最終的な負荷テストの値はお客様に報告するとしても、開発の段階から積み重ねたこの「普通」の経験値はなかなか明文化することが難しいものです。『何が普通で何が普通でないか』これを把握するためにはやはりシステムに対する意地悪が必要になります。私の経験としては、そのような意地悪が得意な人には優秀な技術者の方が多いように思います。

私がシステム開発に携わっていたとき、自分の開発力にはあまり自信がありませんでした。しかし障害の切り分けと原因特定ではそこそこ良い仕事ができたというように思っています。それは論理的思考力であったり知識であったりというよりは、システムの「普段の姿」をよく観察していたことに尽きるのではないかと思っています。テストデータというと「異常が無いこと」に意識が向きがちですが、「普通」を把握するためのデータという観点もまた重要であるように思います。

yohei

« 2010年2月23日

2010年2月24日の投稿

2010年2月26日 »

» このブログの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)

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


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