適当に操作しているようにしか見えません
前回途方にくれたA君、
- A君
「よく覚えてないけど、
『テストはソフトがちゃんと動いているかどうか確かめること』 だったような気がする」
席の周りを見渡してみると、
- A君
「なるほど、
研修で習ったとおり、 ソフトの機能がちゃんと動くかどうか、 いろいろ操作して確かめればいいんだな」
机の上には先ほど手渡された数枚のソフトウェア仕様書があります。仕様書を見てみると、
- A君
「うーん、
これを見ながら適当に操作すればいいのかな?」
A君が仕様書を眺めながらぶつぶつ言っていると、
- A君 「テストっていろいろと操作しておかしなところを見つければいいんですか?」
- K先輩 「まぁそんなところかな」
- A君 「違うんですか?」
- K先輩
「きっとA君には適当に操作しているだけに見えるかもしれないんだけれど、
決してそうじゃないんだ」 - A君 「そうなんですか?」
- K先輩 「適当にやるテストなんて存在しないよ。ちゃんと目的を持って行っているんだ」
そう言って、
またまた、
やみくもテストはテストじゃない!
先輩の仕事を背中越しに見ると、
頭を使わずやみくもに手を動かすテストが必要な局面というのはあります。しかし、
第2回は、
やみくもなテストとやるべきテストの違い
テストの経験がないA君には、
では、
やみくもなテストの問題点
具体的にやみくもなテストの問題点を考えてみましょう。主な問題点を3つほど挙げます。
- バグが見つかるかどうかは運まかせ
- 記録を残さない
- 時間が来たらそこで終了
- 1.バグが見つかるかどうかは運まかせ
- 狙いやあたりをつけてテストをするわけではありませんから、
言ってみればバグが見つけられるかどうかは運まかせということになります。強運な人がいればいいのですが、 現実はそうではないので…。 - 2.記録を残さない
- やみくもなテストでは、
テストについての記録が行われません。どんなテストを実施したのか、 そのときどんな操作をしたのか一切書き残しません。これでは、 先輩に対してすら適切な報告ができません。また、 バグを発見したときに、 どのような操作を行ったかが記録されていませんので、 再現手順を見つけ出すのに苦労します。 - 3.時間が来たらそこで終了
- テストがどれだけ十分に実行されたのか、
わかるはずもありません。十分なテストを実施したのかどうかの判断基準がありません。どこまでテストすべきかが明確でないということです。そのため、 いつテストを終わればよいのか判断できません。したがって、 「定時時間が来たら終了」 など、 なんの根拠もないテスト終了判断となりがちです。新人さんの場合、 先輩から 「どう?」 と声をかけられるまで、 ダラダラとテストをしがちになります。
いかがでしょうか?
ベテランの方はもちろん、
やるべきテストには目的や狙いがある
やみくもテストとやるべきテスト。この2つのテストの決定的な違いは、
やみくもなテストは
やるべきテストは、
A君は、
つまり、
宝探しに例えると
テストの大きな目的のひとつは
やみくもなテストとは、
宝探しを行うにあたって、
やるべきテストとは、
準備や記録、
しかし、
やみくもなテストから脱出するためには
やみくもなテストの問題点を説明しましたが、
新人の方は、
- テストの目的を定義する
- テスト対象を定義する
- 使用するテスト技術をリストアップする
- テストに使えるリソースを確認する
- テストの終了基準を決めておく
- テストの目的を定義する
- 今から行うテストは何のために行うのか、
その目的を定義しましょう。その目的や狙い、 戦略については自分でわからなければ、 指示を出してくれた先輩に確実に確認しましょう。その確認は口頭で済ませてしまってはいけません。必ず何らかの文書として作成し、 先輩に確認してもらいましょう。 - テスト対象を定義する
- プログラム、
ソフトウェア、 システム (ソフト&ハード) など、 どれをテストするのかによって、 テストは変わります。また、 外部とのインターフェイスも考慮すべきかどうかによっても変わります。テストを実施する前に、 「何を」 テストするのか確認しましょう。 - 使用するテスト技術をリストアップする
- テストする目的や対象によって、
使うべきテスト技術は異なります。どのような技術を使うのかをリストアップします。どんな技術があるのか、 何を使えば良いのか分からない場合は、 恥ずかしがらずに先輩に聞きましょう。もし、 「知っている」 のであれば、 自分の理解で正しいかどうかを確認します。 - テストに使えるリソースを確認する
- テストのリソースには、
代表的なものに 「人、 物、 時間」 があります。 「誰が、 何を使って、 どれだけの時間でテストを行う」 という一文を書くだけでも、 テストの計画を立てるための大切な情報となります。どんな形であれ計画をたてた時点でやみくもではなくなります。 - テストの終了基準を決める
- 新人さんは特に忘れがちですが、
テストの終了基準を決めておかなかったばっかりに、 いつまでたってもテストを終了できないということがおきます。この基準には、 テストケースを100項目実行するとか、 致命的なバグが見つかったらその時点で終了とか、 様々なものが考えられます。 もし、 これらのような基準がない場合でも、 最低5時間行う、 といった終了基準だけでも決めておくべきです。
この他にもポイントはありますが、
また、
終わりに
やみくもなテストとやるべきテストの基本的な違いを解説しました。この時点で、
次回以降はやるべきテストにおける、
余談:計画的なやみくもテスト
やみくもテストはよくないという説明をしてきましたが、
たとえば、