« どんな単体テストをしますか?番外 | トップページ | どんな単体テストをしますか?その3 »

[本]ヒューマンエラーを防ぐ知恵

ソフトウェアテストというか、品質向上ということで、ヒューマンエラーについての本。

ここでは、ヒューマンエラーとは何か、とか、ヒューマンエラーは認知の間違い、判断の間違い、動作の間違い、といったカテゴライズをするのが目的ではない。正しい答えを見出したとしても、ヒューマンエラーによる事故、損害はなくならない。そういった科学的・学術的なことを覚えるよりもより具体的・身近な例をあげている。

当然ながら、ヒューマンエラーのより深い考察を元に対策をとる必要がある場合もある。ただ、昨今のヒューマンエラーというのは単純な要因だけで説明がつくものではない。チェルノブイリ原子力発電所の事故も、「原子炉運転員の教育が不十分であった」「特殊な運転を行ったために事態を予測できなかった」「低出力では不安定な炉で低出力運転を続けた」「実験が予定通りに行われなかったにも関わらず強行した」「実験の為に安全装置をバイパスした」といった複雑な要因が絡み合ったため発生したとも言われている。

途中、ヒューマンエラーの防止策の3つの方針が掲げられている。

  • 作業を行いやすくする。ヒューマンエラーの発生頻度を抑制する

  • 人に異常を気づかせる。損害が出る前に事故を回避できるようにする

  • 被害を抑える。小さな事故が大きな事故に発展しないようにする
  • これって、実はソフトウェアテストでも応用できそうで、

  • 欠陥を見つけやすくする

  • 血管を事前に作りこませないようにする

  • テスト優先順位を考える
  • というように換言できるんじゃないかな。他にも「二人作業班策」って、これはペア・プログラミングそのもの。

    リスク分析という観点では、「きっかけ演繹法(Event Tree Analysis, ETA)」「事故原因帰納法(Fault Tree Analysis, FTA)」というアプローチがごくごく自然にエンジニアは使っているような気もする。前者が「マウス操作を誤ったら、どんな事故が発生するか」というリスク分析で、後者は「交通事故はどういう原因で発生するのか」という逆方向の分析。

    直接的にソフトウェアテストに活かせるわけでもないが、なかなか興味深い本ですね。


    |

    « どんな単体テストをしますか?番外 | トップページ | どんな単体テストをしますか?その3 »

    コメント

    コメントを書く



    (ウェブ上には掲載しません)




    トラックバック

    この記事のトラックバックURL:
    http://app.f.cocolog-nifty.com/t/trackback/155415/6434008

    この記事へのトラックバック一覧です: [本]ヒューマンエラーを防ぐ知恵:

    « どんな単体テストをしますか?番外 | トップページ | どんな単体テストをしますか?その3 »