ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

仕様書から、テスト項目を浮き上がらせる(モデルと、コントロール編)

2005-05-27 16:25:19 | 開発ネタ
 先ほど、 「仕様書から、テスト項目を浮き上がらせる」話のView編を書きました。

 今回は、コントローラーと、モデルは、このViewと、どう違うのか。
 コントローラーとモデルのテストに関しては、以前のブログ、 コントローラーとモデルのテスト方法って、多分、違うと思う に書き、一部、引数の値を変えただけのメソッド単位のテストでは、網羅しきれないときのスタブについてで修正しました。

 まとめると、こんなかんじ。

■■ コントローラー
チェック項目:引数や呼び出しメソッドの帰り値

チェック内容:その値の組み合わせで、呼び出しメソッド等が変わるので、それがただしく呼び出されているか

チェック方法:指定された値(または値の範囲)で、正しく呼び出されるか
       または、エラーになるか

■■ モデル
チェック項目:仕様書に書かれている手順(おおまかに)

チェック内容:ちゃんと、やってるか?

チェック方法:更新された値をログで出したり、通過しているかどうか確認する。

ちなみに、前回のビューも同じようにまとめると

■■ ビュー
チェック項目:各入出力項目

チェック内容:入力できるか、出力されているか、エラーになるか

チェック方法:境界値チェック、字種チェックなどなど





では、チェックシートについてです。
さっきのチェックシートは、結局

  項目名   =チェック項目
  チェック方法=各桁に並べたチェック

になります。種別は、そのチェック方法を限定するものです。
ということで、以下、見ていきます。

■■ コントローラーのチェックシート
 こんなかんじです。

 ここで、ステータス1、ステータス2、ステータス3となっているのは、「引数や呼び出しメソッドの帰り値」で、これは、気の利いたSEなら、プログラムの仕様書に表にしているので、それを貼りこむ(実際にはステータス1とかじゃなくって、引数名などになります)。

 ある引数の値だけを調べたい場合は、最後の行(A2以外空白)のように調べたいところ以外、空欄にします。

 で、横に、起動するメソッドを書いたり、値を返す場合は、その値を書いたり、エラーになる場合は、「エラー」と書いておきます。「通過」は、そこを通過したことをログでしらべるだけでOKのとき、「通過」のところに、「ログで確認」とか、書きます。


■■ モデルのチェックシート

こんなかんじです。

VIEWの「項目名」のところが、「調べる箇所」になっています。
 そこに、プログラム仕様書のフリーフォーマットの部分に書かれている手順の、おおまかな処理内容を書きます。

 そこの種別を書きます。どんな種別を想定するかは、マネージャーしだいになります。
 普通は、
 前処理
 値チェック
 主処理:値設定・更新
 主処理:ソート
 主処理:マージ
 主処理:マッチング・JOIN
 主処理:(このほか、あれば)
 主処理:DB更新
 主処理:通信
 主処理:DB,通信以外
 後処理
なんかかなあ。。。お好みっす。
で、その種別に応じて、エラーの項目も変わってくるということです。
(共通なのって、あまりないかも。結構散漫に広がってしまうかも)




 こんな、かんじで作ることを今、考えています。

 なお、この方法では、以下のことに注意です。

・この方法では、複数の項目が絡むもののチェックは、できません。
 →シートに、もう一ひねり必要。

・出力がテスト項目だけですが、実際のテストにおいては、テストの条件なども記入しなければならないし、小項目、中項目も必要だったりします。そもそも、テキストファイルでなく、Excelに出すのが、普通です。
 なので、これを利用する場合、個別のプロジェクトごとに対応しなければなりません。
 つーか、手作業でやってもいいんだけどね。




 というか、そもそも、こんなの、Excelのシートにしなくったって、手作業でやってもいいことですよね。

 つまり、手作業でも、上記の手順でやれば、仕様書からテスト項目が(まるで、情報処理試験午後2の小論文で、問題から、書かなきゃいけない内容を浮かび上がらせるときのように)、浮かび上がってくるっていうことです。

 なので、次回は、いままでのまとめとして、手作業でやる場合の、「仕様書からテスト項目を浮かび上がらせる方法」を体系化してみたいと思います。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

