世の中、原理原則を押さえることが基本です。
例えば、身近なところから言うと、
「ご縁を大切に」「貢献マインド」など。
原理原則は、いつでもどこでも通用する法則です。
一方で、理論というのは仮説ですので、前提条件があることが多い。
実践派には受け入れがたい、頭でっかちな部分もありますしね。
この辺りの兼ね合いを、よく理解してない人はすごく多いと感じますよ。
僕が携わっているシステム開発という分野の仕事にも、当然原理原則はあります。
その一つが、設計とテストとの関係。
「何のためにテストをするか、わかりますか?」
このシンプルで基本的な質問に、適切に答えることができない人が、残念ながらかなり多いんですよ。
マトモな感覚の人からは驚愕の事実に思えるかも知れませんが、それがIT業界の現実です。
上記の質問は、僕と同じくらいの年齢のSEにしました。
背景としては、結合テスト仕様書の執筆をお願いしていて、顧客からのレビューバックに対するこんな質問がきっかけでした。
「このテストケースは、入れるべきですか?」
結構、現場経験が長い人は、こうした会話はよく耳にするでしょう。
さて、一体どんな観点で考えれば良いのでしょうか?
読者の皆さまも、一緒に考えてみてください。
…
…
その時、僕は彼に逆質問しました。
なぜ、テストをやるのか?と。
彼は答えられなかったので、こう説明しました。
「テストというのは、設計された通り正しく実装されているか、確認するためにやるのですよね?
ならば、設計書に書いていないことをテストケースに起こすことは、原理原則から外れます。
なので、基本的にはケースに含める必要はありません。
ただし、顧客からリクエストがあった場合は、断るのもアレなので、全体とのバランスで追加を許容出来るのであれば、シナリオテストの中でやるとか、ですかね。
工数が見合わなければ、スコープから外して問題ありません。
何れにしても機能テストの範囲ではないですよ。」
設計がキチンと妥当であるかは、顧客要件と照らし合わせて判断しますが、一度設計したものを基に実装した後は、その妥当性を判断するのはテストです。
なので、テストケースは、設計書をベースに起こします。
だから、ケースを起こせないような曖昧な設計書はNGだし、確認観点が明確にならないような記述もNG。
何をもって、テストをするのか?
観点が明確でないと、テストで得られるべき結果は得られず、テスト自体が無意味なものになってしまいます。
でも、実際このことを強く意識して、設計書やテスト仕様書の妥当性を判断出来るレベルの人は、残念ながら少ない。
こうした説明を、理路整然と出来る人は、更に少ないです。
何故ならば、理論と実践が足りていないから、原理原則を見極める力が無いのです。
理論に偏りすぎても、実践に偏りすぎても、バランスが悪い。
原理原則というのは、理論派でも実践派でも通用する、極めて汎用的なものです。
頭でっかちな人も、現場で叩き上げの人も、
迷ったら立ち返る場所は、原理原則に戻ること。
これは、システム開発だけではなく、人生全ての場面に言えることだと思うんです。
だから、この思考パターンを身につけておくと、どんな状況でもブレなくなりますよ(^_^)
本日も最後までお読み頂き、誠に有り難うございました!
【弊社のHP】
【弊社のFacebookページ】 ICT Solution合同会社