2010年05月28日
品質管理の教え方(ソフトウェアテスト)
まずは品質管理について。
会社の規模によらず、品質の重要性についてはどこのIT企業においても認識は同じはずです。
では品質を確保するために、具体的に何をどのように教えていますか?
座学はある程度必要ですが、やはり確実なのはOJT。できればリーダ・マネージャが
きちんと付いてやるのが一番です。
まずは、品質とは何ぞや?から、体系的にしっかりと学習させる必要があります。
そして自分の作ったプログラムをテストさせる。(本来ならテストは作成者以外が
行うことが理想ですが、あくまで教育という目的ではの話)
とかく、経験の浅い技術者は、想定される正しい動きについてしかテストしません。
それでは、機能要件の一部が満たされているかを確認しているだけ。
機能要件には異常系の処理も含まれますし(エラー処理、メッセージなど)、非機能要件に
ついては全く手付かずのままとなってしまいます。
まずは、「機能」「非機能」の定義、具体的にどんなことを意味するのかを学びます。
その上で、具体的にそれらをテストする方法を教えます。
この時のやり方としては、テストを行っている横に付いて、説明する/やってみせるのも
一つの手段ですが、それだとその時は判ったつもりでも、なかなか後に残りません。
それよりもきちんとしたテスト仕様書を書かせることの方が理解が早いと思います。
これまで色々なテスト仕様書を見ましたが、手抜きと言うと失礼かもしれませんが、
確認する手順と結果がきちんと書かれていないものが多い。
「どの様なデータを使い」「どの様に操作したら」「どういう結果になればOKなのか」が
正確に書かれていないのです。
それではテストをするだけ無駄としか思えません。案の定、テストOKとなった機能を
再確認すると、なぜこれがOK?と言いたくなるような不具合がボロボロ出てきます。
そうやって正しいテスト仕様書を書かせることで、きちんとしたテストができる。
それができるようになると、プログラミングの段階での品質意識も高まります。
この教育における一つの問題は、その様に教えることができる要員を如何に確保
するかですが、これは経営者・管理職が責任を持って行う、もしくはできる人を
外部から連れてくる。
忙しい、費用が無いのはわかりますが、そこはきちんと手を掛けてあげましょう。
会社の規模によらず、品質の重要性についてはどこのIT企業においても認識は同じはずです。
では品質を確保するために、具体的に何をどのように教えていますか?
座学はある程度必要ですが、やはり確実なのはOJT。できればリーダ・マネージャが
きちんと付いてやるのが一番です。
まずは、品質とは何ぞや?から、体系的にしっかりと学習させる必要があります。
そして自分の作ったプログラムをテストさせる。(本来ならテストは作成者以外が
行うことが理想ですが、あくまで教育という目的ではの話)
とかく、経験の浅い技術者は、想定される正しい動きについてしかテストしません。
それでは、機能要件の一部が満たされているかを確認しているだけ。
機能要件には異常系の処理も含まれますし(エラー処理、メッセージなど)、非機能要件に
ついては全く手付かずのままとなってしまいます。
まずは、「機能」「非機能」の定義、具体的にどんなことを意味するのかを学びます。
その上で、具体的にそれらをテストする方法を教えます。
この時のやり方としては、テストを行っている横に付いて、説明する/やってみせるのも
一つの手段ですが、それだとその時は判ったつもりでも、なかなか後に残りません。
それよりもきちんとしたテスト仕様書を書かせることの方が理解が早いと思います。
これまで色々なテスト仕様書を見ましたが、手抜きと言うと失礼かもしれませんが、
確認する手順と結果がきちんと書かれていないものが多い。
「どの様なデータを使い」「どの様に操作したら」「どういう結果になればOKなのか」が
正確に書かれていないのです。
それではテストをするだけ無駄としか思えません。案の定、テストOKとなった機能を
再確認すると、なぜこれがOK?と言いたくなるような不具合がボロボロ出てきます。
そうやって正しいテスト仕様書を書かせることで、きちんとしたテストができる。
それができるようになると、プログラミングの段階での品質意識も高まります。
この教育における一つの問題は、その様に教えることができる要員を如何に確保
するかですが、これは経営者・管理職が責任を持って行う、もしくはできる人を
外部から連れてくる。
忙しい、費用が無いのはわかりますが、そこはきちんと手を掛けてあげましょう。