2009.11.05
waka

ビットスター流 システム化へのアプローチ -テスト~納品-

当社が本拠地としている北海道札幌・岩見沢は今週初雪が降り、冬の足音がすぐそこまで近づいてきておりますが、皆さんお過ごしの地域はいかがでしょうか?

さて、ヒアリング~要件定義設計~開発、と山あり・谷ありでなんとか進んでまいりました。今回はテスト~納品となります。

まずテストを行う前に、開発したシステムがお客様の要望通りの動きかどうか確認を行うための「テスト仕様書」なるものを作成します。「ここのボタン押したらこう動く(はず)」とか、「これを入力したらこういう表示なる(はず)」というのを書類として作成し、テストを実施するための手順書をまとめていくのです。
たいていは開発段階で動作を確認しながら作成していくので、普通の動きに対してはほとんど問題がでることはありません。(もちろんすべての動作について確認を行います。)

このテスト段階でもっとも気をつけるのは「イレギュラーな操作、特殊な操作」でも対応できるかどうかという部分です。
たとえば「メールアドレス欄に全角文字を入れてみる」とか「キーボードをバンと叩いてみる」、「突然PCを落としてみる」など通常やらないような操作、またデータのやり取りをするようなシステムであれば「定型外のデータを送受信してみる」、「データ送受信中にLANケーブルを抜いてみる」などもともと想定していない環境においてみるのです。

「イレギュラーな操作、特殊な操作」のテストについては全項目を書きだせるわけではないのである程度、試験を行う個人にゆだねられます。
センスの問題なのか、テストを行う個人の操作能力の問題なのかは分かりませんが、なぜかバグを見つけるのが上手な人がいます。
(たぶんどこのシステム会社にもそういう人が一人はいると思います。)

このテストにかかる時間ですが、時間をかければかけるほどシステムとしては安定していくのですが限られた時間の中でテストにかけられる時間は多くないのが現状です。
テスト不足によって引き起こされる不幸な大規模システム障害も全国ニュースになるようなものが毎年発生してます。
(「システム障害」でググってみると大量にでてきます。。。)

こう考えるみると、開発工程全体のなかで一番重要なのはテストなのかもしれません。
「システムは安定して動くのが当たり前」という中で本当に安定して動作するには、前述したようなセンスのあるテスターのノウハウを共有していくことが重要です。


長々とテストについて書いてしまいました。
システムの安定性を決めるテストフェーズ、軽視せず、最も重要な作業という認識で作業しましょう。

納品フェーズはまた次回。

waka

一覧に戻る