テストは誰がおこなうべき?

バグを洗い出すためのテストは誰がおこなうべきなのでしょう。内部構造に詳しい開発者でしょうか? それともテストを行うためのテスターでしょうか?

開発者はテスト下手?

開発をしているメンバー自身がテストをおこなえば、試す環境が手元にあり、仕様を説明する必要もありません。しかし開発者自身のテストは、心理的、認知的な盲点があります。内部構造に詳しいがために、バグの発生しそうなテストや網羅的なテストを無意識に避けてしまう傾向があるのです。

最低限のテストは開発者自身がおこなうべきだとは思いますが、本格的なテストを実施する際はテスターによるテスト、あるいは開発に直接携わっていないメンバーによるテストをおすすめします。

第三者の目でテストする

開発者とは別のテスターがテストを行えば、作り手の意図や内部構造にとらわれずに第三者の視点からテストを行うことができます。開発者が想定していない手順をテストすることでバグが発見されることもあるため、テスターの導入はバグを洗い出すためには有効な方法です。

テストを何度も実施してバグを修正したはずのシステムでも、いざ運用を開始すれば多くのバグが発見されます。これは、システムを利用するユーザーはこれ以上にない第三者の目を持っているためです。

テスティングは立派なスキル

テスト手法については、それだけで何冊も本が書けてしまうため本サイトでは省略します。

テストとはそれほど広くて深い領域を持っているのです。テストといえば新人やそれに近いメンバーが行うもの、というイメージがあるかもしれません。しかし、テスト計画を立て、テスト仕様書の作成から実施に至るまで、テスティングにはテスティングのスキルが要求されます。

テスティングも、立派な開発のスキルの一つなのです。

まとめ

さて、入門編では、バグ管理の基本的な流れや方法について学びました。次の実践編では実際に課題管理システムを使って、バグ管理のフローを体験してみまます。

これで入門編は終わりばい!
慣れてきたら実践編も読んでみるとよかよ!

サルのダイミョー