エンジニア泣かせのデバッグ

2007.06.19 Author: ふー

システム開発に必要不可欠なデバッグ。
これも、デザイン部の仕事のひとつです。

「どうしたらそんな動作したの!?」

何も考えずデバッグしたら、本気で困った開発の悲鳴がフロアに響き渡ります。
更にデバッグしている側は、自分の試した不規則な入力を思い出すためにそこから後、大変な苦労をするでしょう。
業務上可能な限り、そういった二度(で終わればいい方…)手間は省きたい…
万国共通の切なる願いかと思います。

いつも何気なくやるデバッグとは言え、自然に、二度手間回避のための規則が出来てきます。
どの辺りにどんなバグが発見されうるか、大体の予想に基づいて様々な入力をしていくわけです。

以下、当たり前のチェック項目。これが、意外と出ます。

  • 半角入力の箇所に全角の文字入力が有効にならないか?
  • 入力必須項目のチェックがされているか?
    ※メールアドレス、電話番号等の入力規則チェックが有効かどうかもチェック
  • 何も入力されなかった場合、全ての項目にアラートが出るか?
  • 確認画面がある場合、確認画面と投稿結果が合致するか?
  • 確認画面から戻った場合、前に入力された内容が残っているか?
  • ついでに、確認画面から戻るなどの操作が滞りなく出来るか?
    ※戻るボタンが無かったり、UI的な面もチェック
  • 見えるべき情報や見えてはいけない情報が、正しく表示・非表示されているか?
更にここからネッチリと…
  • 大量のテキストを流し込んだ場合、どんな結果が表示されるか?
    ※改行をせず連続したテキストなども実験。レイアウトが大幅に崩れる可能性有り
  • 多くの件数を登録した場合に、耐えうる仕様になっているか? 
  • フォームに入力したHTMLタグが有効になるか、ならないか?
  • タグ無効の場合に、コメントアウトが有効になってしまわないか?
  • phpやJavaScript等のスクリプトを入力したらどうなるか?
    ※効いたら大変…
  • 機種依存文字が入力された場合、注意されるか?
    ※あまり使われる仕様は無いので、大抵チェックされているはず…
  • 様々な文字の組み合わせで構成される顔文字などの入力で文字化けしないか?
    ※文字単体では正常でも、組み合わせにより文字化けが起こる可能性も有り
  • 全角スペース、半角スペースだけの入力が有効になったらまずくないか?
    ※気持ち悪い投稿になるのが嫌なので、念のため

等等。

おそらく、知らぬ間に他にも酷い(陰険な)デバッグをしています。
佳境に入ると、サイトに嫌がらせをしに来た人間かの様に、
バシバシとキーボードを連打し、開発陣から「や、やめてくれ…」的空気を感じることもしばしば。
レイヤーが駆使される場合の表示テストでは、裏技的なこともやってみたり…。

ともかく、開発に嫌われるぐらいに、ネチこくするのです。
…が、これも、使える良いシステムを提供したいが為の努力なのです。
システムを実際利用し始めて初めて出るバグもあるのですが、
せめてそこまでに、手元で出うるパターンは潰しておかねばならないのです。

上記の問題をクリアした場合、再度正常なユーザに戻り、
利用者になりきって入力をしてみます。
様々なバグを潰す上で、なぜか他にほつれが出てくることがあるためです。

ここまでクリアすると、もう何をやっても不具合が出なくなり、少々物足りません。
退屈極まったところで、デバッグは終了となります(もちろんデバッグの期間も計算して開発しているわけですが)。


以上が、デバッグの手順、内容のアウトラインです。
実際自分がデバッグする場合は、初っ端から「破壊してやる~」という勢いで始めることもあります。

ユーザは、作り手の想像もつかない行動をします。
それが大変なところでもあり、醍醐味でもあるのではないでしょうか。

あなたも、自分が利用する身近なシステムのデバッグを、何気なくしてみてください。
Web上には、数え切れない程バグが落ちています…。

名古屋のWebシステム開発・ネットワーク構築会社 コネクティボへ