More Related Content
Similar to 第1回キーワード駆動テスト勉強会 (20)
More from Kinji Akemine (11)
第1回キーワード駆動テスト勉強会
- 9. + 調査(2-1)
Software Test Automation -Chapter3.2.5-
定義
キーワード駆動テストを実現する際に必要なコンポーネント
は以下の3つ
A) コントロールスクリプト:複数のテストファイルを統
括・制御
B) テストファイル:個々のテストシナリオ/データ
C) 補助スクリプト:実行ツールへの橋渡し
メリット
テスト資産が特定のツールにロックインされない
テスト対象のインタフェースの細かな仕様からテスト資産を
独立させられる
デメリット 言及なし
キーワードの粒
度
言及なし
実現方法
定義に関連するが、A)がB)をC)に渡してテストが実行される
流れ
B)はテーブルのようなモデルが想像される場合が多いが必ず
しも限定はされない(=キーワードによって紐づく要素が異
なっても問題ない)
- 10. + 調査(2-2)
Software Test Automation -Chapter22-
定義
ActionWords手法(since 1994)
キーワード駆動テストの実現方法のひとつ
TestFrameとよばれることもある
メリット 言及なし
デメリット 言及なし
キーワードの粒
度
言及なし
実現方法
前述のB)を、キーとしてのActionWord(条件、操作、
確認…etc)と、それにひもづく要素によって構成さ
れるフレームで記述
- 11. + 調査(2-3)
Software Test Automation -Chapter24-
定義
Business Object Scenarios手法
キーワードを用いて記述されたシナリオ内にテスト
データを内包するWindow-centric Scenariosに対して、
シナリオとデータを分離して扱うのがBusiness
Object Scenarios。キーワード駆動とデータ駆動の合
わせ技のようなもの。
メリット 言及なし
デメリット 言及なし
キーワードの粒
度
言及なし
実現方法
テストデータをBusiness Object、キーワードにもと
づくテストシナリオをNavigationとし、それを
Scenario Libraryで統括・制御
- 12. + 調査(3)
Experiences of Test Automation
定義 言及なし
メリット
データ駆動と組み合わせることで高い保守性、移植性
を伴ったテスト自動化が実現可能となる
ソフトウェアの完成を待たずにテスト資産を構築しは
じめることができる
デメリット
ツール間の移植性を重視すると必然的に共通機能のみ
をサポートするようになり
テスト対象独自の振る舞いを考慮しにくくなる
使い始めの時期はROIが低い。(展開すればするほど、
テスト資産の再利用が促進されればされるほどROIは
高くなっていく)
キーワードの粒
度
言及なし
実現方法 言及なし
- 13. + 調査(4)
EuroSTAR2006 Keyword-Driven Test Automation
定義
キーワードを用いて自然言語のテスト手順に近い形で
テストシナリオを記述し、それをスクリプトインタプ
リタが解釈し実行ツールに橋渡しする。
テストシナリオの作成はtestersの仕事となり、
automatorsはインタプリタの構築に注力する。
メリット 高い保守性、移植性をもったテスト資産が構築できる
デメリット
凝ったインタプリタをつくればそれだけ柔軟性もあが
るが、やりすぎると結果的に保守性をさげる
キーワードの粒
度
様々な粒度が考えられる
ビジネス観点のテスト:抽象度の高いキーワード
コンポーネントのテスト:抽象度の低いのキーワード
キーワード同士の親子関係を定義するのもあり
実現方法 ドキュメント内の概念図を参照
- 18. +
Open2Testの入力成果物
自動実行のためには主に3種類の成果物が必要
テストシナリオ
ユーザのGUI操作や結果の検証方法の情報
オブジェクトマップ
シナリオ記述に使うGUIオブジェクトの名前(論理名)と実際の実装
での名前(物理名)のマッピング情報
入力データテーブル
画面に渡すパラメータ情報
テストシナリオ内に直接書くことも可能だが一般的には外出しする
特にデータバリエーションテストの際に有効
Run Keyword ObjectDetails Action
r launchapp http://harel.nttdata.co.jp/wact/inputProc/inputUrlBL.do
r perform Textbox;InputUrlBox cleartext
r perform Textbox;InputUrlBox set:dt_url
r check Button;RuleButton visible:true
Sno Object Name Object Type Parent ObjectPath
1 HarelPage Page 0 name=HAREL
2 InputUrlBox Textbox 1 name=url
3 RuleButton Button 1 ID=g-navi03
url
http://www.nttdata.co.jp
http://www.google.co.jp