どしろうと製作所:WebLog

どしろうと製作所のBlogバージョンです。
「どしろうと製作所」のHPの記載内容とはあまり関係無いです。
気が向いたときのみ更新します。
テストカタマリーを活用したテスト設計プロセス案2:テストベースを分析する
以前紹介した「テストカタマリー」と呼ぶ謎の記法を活用したテスト設計を行うためのプロセス案を紹介します。
今回は、テストベースとなるインプット文書などからテストを検討しやすくするための「テストベース分析」作業を紹介します。

注:こちらのシリーズは以前のテストカタマリーの記事を読んでいることを前提としており、テストカタマリー自体の説明は本シリーズでは省略します。
なお、テスト設計対象のテストレベルは機能テスト/システムテストとなります。

記事のまとめはこちら。


■テストベース分析が必要となる理由

テスト対象となる文書などは、主に開発向けとして記述されてたものが多く、テストを行うことを考えた場合にはひと工夫が必要となることが多くあります。これらのテストベースの文書をそのままコピペのような方法で単純にテストへ展開した場合には、全体像が分かりづらくなり、テストすべきだったものが抜けてしまう可能性もあります。
また、実際にテストを行うことを考えた場合に情報が曖昧で複数の結果のどちらになるか分からない場合も有ります。(この場合、どのように実装されたか不思議ですが…)

そのため、テストベースを一度テストをやりやすいような「参照モデル」として情報を整理する作業を行うことで、上記のような課題の発生を低減する活動が有効となります。
テストベース分析だいじ

なお、本テストベース分析の作業は、テストを考慮して設計情報が整理されていた場合には不要となります。ただし、そのような場合は実際には少ないでしょう…


テストベース分析の成果物となる参照モデルの例をいくつか紹介してみます。
なお、紹介する内容は筆者の好みで選定している部分も有りますので、必ずしも紹介された内容のみで検討を進める必要は有りません。


■参照モデルの例:Data Flow Diagram(DFD)

Data Flow Diagram(DFD)は、データの流れを図で表現する手法となります。
DFDの例

主に機能テストやシステムテストのインプットとなるテストベースに対しては、「機能」が多数記載されていることが多いです。この機能間の関連性を整理する場合や、各機能における入出力を明確化するためにはDFDを用いると整理がやりやすいです。
また、階層的に整理をすることができるのも良い点の1つです。

DFDの一つの丸(機能/処理)に着目すると、入力・出力が明確化されております。この整理方法は、個々のテストケースで入出力やふるまいを整理するテスト設計の前段階として、非常に相性が良いと考えております。


■参照モデルの例:システム構造図/ブロック図

主にシステムオブシステムズや組込み開発でHWとSWの関連性を明示するような場合においては、DFDの前段階の整理としてシステム構造を整理する方法が効果的です。
こちらの整理方法は機能ブロック図やシステム構造図などと呼ばれることが多いようです。
システム構造図だかブロック図だか

※カラオケシステムにおけるシステム構造図の例

テストではそれぞれの「システム間のインタフェース」を確認することが多いです。(つまりは開発で齟齬の多い部分でもあります)
このシステム境界を明確にして、テストを分割したい場合にはこれらの整理が役立ちます。


■参照モデルの例:その他の分析

その他の分析としては状態遷移図による整理や処理タイミングの明確化などがあります。
また、ユーザの使用方法を分析するためにユースケースを用いてリバースエンジニアリングする場合もあるかもしれません。
これらは、テストベースで不足している情報を補完して、テストをつくるために必要な情報となります。
状態遷移図の例


■カラオケシステムにおけるテストベース分析の例

テストベースとなる資料を確認すると分かるのですが、カラオケシステムでは多数の「機能要求」が記述されております。これらが箇条書き的に記述されておりましたので、DFDによる入出力、処理間の関連性の整理はテスト設計の前段階の分析として相性が良いと考えます。
DFDをつくるよー

実際に検討したDFD(全体を表現する第1階層)は次のようになりました。
カラオケDFD全体像

このDFDは全て詳細の処理まで整理を行っているのですが、今回は例として「予約をする」の機能に関しての詳細DFDについて示しておきます。
予約をするDFD詳細

他にもカラオケシステムではシステム構造図や状態遷移図での検討も行っておりましたが、今回の説明では省略させて頂きます。

このDFDで表現した参照モデルを活用して、テストの全体像を明確にする作業を行います。
| 技術 | 15:32 | comments(0) | - |









   1234
567891011
12131415161718
19202122232425
2627282930  
<< November 2017 >>
+ SELECTED ENTRIES
+ RECENT COMMENTS
+ CATEGORIES
+ ARCHIVES
+ LINKS
+ PROFILE
+ OTHERS
このページの先頭へ