japan.internet.comThe Internet & IT Network
Twitter
RSS
  • ニュース
  • コラム
  • リサーチ
  • ヘッドライン
  • 特集
  • ブログ
  • プレスリリース
  • 専門チャンネル
  • イベント
  • ランキング
  • ニュースメール
2009年11月9日
文字サイズ文字サイズ小文字サイズ中文字サイズ大
任天堂が、大画面の「ニンテンドーDSi LL」を発表。欲しいと思いますか?
欲しい
欲しいと思わない
他のDS製品を持っているが欲しい
他のDS製品を持っているのでいらない
投票締切 11/9 12:00
Webビジネス2004年11月16日 00:00

Web システム開発におけるテストの役割

国内国内internet.com発の記事
  • Post to Twitter
  • Post to Facebook
  • このエントリーを含むはてなブックマーク
  • この記事をクリップ!
  • Buzzurlにブックマーク
  • Yahoo!ブックマークに登録
  • newsing it!
  • この記事をokyuuへインポート
■システム開発における各種テスト

システム開発では、大抵の場合、開発のみで完了するのではなく、 リリース/納品前に各種のテストを行う「テストフェーズ」を設けている。 行われるテストには、最小ユニットごとの動作を確かめる単体テスト、 各ユニットを結合したときにきちんと動作しているかをチェックする結合テスト、 求められている機能が期待通りに動いているかを検証する機能テストなどがある。

プロジェクトによっては、 テストを専門に行うテスターがチームにいることもあるが、 一般に、開発担当者はコードを書くのが好きな一方、 テストの類に関しては嫌いがちだ。 つまり、テストを実施するのは、 新しいコードを書くことよりも知的興奮が喚起されないうえに、 自分の書いたコードに間違いを発見するかもしれないからだ。

そのようなことなんてわざわざやりたくない、というわけで、 そんな時間があるなら、 一行でも新しいコードを書いて前に進みたい、 と感じるのが開発者の人情のようである。

また、システム開発に詳しくない人間にとっては、 なぜテストが必要なのかということが骨身にしみては理解されていない。 開発者個々人のスキルが高いのだからテストなど不要だろう、 テスト時間を短縮してその分早期リリースを、 というような案が開発担当ではない人間から出されることがある。

が、しかし、開発担当者にとってどんなにつまらない作業だろうと、 営業担当者にとってどんなに削れそうな工程に見えようと、 システム開発にとってテストは必須なのである。

■なぜテストが必須なのか

これらのテストを実施する目的は、 簡単に言えば、複雑なシステムの「品質管理」である。

システムとは個々の要素が有機的に組み合わさって全体となっている。 システム全体をひとりが一気呵成につくりあげるのは難しい(規模によるが)。 したがって、多くの場合は、システムを個々の要素に分解して、 複数の人間が分担しつつ構築していくことになるのだが、 人間が行うことなので、その過程でいろいろな問題が入り込む可能性がある。 個々の要素に問題がなくても、組み合わさった時点で問題が発覚することもある。 開発時につぶせる問題もあるが、そうでない問題も存在する。

それらの問題を洗い出すのがテストだ。

テストを実施するにはコストがかかる。 が、テストにかけるコストと、 テストを実施しなかった場合に起こりうる不利益発生(パッケージ商品の開発などでは、最悪商品回収騒ぎになることもある)を天秤にかけた際、 テスト実施によるコストをかけた方が見合うという判断がされるのが通常だ。

そのため、システム開発時にはテストが実施されている。 実際にここまで読まれた方の中で、 システム開発に携わっておられる方は「何をいまさら当たり前のことを力説しているのだろう?」と不思議に思われたに違いない。

力説しているのは、テストが当たり前ではない世界が存在するからである。

■Web システム開発におけるテスト

Webシステム開発において、テストがされなかったり、 必要ないと認識されていることがある。 そもそもテストはやるものなのだ、という知識がないケースを除き、 その代表的な理由として以下が挙げられる。

1.Web システムは繰り返し更新して進化していくべきスクラッチ&ビルドのシステムなので、問題点はその過程のどこかで修正すればよいと考えている
2.ユーザーは Web 上の無料で使えるサービスなら、 その機能が少々だめでも許してくれると考えている
3.ユーザーテストが機能テストを兼ねると考えている

それぞれへの反論は以下である。

[1への反論]
スクラッチ&ビルドはあくまでサイトがより良いサイトに進化するためのもので、 テストを実施しなかったり、 テストにより発覚するバグ修正を後回しにする言い訳にすべきものではない。

スクラッチ&ビルドが可能であるということは、 競合も今以上に良いシステムを作リ続けることが可能だということを意味する。 毎回の開発過程でテストを実施し、 バグの洗い出しと修正に最善を尽くしてから後、 次のバージョンでは「修正」ではなく、 「クォリティアップ」をめざしたい。

[2への反論]
Web 上のサービスは無料だからありがたいというだけで、 かつては許されていたが、 現在では、無料が前提の上に、 たとえ無料であっても提供するサービスのクォリティが厳しく問われる時代になっている。

ユーザーからクレームは直接来ないかもしれないが、 だめなサービスからユーザーはただ黙って去ってしまう。 ジャンルを問わず、 先行して成功しているサービスのハイクォリティを、 ユーザーはすでに知っているということを忘れずに。

[3への反論]
ユーザーテストは、機能するシステムについて、 使いやすさを調べていくために行われる。 機能テストのようにシステムが処理する内容が正しいかどうかについて検証するためのものではない。 あくまで、実際のユーザーが、 そのシステムの使い方が学習しやすいと感じるか、 誤った動作をせずに使えるか、主観的に快適か、 などという点を見るものである。

したがって、ユーザーテストは、テスターが行う機能テストの代理にはならない。

逆も真であり、機能テストもユーザーテストを兼ねることはできない。 ふたつは別のものである。

■まとめ

Web システム開発においてもテストフェーズは必須である。 テスト実施により回避されるリスクについて考慮すべきだ。 また、別の役割を持つテストを他のテストの代わりにはできない。 機能テストは機能テストとして、 ユーザーテストはユーザーテストとして実施すべきである。

記事提供:ファンサイド

  • プリンター用
  • 記事を転送
  • Post to Twitter
  • Post to Facebook
  • このエントリーを含むはてなブックマーク
  • この記事をクリップ!
  • BuzzurlにブックマークBuzzurlにブックマーク
  • Yahoo!ブックマークに登録
  • newsing it!
  • この記事をokyuuへインポート
最新トップニュース
プライバシー ジャパン・インターネットコム版
【プライバシー ジャパン・インターネットコム版】
認証がオンラインビジネスの鍵である理由(11月4日)
アウンコンサルティングのモバイルSEO
アウンコンサルティングのモバイルSEO
検索エンジンはなぜ検索結果を常にリニューアルしているのか(11月9日)
週刊-サイト別アクセス状況データ
週刊-サイト別アクセス状況データ
子供とケータイについて考える〜授業にケータイを活用した取組み〜(ビデオリサーチインタラクティブコラム)(11月9日)
百式のネットビジネス研究
百式のネットビジネス研究
オバマ大統領の着ている服で天気がわかる「Obama-Weather」(11月7日)
不況時代の Web ビジネス最適化講座
不況時代の Web ビジネス最適化講座
こんな話良く聞きます、お客様のよくある失敗談(11月6日)
海外ソーシャルウェブに学ぶ成功の秘訣
海外ソーシャルウェブに学ぶ成功の秘訣
私のおすすめツィート術 〜 何をつぶやけばいいかわからない人から、効率的にツールを使ってツィートしたい人まで(11月5日)
成約率、反応率を上げる Web 文章術
成約率、反応率を上げる Web 文章術
アクショントリガーの法則を用いて、完成度を高める(11月5日)
「Webからの脅威」―その傾向と最新対策
「Webからの脅威」―その傾向と最新対策
新たな対策技術:URL フィルタリングと Web レピュテーション(11月4日)
スマートにソーシャルウェブを構築しよう
スマートにソーシャルウェブを構築しよう
「Twitter」と「2ちゃんねる」、イザというとき役に立つのはどちら?(11月4日)
ROI向上のための戦略的WebPR
ROI向上のための戦略的WebPR
「戦略的 WebPR」の実践メソッド(5)〜ネットを活用した戦略 PR のしかけ方〜(11月4日)
エンジニア転職ノウハウ開発室
エンジニア転職ノウハウ開発室
景気は悪いまま!だからエンジニアよ、立ち上がれ(11月3日)
Copyright 2009 Japan Internet.com K.K. All Rights Reserved.http://www.internet.com/