仕様書から、テスト項目を浮き上がるためのExcelシートって、こんな感じ?

2005-05-27 14:41:21 | 開発ネタ

m_pixyさんのブログ「PM見習いの読書日記」のテスト仕様の作り方に出てくる、


仕様書に色つきペンで書き込みしていくとあら不思議、テスト項目が浮き上がる。みたいになるといいのかも。


 っていう箇所ですが、こういうものを言ってるんじゃあないでしょうか?というものを書きます。

 といっても、前のブログで、コントローラーとモデルのテストは違うと書きました。
 で、モデルと、コントローラーについてのテスト方法は書きました。
 だけど、MVCモデルでの、Viewのテストについては、書いていません。
 なので、今日は、まずMVCモデルにおける、Viewのテスト方法で、説明します。




 外部設計書の、画面関連のものに、たいてい、画面表示項目の一覧と、その各項目の内容、制約(字種の制約や、範囲制約など)が書いてある部分が、あります。


(1)それを、「ウィリアムのいたずら開発中?」の以下のシートの、「項目名」のところに貼り込みます。


(2)そのあと、その項目の種別(テキストボックスとかリストとか)を選ぶと、


 あらかじめ、この種別なら、こういうチェックが必要という候補が登録してあるので
 (これは、プロジェクトごとに、プロジェクトの偉い人が登録する。
  一般的なテスト要件などを参考にして)



(3)そのテストを作らなければいけない候補のところに、色がつきます。

(4)その候補のところ、チェックする必要があるかどうかを、仕様書で確認して、
   必要なら埋めます。

(5)正常値のときは、そのまま、
   異常値のとき(エラーとなることをチェックしたい場合)
     そのマスを選択して、
     「異常値に」にして、
     「項目種別設定」ボタンをクリックすると
   その部分の文字が赤くなって、異常値設定とわかります。

(6)ある項目値において、複数チェックをしたい場合、
   たとえば、クラスで、値チェックに、「ブロンズ、シルバー、ゴールド」
   になることを確認したいとき
     ブロンズ;シルバー;ゴールド
   というふうに;で区切って入れます。
   郵便番号、数字のときOK、漢字のときエラーにしたいときは、
   郵便番号の行を、もう一つ増やし、
     現在の「郵便番号」の字種チェックに、「数字」
     増やした行の「郵便番号」の字種チェックに、「漢字」として、異常値設定
   します

(7)全部記入したら、「仕様書作成」ボタンをクリックすると。。。

(8)テキストファイルに以下のように、テスト内容が生成されます。
・郵便番号が数字のとき、正常にとおることを確認する
・郵便番号が漢字のとき、エラーになることを確認する
・クラスが、「ブロンズ」に設定できることを確認する
・クラスが、「シルバー」に設定できることを確認する
・クラスが、「ゴールド」に設定できることを確認する




このからくり

 まず、色が変わるのは、別のシートに下図のように、種別と、チェック候補となるものの設定(色づけ)がされているからです。

 種別が切り替わったとき、この表をみて、設定しています。


 次に、「仕様書作成」ボタンを押すと仕様書ができるからくり
 別のシートに、下図のように、チェック、種別、異常正常で、テスト文サンプルが、あらかじめ登録されています。


 ボタンが押されると、これをもとに、$で囲まれている、「項目名」や、「値」を、置き換えて、ファイル出力します。




 つまり、このシートは、

(あ)まず、プロジェクトの偉い人が、この種別(画面項目の種類)だったら、こういうテストが必要という候補を挙げておきます。

(い)そして、そのとき、どういうテスト文になるかも登録しておきます。

(う)一般ぴいぷるは、画面仕様の項目を貼りこみ、項目の種類を設定して、仕様書からエラーを抜き出します。

(え)かきだす

という風に使います。テストの作成支援です。

 実は、m_pixyさんが書く以前から、ウィリアムのいたずら、こいつを考えていて、現在、鋭意作成中??です。
 できたら、公開しようかな。。と思ってます。




 ちなみに、上記は、Viewでの例でしたけど、コントロール、モデルでは、一部を変えると、似たように出来ます。それについては、長くなるので、次のブログで。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする