実践!電卓で学ぶソフトウェアテストのコツ

作成:2005年11月18日

吉田誠一のホームページ   >   ソフトウェア工学   >   技術コラム   >   開発プロセス

品質の良いソフトウェアを作るためには、ソフトウェアテストの技術が不可欠です。

ソフトウェアは出荷される前に、必ずテストされます。しかし厄介なことに、ソフトウェアをふつうに操作しているだけでは、たいていは問題なく動作してしまいます。バグがあっても、なかなか尻尾を出しません。

ソフトウェアテストの真髄は、奥深くに隠れているバグをいかに見つけ出すか、です。ソフトウェアをありとあらゆる方向から使いまくり、いじり倒して、バグを絶滅させなければなりません。

どのようなテストをすればバグを見つけられるのかは、難しい問題です。バグを見つける能力は、ソフトウェア技術者の実力です。熟練したテスターは、ふつうの人より圧倒的に多くのバグを見つけ出します。

バグを見つける技術は、経験で身につけるのが一番でしょう。

ここでは、Windowsに付いてくる「電卓」から、バグが見つけられるかどうか、試してみたいと思います。

さっそくスタートメニューのアクセサリから電卓を起動して、いろいろと操作してみて下さい。

電卓の画面
おなじみの電卓アプリケーション

この後に、私が電卓アプリケーションをテストして見つけたバグを紹介します。

さすがに良く使われるソフトウェアだけあって、それほど多くのバグは残ってはいないでしょう。ですが、いろいろテストしていると、やはりバグは見つかります。

なお、Windows98でテストしましたので、新しいWindowsでは、これらのバグは解決されているかもしれません。

皆さんはどれくらい見つけられますか?

もし、うまくバグが見つけられない時は、とりあえず、市販の電卓と比べて、違っているところを調べてみるのも、練習としては良いでしょう。意外と多くの違いが見つかるはずです。

電卓から見つかったバグ

  1. 起動した直後や、いったん他のウィンドウで隠してからまた表示した時など、「M+」ボタンの左下が欠けている。ボタンを押すと直る。

    「M+」ボタンが欠けた電卓の画面
    良く見ると、左下のボタンの隅が少し欠けている

  2. 指数部が-34以下だと、Sqrtが計算できない。
  3. 関数電卓で、16進/8進/2進の場合は整数しか扱えないが、小数点ボタンはグレイ表示になっていない。
  4. 「1/1.23456789」を計算し、「0.810000007371000067076100610392516」と表示されている状態で、「コピー」して「貼り付け」すると、「0.810000007371000067076100610392」のように、別の数になってしまう。末尾も四捨五入されていない。
  5. 計算結果が「1.e+12345」と表示されている状態で、「コピー」して「貼り付け」すると、「1.e+1234」のように、別の数になってしまう。指数形式の数値を「貼り付け」すると、指数部が4桁までしか入力できないため。
  6. 計算に時間がかかる場合(指数部が6桁以上の大きな数の計算や、階乗など)、計算を続行するか、中止するかを選択するメッセージが出るようになる。ここで、「中止」を押しても、すぐに終了しない。計算結果が出るまで続行した場合と同じだけ待たされることも多い。

    続行か中止かを選ぶ画面
    続行するか中止するかを迫ってきた

  7. 関数電卓で、「(」を25回連打した後で、数字キーを押したり、16進/10進/8進/2進を切り換えたりしながら、「)」キーを何度か押していると、途中で未知のエラーが起きたと表示されることがある。閉じずに放っておくと、計算を続行するか、中止するかを選択するメッセージも表示される。

    未知のエラーを知らせる画面
    開発者も、このメッセージをユーザが見るとは思っていなかっただろう

  8. 電卓を2つ起動して、一方で時間のかかる計算を走らせたまま、もう一方の電卓で「ヘルプ」メニューから「トピックの検索」を実行しようとすると、電卓画面とヘルプ画面の表示がおかしくなることがある。再描画しても元に戻らなかった。

    表示がおかしくなった電卓の画面
    最後にはおかしなことになってしまった電卓の画面

Copyright(C) Seiichi Yoshida ( comet@aerith.net ). All rights reserved.