Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

第1回キーワード駆動テスト勉強会

5,811 views

Published on

第1回キーワード駆動テスト勉強会

  • Be the first to comment

第1回キーワード駆動テスト勉強会

  1. 1. + 第1回 キーワード駆動テスト勉強会 -キーワード駆動テストの定義- 発表者:朱峰錦司(@kjstylepp)
  2. 2. + 本日のお品書き 第1部  本勉強会の目的  キーワード駆動テストに関する調査報告  キーワード駆動テストのデモ  Open2Testデモ by あけみねきんぢ  Seleniumラップツール by はたけやまさつき 第2部  第2回以降に向けての方向性議論
  3. 3. + 本勉強会の目的 A.D.2013 2.6 10:42…
  4. 4. + 本勉強会の目的 ゴール  勉強会参加者がISOWGで策定されるキーワード駆 動テストの記述についてレビューできるレベルま で本技術について理解を深めること 学習事項  既存文献等による本技術への理解  現状のサポートツールにおける実現範囲の理解  相性のよいテスト設計の検討 今日はこの2つ
  5. 5. + 世の中で語られているキーワード駆動テス ト とっかかりとして以下の文献を調査  ほぼ全て辰巳さんが列挙してくれた文献  ほぼ全てDorothyの息のかかった文献 ID 文献名 調査メン バー (敬称略) 1 ソフトウェアテストの基礎:ISTQBシラバス準拠 朱峰 2 Software Test Automation 鈴木 近江 森 3 Experiences of Test Automation 板垣 早川 4 EuroSTAR2006 Keyword-Driven Test Automation 朱峰
  6. 6. + 調査の軸 定義 メリット/デメリット キーワードの定め方/粒度 実現方法
  7. 7. + 調査(1) ソフトウェアテストの基礎:ISTQBシラバス準拠 定義 テストスクリプト記述方法5レベルの最高レベル データ駆動テストが実行ツールからデータを切り出す のに対し、キーワード駆動テストはデータのみでなく コントロールスクリプト相当の情報も切り出す手法 メリット スクリプトプログラミングスキルの低いメンバでも、 テストデータだけではなく多種多様なテストシナリオ を記述可能になる デメリット 切り出された情報を実行ツールに渡す仕組みを作る高 度なスキルをもった(少数先鋭の)メンバが必要 キーワードの粒 度 言及なし あらかじめ決めておく必要があるよね、という旨のみ 実現方法 言及なし
  8. 8. + 調査(2-1) Software Test Automation -Chapter3.2.5- 定義 キーワード駆動テストを実現する際に必要なコンポーネント は以下の3つ A) コントロールスクリプト:複数のテストファイルを統 括・制御 B) テストファイル:個々のテストシナリオ/データ C) 補助スクリプト:実行ツールへの橋渡し メリット テスト資産が特定のツールにロックインされない テスト対象のインタフェースの細かな仕様からテスト資産を 独立させられる デメリット 言及なし キーワードの粒 度 言及なし 実現方法 定義に関連するが、A)がB)をC)に渡してテストが実行される 流れ B)はテーブルのようなモデルが想像される場合が多いが必ず しも限定はされない(=キーワードによって紐づく要素が異 なっても問題ない)
  9. 9. + 調査(2-2) Software Test Automation -Chapter22- 定義 ActionWords手法(since 1994) キーワード駆動テストの実現方法のひとつ TestFrameとよばれることもある メリット 言及なし デメリット 言及なし キーワードの粒 度 言及なし 実現方法 前述のB)を、キーとしてのActionWord(条件、操作、 確認…etc)と、それにひもづく要素によって構成さ れるフレームで記述
  10. 10. + 調査(2-3) Software Test Automation -Chapter24- 定義 Business Object Scenarios手法 キーワードを用いて記述されたシナリオ内にテスト データを内包するWindow-centric Scenariosに対して、 シナリオとデータを分離して扱うのがBusiness Object Scenarios。キーワード駆動とデータ駆動の合 わせ技のようなもの。 メリット 言及なし デメリット 言及なし キーワードの粒 度 言及なし 実現方法 テストデータをBusiness Object、キーワードにもと づくテストシナリオをNavigationとし、それを Scenario Libraryで統括・制御
  11. 11. + 調査(3) Experiences of Test Automation 定義 言及なし メリット データ駆動と組み合わせることで高い保守性、移植性 を伴ったテスト自動化が実現可能となる ソフトウェアの完成を待たずにテスト資産を構築しは じめることができる デメリット ツール間の移植性を重視すると必然的に共通機能のみ をサポートするようになり テスト対象独自の振る舞いを考慮しにくくなる 使い始めの時期はROIが低い。(展開すればするほど、 テスト資産の再利用が促進されればされるほどROIは 高くなっていく) キーワードの粒 度 言及なし 実現方法 言及なし
  12. 12. + 調査(4) EuroSTAR2006 Keyword-Driven Test Automation 定義 キーワードを用いて自然言語のテスト手順に近い形で テストシナリオを記述し、それをスクリプトインタプ リタが解釈し実行ツールに橋渡しする。 テストシナリオの作成はtestersの仕事となり、 automatorsはインタプリタの構築に注力する。 メリット 高い保守性、移植性をもったテスト資産が構築できる デメリット 凝ったインタプリタをつくればそれだけ柔軟性もあが るが、やりすぎると結果的に保守性をさげる キーワードの粒 度 様々な粒度が考えられる ビジネス観点のテスト:抽象度の高いキーワード コンポーネントのテスト:抽象度の低いのキーワード キーワード同士の親子関係を定義するのもあり 実現方法 ドキュメント内の概念図を参照
  13. 13. 出典:EuroSTAR2006 Keyword-Driven Test Automation / Mark Fewster
  14. 14. + その他所感  メリットについて語られることは(当然なが ら)多いが、デメリット、特に抽象度の高い キーワード扱うためのツール構築やメンテの大 変さについてはあまり言及されていない  テストにおいてはDRY(Don’t Repeat Yourself)の 原則は有用ではないといわれることが少なくな いが、これに対するアンチテーゼとなっている  キーワードの粒度(キーワード駆動テストを活 用するテストレベル?)に関する議論が少ない  いろんな粒度が考えられるよね、とは言われるがまだ ベストプラクティスのようなものはないという印象
  15. 15. + 第1回 キーワード駆動テスト勉強会 -Open2Testデモ- 発表者:朱峰錦司(@kjstylepp)
  16. 16. + Open2Testとは?  現在NTTデータグループのインド企業が開発している OSS  メジャーなGUIテスト自動化ツールをサポートしている キーワード駆動テストサポートツール  QuickTestProfessional  Selenium  TestPartner/SilkTest  RationalFunctionalTester  e-Tester  OpenScript  デフォルトでは、キーワードは1画面操作の単位で用意さ れている  キーワードの抽象度の高さではなく、ツール移植性や記述容易 性をメリットとしてうたっている
  17. 17. + 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
  18. 18. + 今後の展望 データベースのアサーション  現状は画面のアサーションのみサポート モデルベースドテストにもとづくテストシナ リオの自動生成(テスト設計の自動化)  TestingというよりかはCheckingの効率化  人はより高度なTestingに注力
  19. 19. + では、議論をしましょう!

×