デバッグ


デバッグしたにもかかわらず、納品後にバグが見つかったことありませんか?それは、デバッグで想定した以外の操作を顧客がした時などに起こります。それは顧客のミスととりますか?それともバグですか?その境界線を引くのは難しいことですね。スマフォのアプリでも、スマフォの種類などによって動作が異なる場合もありますね。

では、どうしたらいいか?想定外のことをできるだけ想定内にするよう、デバッグに時間をかけます。入力にわざと間違った値を入れて、システムがどのような動作をするかを見て、対処法を考えることは、よくやることです。ATMなど、不特定多数の人が操作する機械のソフトでは、想定外の操作を網羅しきれない場合があります。そのようなときは、最初から操作をやり直すようにユーザーに案内を出して強制終了するようなソフトウェアを作っておくといいでしょう。

顧客が明らかに間違った操作をした時でも、簡単に正常な状態に戻す方法を組み込んでおけばいいのです。例えば電車のICカード式改札機を無理矢理突破してしまった乗客がいて、その改札機が閉じてしまい、次の乗客がその改札機を使えない状態になったとします。でも実際に観察していると、少し待てば改札機は使えるようになります。そのようなシステムを作ればいいのです。

でも誤操作対応の作り込みをし過ぎて、重すぎるシステムになってしまったら、元も子もありません。どの程度ご操作に対する柔軟性のあるシステムを作るかは、デバッグを重ねて、そして顧客と話し合って決めていくのが重要になります。

大きなシステムのソフトウェアのときは、部分的なソフトウェアに分けて個別にデバッグを行っておきます。それらのソフトウェアでバグ取りが終わってから、システム全体のデバッグをします。そのように個別にはうまく動いていたソフトウェア同士でも、仕様があいまいだったために、合わせてテストをすると矛盾が生じてバグとなることもあります。そのような場合は、どちらのソフトウェアを修正するか決めるのも、難しい問題となります。このように、大きなソフトウェアのデバッグは、複雑な問題を含んでいるのです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です