SlideShare a Scribd company logo
1 of 16
Robot Framework の紹介
                                     http://robotframework.org




© Copyright Nokia Siemens Networks
Creative Commons Attribution 3.0 License

                                    Copyright © 2010 Kazumasa EBATA All Rights Reserved.
普遍的な事実
• 一般的なテスト自動化フレームワーク
 ◦ キーワード駆動開発

• Python で実装
 ◦ IronPython と Jython をサポート
 ◦ Python もしくは Java を利用し、広範囲の自然言語が使える
 ◦ 他言語は、XML-RPC に基づいたリモートインタフェースをサポート

• オープンソース
 ◦ Apache 2.0 ライセンス
 ◦ スポンサーは、Nokia Siemens Networks
 ◦ 活発な開発と成長しているコミュニティ
 ◦ ホストは Google Code
                 Copyright © 2010 Kazumasa EBATA All Rights Reserved.
高レベルのアーキテクチャ

  テスト データ
          `                                テストデータ シンタックス

 Robot Framework
          `                                テストライブラリ API

テスト ライブラリ
テスト ツール
          `                               アプリケーション インタフェース

  被試験システム


      Copyright © 2010 Kazumasa EBATA All Rights Reserved.
シンプルなシンタックステーブル
テストケース        アクション                         アーギュメント                  アーギュメント
ユーザアカウント    有効なユーザの作成                                 fred            P4ssw0ed
 作成とログイン
            認証情報でログイン試す                               fred            P4ssw0ed
              あるべき状態                               ログイン


無効なパスワードで   有効なユーザの作成                                betty            P4ssw0ed
 ログインできない
            認証情報でログイン試す                              betty             不適切
              あるべき状態                            アクセス拒否




              Copyright © 2010 Kazumasa EBATA All Rights Reserved.
単純なテストライブラリ API




   Copyright © 2010 Kazumasa EBATA All Rights Reserved.
高レベルのキーワード
テストケース       アクション                          アーギュメント                  アーギュメント
ログインデータベース      ファイル削除                          ${DATABASE FILE}
    消去



有効なユーザの作成      [Arguments]                         ${username}        ${password}

                 ユーザ作成                             ${username}        ${password}

                あるべき状態                                 成功



無効のパスワードで      [Arguments]                         ${password}          ${error}
 ユーザ作成の失敗

                 ユーザ作成                               example          ${password}

                あるべき状態                           ユーザ作成の失敗
                                                   ${error}



  ログイン         [Arguments]                         ${username}        ${password}

             認証情報でログイン試す                           ${username}        ${password}

                あるべき状態                               ログイン




              Copyright © 2010 Kazumasa EBATA All Rights Reserved.
データ駆動 テストケース
テストケース       アクション                              パスワード                エラーメッセージ
短すぎるパスワード   無効なパスワードでの                              abCD5             ${PWD INVALID
             ユーザ作成失敗                                                    CONTENT}

長すぎるパスワード   無効なパスワードでの                      abCD567890123             ${PWD INVALID
             ユーザ作成失敗                                                    CONTENT}

小文字のないパスワ   無効なパスワードでの                            123DEFG             ${PWD INVALID
   ード        ユーザ作成失敗                                                    CONTENT}

大文字のないパスワ   無効なパスワードでの                           abcd56789            ${PWD INVALID
   ード        ユーザ作成失敗                                                    CONTENT}

数字のないパスワー   無効なパスワードでの                           AbCdEfGh             ${PWD INVALID
    ド        ユーザ作成失敗                                                    CONTENT}

特殊文字を含む     無効なパスワードでの                            abCD56+             ${PWD INVALID
 パスワード       ユーザ作成失敗                                                    CONTENT}




              Copyright © 2010 Kazumasa EBATA All Rights Reserved.
実行可能な仕様
  テストケース                                              ステップ
ユーザがパスワード変更可能                        ユーザに有効なアカウントを与える
                                       ユーザがパスワードを変更する時
                                 ユーザは新しいパスワードでログイン可能
                          そして、ユーザの古いパスワードは利用できなくなる




           Copyright © 2010 Kazumasa EBATA All Rights Reserved.
変数
                 変数                                                            値
            ${USERNAME}                janedoe
            ${PASSWORD}                J4n3DDe
         ${NEW PASSWORD}               e0D3n4J


          ${DATABASE FILE}             ${TEMPDIR}${/}robotframework-quickstart-db.txt


       ${PWD INVALID LENGTH}           パスワードの文字数は、7 ~ 12 でなければならない
      ${PWD INVALID CONTENT}           パスワードは、小文字、大文字、数字の組合せ
                                                           でなければならない


コマンドライン:
$ pybot --variable USERNAME:johndoe --variable PASSWORD:J0hnD0e my_tests.html



                               Copyright © 2010 Kazumasa EBATA All Rights Reserved.
タグ付け
• メタデータをテストケースに分類
• 自動的に集計したタグの統計
• 実行すべきテストケースの指定
• どのテストケースの重要度




          Copyright © 2010 Kazumasa EBATA All Rights Reserved.
明確なレポート




Copyright © 2010 Kazumasa EBATA All Rights Reserved.
詳細なログ




Copyright © 2010 Kazumasa EBATA All Rights Reserved.
簡単な統合
• テストスイートは、ファイルとディレクトリから作成
◦ どのようなバージョン管理システムでも保存できるよう普通


• 単純なコマンドラインインタフェース
◦ CI システムもしくは、他のツールから簡単にテスト実行可能


• XML 形式での出力
◦ 読み込み可能な形式の全ての情報
◦ 異なるテスト結果を統合可能




           Copyright © 2010 Kazumasa EBATA All Rights Reserved.
異なるテスト ライブラリ
• 標準ライブラリ
◦ 通常のインストールに含まれる
◦ OS、Telnet、スクリーンショット、文字列...


• 外部ライブラリ
◦ 別途インストールが必要
◦ Selenium ライブラリ、Swing ライブラリ、SSH ライブラリ...


• プロジェクトもしくはチームの特別ライブラリ




             Copyright © 2010 Kazumasa EBATA All Rights Reserved.
独立したテストデータエディタ(RIDE)




     Copyright © 2010 Kazumasa EBATA All Rights Reserved.
詳細情報
• プロジェクトページ
◦ 主要な情報源
◦ http://robotframework.org


• クイックスタートガイド
◦ 主に特徴的な実行可能ガイド
◦ スライドの例もここから取得
◦ http://code.google.com/p/robotframework/wiki/QuickStartGuide


• ユーザガイド
◦ フレームワークの全ての特徴的な詳細情報
◦ http://code.google.com/p/robotframework/wiki/UserGuide
                    Copyright © 2010 Kazumasa EBATA All Rights Reserved.

More Related Content

More from Kazumasa EBATA

Tfad AgileDay MS 20100122
Tfad AgileDay MS 20100122Tfad AgileDay MS 20100122
Tfad AgileDay MS 20100122
Kazumasa EBATA
 

More from Kazumasa EBATA (14)

PFP and Scrum
PFP and ScrumPFP and Scrum
PFP and Scrum
 
QCon_Tokyo_2010
QCon_Tokyo_2010QCon_Tokyo_2010
QCon_Tokyo_2010
 
QCcon_Tokyo_2010_ja
QCcon_Tokyo_2010_jaQCcon_Tokyo_2010_ja
QCcon_Tokyo_2010_ja
 
Tfad AgileDay MS 20100122
Tfad AgileDay MS 20100122Tfad AgileDay MS 20100122
Tfad AgileDay MS 20100122
 
Oblove 20091218
Oblove 20091218Oblove 20091218
Oblove 20091218
 
第4回すくすく・スクラム TheKanbanGame
第4回すくすく・スクラム TheKanbanGame第4回すくすく・スクラム TheKanbanGame
第4回すくすく・スクラム TheKanbanGame
 
I'd like to propose a plan for our new Shibuya.trac-2009/07/20
I'd like to propose a plan for our new Shibuya.trac-2009/07/20I'd like to propose a plan for our new Shibuya.trac-2009/07/20
I'd like to propose a plan for our new Shibuya.trac-2009/07/20
 
Scrum & Trac By Certified Scrum Master In Shibuya.Trac-2009/07/12
Scrum & Trac By Certified Scrum Master In Shibuya.Trac-2009/07/12Scrum & Trac By Certified Scrum Master In Shibuya.Trac-2009/07/12
Scrum & Trac By Certified Scrum Master In Shibuya.Trac-2009/07/12
 
Suc3rum Ver.03 group memo
Suc3rum Ver.03 group memoSuc3rum Ver.03 group memo
Suc3rum Ver.03 group memo
 
第3回すくすく・スクラム 自己組織化Ws
第3回すくすく・スクラム 自己組織化Ws第3回すくすく・スクラム 自己組織化Ws
第3回すくすく・スクラム 自己組織化Ws
 
すくすくスクラム目的・想い
すくすくスクラム目的・想いすくすくスクラム目的・想い
すくすくスクラム目的・想い
 
第2回 すくすく・スクラム ~開発者兼経営者~
第2回 すくすく・スクラム ~開発者兼経営者~第2回 すくすく・スクラム ~開発者兼経営者~
第2回 すくすく・スクラム ~開発者兼経営者~
 
第2回 すくすく・スクラム
第2回 すくすく・スクラム第2回 すくすく・スクラム
第2回 すくすく・スクラム
 
第1回 すくすく・スクラム ~スクラム基礎理論~
第1回 すくすく・スクラム ~スクラム基礎理論~第1回 すくすく・スクラム ~スクラム基礎理論~
第1回 すくすく・スクラム ~スクラム基礎理論~
 

Recently uploaded

Recently uploaded (11)

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

Robot_framework_introduction-ja

  • 1. Robot Framework の紹介 http://robotframework.org © Copyright Nokia Siemens Networks Creative Commons Attribution 3.0 License Copyright © 2010 Kazumasa EBATA All Rights Reserved.
  • 2. 普遍的な事実 • 一般的なテスト自動化フレームワーク ◦ キーワード駆動開発 • Python で実装 ◦ IronPython と Jython をサポート ◦ Python もしくは Java を利用し、広範囲の自然言語が使える ◦ 他言語は、XML-RPC に基づいたリモートインタフェースをサポート • オープンソース ◦ Apache 2.0 ライセンス ◦ スポンサーは、Nokia Siemens Networks ◦ 活発な開発と成長しているコミュニティ ◦ ホストは Google Code Copyright © 2010 Kazumasa EBATA All Rights Reserved.
  • 3. 高レベルのアーキテクチャ テスト データ ` テストデータ シンタックス Robot Framework ` テストライブラリ API テスト ライブラリ テスト ツール ` アプリケーション インタフェース 被試験システム Copyright © 2010 Kazumasa EBATA All Rights Reserved.
  • 4. シンプルなシンタックステーブル テストケース アクション アーギュメント アーギュメント ユーザアカウント 有効なユーザの作成 fred P4ssw0ed 作成とログイン 認証情報でログイン試す fred P4ssw0ed あるべき状態 ログイン 無効なパスワードで 有効なユーザの作成 betty P4ssw0ed ログインできない 認証情報でログイン試す betty 不適切 あるべき状態 アクセス拒否 Copyright © 2010 Kazumasa EBATA All Rights Reserved.
  • 5. 単純なテストライブラリ API Copyright © 2010 Kazumasa EBATA All Rights Reserved.
  • 6. 高レベルのキーワード テストケース アクション アーギュメント アーギュメント ログインデータベース ファイル削除 ${DATABASE FILE} 消去 有効なユーザの作成 [Arguments] ${username} ${password} ユーザ作成 ${username} ${password} あるべき状態 成功 無効のパスワードで [Arguments] ${password} ${error} ユーザ作成の失敗 ユーザ作成 example ${password} あるべき状態 ユーザ作成の失敗 ${error} ログイン [Arguments] ${username} ${password} 認証情報でログイン試す ${username} ${password} あるべき状態 ログイン Copyright © 2010 Kazumasa EBATA All Rights Reserved.
  • 7. データ駆動 テストケース テストケース アクション パスワード エラーメッセージ 短すぎるパスワード 無効なパスワードでの abCD5 ${PWD INVALID ユーザ作成失敗 CONTENT} 長すぎるパスワード 無効なパスワードでの abCD567890123 ${PWD INVALID ユーザ作成失敗 CONTENT} 小文字のないパスワ 無効なパスワードでの 123DEFG ${PWD INVALID ード ユーザ作成失敗 CONTENT} 大文字のないパスワ 無効なパスワードでの abcd56789 ${PWD INVALID ード ユーザ作成失敗 CONTENT} 数字のないパスワー 無効なパスワードでの AbCdEfGh ${PWD INVALID ド ユーザ作成失敗 CONTENT} 特殊文字を含む 無効なパスワードでの abCD56+ ${PWD INVALID パスワード ユーザ作成失敗 CONTENT} Copyright © 2010 Kazumasa EBATA All Rights Reserved.
  • 8. 実行可能な仕様 テストケース ステップ ユーザがパスワード変更可能 ユーザに有効なアカウントを与える ユーザがパスワードを変更する時 ユーザは新しいパスワードでログイン可能 そして、ユーザの古いパスワードは利用できなくなる Copyright © 2010 Kazumasa EBATA All Rights Reserved.
  • 9. 変数 変数 値 ${USERNAME} janedoe ${PASSWORD} J4n3DDe ${NEW PASSWORD} e0D3n4J ${DATABASE FILE} ${TEMPDIR}${/}robotframework-quickstart-db.txt ${PWD INVALID LENGTH} パスワードの文字数は、7 ~ 12 でなければならない ${PWD INVALID CONTENT} パスワードは、小文字、大文字、数字の組合せ でなければならない コマンドライン: $ pybot --variable USERNAME:johndoe --variable PASSWORD:J0hnD0e my_tests.html Copyright © 2010 Kazumasa EBATA All Rights Reserved.
  • 10. タグ付け • メタデータをテストケースに分類 • 自動的に集計したタグの統計 • 実行すべきテストケースの指定 • どのテストケースの重要度 Copyright © 2010 Kazumasa EBATA All Rights Reserved.
  • 11. 明確なレポート Copyright © 2010 Kazumasa EBATA All Rights Reserved.
  • 12. 詳細なログ Copyright © 2010 Kazumasa EBATA All Rights Reserved.
  • 13. 簡単な統合 • テストスイートは、ファイルとディレクトリから作成 ◦ どのようなバージョン管理システムでも保存できるよう普通 • 単純なコマンドラインインタフェース ◦ CI システムもしくは、他のツールから簡単にテスト実行可能 • XML 形式での出力 ◦ 読み込み可能な形式の全ての情報 ◦ 異なるテスト結果を統合可能 Copyright © 2010 Kazumasa EBATA All Rights Reserved.
  • 14. 異なるテスト ライブラリ • 標準ライブラリ ◦ 通常のインストールに含まれる ◦ OS、Telnet、スクリーンショット、文字列... • 外部ライブラリ ◦ 別途インストールが必要 ◦ Selenium ライブラリ、Swing ライブラリ、SSH ライブラリ... • プロジェクトもしくはチームの特別ライブラリ Copyright © 2010 Kazumasa EBATA All Rights Reserved.
  • 15. 独立したテストデータエディタ(RIDE) Copyright © 2010 Kazumasa EBATA All Rights Reserved.
  • 16. 詳細情報 • プロジェクトページ ◦ 主要な情報源 ◦ http://robotframework.org • クイックスタートガイド ◦ 主に特徴的な実行可能ガイド ◦ スライドの例もここから取得 ◦ http://code.google.com/p/robotframework/wiki/QuickStartGuide • ユーザガイド ◦ フレームワークの全ての特徴的な詳細情報 ◦ http://code.google.com/p/robotframework/wiki/UserGuide Copyright © 2010 Kazumasa EBATA All Rights Reserved.