新人注目! テストを極める最初の一歩

第3回 コピー&ペーストでテスト仕様書を作っていませんか?

この記事を読むのに必要な時間:およそ 3.5 分

新人によくある光景

仕様書の読み解き方に入る前に,もう少し考えてみましょう。新人さんの作ったテストケースを見ると,次のようなものを作ってくるケースが多いようです。

仕様:テキストボックスに文字を入力し,表示ボタンをクリックすると,表示領域に入力した文字が表示される。

テストケース:テキストボックスに文字を入力し,表示ボタンをクリックすると,表示領域に入力した文字が表示されることを確認。

一見よさそうに見えますが,このテストケースは使い物になりません。単に仕様書に書かれた文章をそのまま書き写しただけで,語尾を「~することを確認」と書き換えた代物です。これは有効なテストケースとはいえないでしょう。

この例は極端にわかりやすく書いたので,⁠そんなことはしないよ」と思う方もいるかもしれません。しかし,実際にこのようなテストケースを作ってくる新人さんは後を絶ちません。

テストケースを作るという作業は,仕様書からの文章の転記作業ではありません。新人の皆さんはこれを肝に銘じてください。テストにおいて非常に基本的かつ重要なことなので,ここでしっかりと理解しましょう。

仕様書をどのように読むか

仕様書は,最初から最後までを流し読みしても意味がありません。いくつかの視点を意識して読み解いていく必要があります。

テストの立場から仕様書を読み解くとき,まずは,以下を意識すると良いでしょう。

  • 疑ってかかる
  • 書かれていることの厳密性を確認する
  • 書かれていないことを明らかにする
  • 行間を読む,関連性を意識する
  • おしりから読む
疑ってかかる

新人のうちは,仕様書に書かれていることは正しいと思いがちですが,なにぶん人間が作成するものですから,間違いを完全に排除することはできません。仕様書に書かれていることは必ずしも正しいとは限らないと思うことから始めます。

間違った仕様をベースにして作成したものは,間違ったテストケースしかできあがらないのです。仕様書を読み解く作業は,仕様書の間違いを見つけるというテストを行っているという意識で取り組むと良いでしょう。

仕様書をラインマーカーやボールペンで汚すことが可能であれば,疑問点は必ずチェックを付けて,心のつぶやきを余白に書いておいてください。後でまとめて書こうと思っても忘れてしまうことの方が多いのです。頭の中にふっと浮かんだ言葉にならないような疑問を言葉で捕捉して,書き残してください。

書かれていることの厳密性を確認する

仕様が書かれていたとしても,それがあやふやに書かれていたら,テストを行うことはできません。文章が厳密にかかれているかを注視する必要があります。もしあいまいな文章であるならば,それは必ず厳密な文章に直しましょう。

また,仕様書全体にあいまいな記述が散見される場合,その仕様書は検討がされていない可能性が高いです。この場合,設計者に再検討を要請する等の手を打つ必要があります。

書かれていないことを明らかにする

本来書かれるべきであることが,書かれていない場合があります。書かれていないことを認識するのは非常に難しいことですが,ヒントはあります。それは,ある仕様が書かれているとして,近くにその検証方法などが書かれていない場合です。そんなときは要注意です。

行間を読む,関連性を意識する

「書かれていないことを明らかにする」と似ていますが,ちょっと違います。

書かれるべきことは書かれていても,⁠これは常識だ」と思って書かれないことはたくさんあります。エンジニア間,あるいはお客様とのつきあいの中で常識と思われているようなことは,暗黙のこととして仕様書に取り上げられていないケースがあります。

大抵の場合,仕様書を自分なりに解釈して読んでしまうため,暗黙的なことがちゃんと仕様として書かれていないことに気が付きません。

また,仕様はほかの仕様との関連性を持つことがほとんどです。その仕様が別のどの仕様と関連しているのかをしっかりと抑える必要があります。

最初はおしりから読む

仕様書ではは,重要なことが文書の最後に書かれているケースが多いです。慣れないうちは,頭から仕様書を読んでいくと最後には疲れてしまい,重要なことが書かれているのにもかかわらず,集中力が続かずにちゃんと読み解けないというケースがあります。

最初に結論がわかっていると,それにたどり着く前段の文章の理解が進むという効果があります。

このテストの立場に立って読み解くという行為は仕様分析です。設計を行うためには対象を分析する必要があります。仕様書を読み解くという行為は,テスト設計を行うための分析作業を行うことなのです。

著者プロフィール

鈴木三紀夫(すずき みきお)

1992年,(株)東洋情報システム(現TIS(株))に入社。複数のエンタープライズ系システムの開発に携わり,現在は社内のソフトウェアテストに関するコンサルタントとして活動中。ASTER理事,JaSST実行委員,JSTQB技術委員,SQiPステアリング委員 他。

著書


池田暁(いけだ あきら)

2002年日立通信システム(現日立情報通信エンジニアリング)に入社。設計,ソフトウェア品質保証業務を経て,現在は開発に関する設計/テストツールの導入や,プロセス改善に関する業務に従事。ASTER理事,JaSST実行委員,品質管理学会・ACM正会員。

著書