SlideShare a Scribd company logo
+




       テスト自動化・TABOK研究会
    Skill Category 2 : Test Automation Types and Interfaces

                             担当者:朱峰錦司(@kjstylepp)
+                                    2

    Skill Category 2 導入

     テスト自動化には多様な分野・種類が存在
      異なる種類同士の違いを理解することで得られる
      メリット
         知識・技術の体系化できる
         組織間のコミュニケーションが円滑になる
         新技術の成熟が促進される




テスト自動化・TABOK研究会                 12/05/13
+                                                     3

    目次

     2.1   Test Automation Types
      2.1.1 Unit Test Automation
      2.1.2 Integration Test Automation
      2.1.3 Functional System Test Automation
      2.1.4 Performance Test Automation

     2.2 Application   Interfaces




テスト自動化・TABOK研究会                                  12/05/13
+




    2.1
    Test Automation Types

    テスト自動化・TABOK研究会     12/05/13
+                                                    5

    2.1 概要

     テスト自動化は一般的に以下の4種類に分類
    できる
    1.    ユニットテスト自動化
    2.    統合テスト自動化           V字モデルの右側のイメージ

    3.    機能システムテスト自動化         機能システム       パフォーマンス
    4.    パフォーマンステスト自動化         テスト           テスト



            非機能要件代表                  統合
         ※他は自動化の必要なし or 困難           テスト


                               ユニッ         ホワイトボックス
                               トテス          テスト扱い
                                ト           は一般的か?


テスト自動化・TABOK研究会                                 12/05/13
+                                           6

    2.1.1 Unit Test Automation(1)
                        定義は人によってまちまち
     ユニットテスト
      テスト可能な最小単位の振る舞いをテスト
         テスト時はドライバ/スタブを利用
         コード変更時の問題(≒デグレ)早期発見に有効
           ビルド時に自動実行されると効力が最大化



      手動+目視確認でも実施可能だが、コードが複雑
      になるにつれて厳しくなる
         カバレッジの確保が大変
         実施が退屈

             ユニットテスト自動化
テスト自動化・TABOK研究会                        12/05/13
+                                           7

    2.1.1 Unit Test Automation(2)

     ユニットテスト自動化
      テストコードはたいていプロダクトコードと同じ
      言語で実現(ex. Java -> JUnit)
         プロダクトコードより前、または同時に書くのが理想
      構成管理もプロダクトコードと同等に実施
      プロダクトコード開発者がテストコードも書くの
      が一般的
         方法論によっては、テスト専門家がシナリオを作成を支援
      テストハーネス等を用いて、複数のユニットテス
      トをまとめて定期的に実行可能

     テスト実装・実施環境などを含んだフレームワーク
                  ※詳細はISTQBを参照のこと

テスト自動化・TABOK研究会                        12/05/13
+                                                    8

    2.1.2 Integration Test Automation
     統合テスト
      ユニットを統合して振る舞いをテスト



     統合テスト自動化
      自動化のアプローチはユニットテストと一緒
      2つの統合していく順序の方針
                                      どっちがいいかは
      1.       トップダウン                  Case by Case?
              呼び出し階層が上位のユニットから順に統合
              ドライバが減るがスタブが増える
      2.       ボトムアップ統合
              呼び出し階層が下位のユニットから順に統合
              スタブが減るがドライバが増える

テスト自動化・TABOK研究会                                 12/05/13
+ 2.1.3 Functional System Test Automation        9




   機能システムテスト
     機能テスト、かつ、システムテスト
         完全に統合されたアプリケーションに対し、ブラックボッ
          クスアプローチで振る舞いをテスト
         本書では簡単のため「functional test」と表記
     たいていテスト自動化の対象はこの工程



   機能システムテスト自動化
     GUIアプリケーションに対する回帰テストを対象
      にすることが多い


テスト自動化・TABOK研究会                             12/05/13
+ 2.1.4 Performance Test Automation(1)       10




   パフォーマンステスト
     レスポンスタイムのボトルネックを特定/スルー
      プットを測定
     システム機能テストが完了した段階で実施するの
      が理想              理想すぎやしないか?


     手動での実施は困難
         多数のユーザによる同時利用などの場合、人手不足となる
         正確な測定が難しい

             パフォーマンステスト自動化

テスト自動化・TABOK研究会                          12/05/13
+ 2.1.4 Performance Test Automation(2)       11




   パフォーマンステスト自動化
     仮想ユーザによる同時多数接続、データ量とパ
      フォーマンスの相関算出などを実施
     ボトルネック発見時はレイヤーを切り分けて詳細
      に原因究明
         レイヤーごとに有識者を確保する必要あり

                    レイヤー      原因の例
              プレゼンテーション層 効率の悪いアルゴリズム
              DB層          効率の悪いクエリ
              OS層          リソース不足
              ネットワーク層      狭い帯域


テスト自動化・TABOK研究会                          12/05/13
+ 2.1.4 Performance Test Automation(3)         12




   パフォーマンステストと似たテスト
     ロードテスト
         基本的にはパフォーマンステストと一緒
         上限に向けて徐々にデータ量を増やしていくのが特徴


     ストレステスト
         上限を超えて、実際にアプリケーションが正常に動作しな
          くなるまで実施するのが特徴


                  パフォーマンステストの定義が明確でないため、
                      差異がよくわかっていません…



テスト自動化・TABOK研究会                            12/05/13
+




    2.2
    Application Interfaces

    テスト自動化・TABOK研究会          12/05/13
+                                            14

    2.2 概要

     テスト自動化に適したアプリケーションイン
     タフェースは以下の4つである
     1.   CLI
                テスト実装がしやすい
     2.   API
     3.   GUI
     4.   Webサービス・インタフェース

    ユーザの操作の再現という点で一番相性がよい



            ※@snskさんのブログでの説明のニュアンスはちょっと違うかも?
            ※「CUI」は和製英語なので英語圏で使うとかっこわるいかも?

テスト自動化・TABOK研究会                          12/05/13
+                                                      15

    2.2 各インタフェースについて(1)
     Command     Line Interface
        コマンドを効率よくやり取りするテキストベースのメ
         カニズム
        たいていのスクリプト言語はコマンドラインインタプ
         リタを実現可能なため、これを用いてテスト自動化を
         実現可能
                                        なぜスクリプト言語限定?


     Application   Programming Interface
        プログラム呼び出し等で利用可能なアプリケーション
         再利用メカニズム
        たいていのスクリプト言語は外部プログラム呼び出し
         が可能なため、これを用いてテスト自動化を実現可能
テスト自動化・TABOK研究会                                   12/05/13
+                                      16

    2.2 各インタフェースについて(2)
     Graphical   User Interface
      アイコンなどの操作によりアプリケーションを利用可
       能とするメカニズム
      UIの変更時、内部構造の変更時に比べて自動テスト資
       産の保守性の維持が困難
      しかし、直感的な自動化のため需要は多く、たいてい
       の取り組みはGUIアプリケーションが対象


     Web   Service Interface
      ネットワークごしに利用可能なアプリケーション再利
       用メカニズム
      メッセージベースのオープンなプロトコルによる利用
       を想定してるため、これを再現することでテスト自動
       化を実現可能

テスト自動化・TABOK研究会                    12/05/13
+
    ご清聴ありがとうございました

More Related Content

What's hot

組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
H Iseri
 
Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)masanori kataoka
 
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
Satsuki Urayama
 
GUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるにはGUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるには
Nozomi Ito
 
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか  #rakutentech【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか  #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
Kotaro Ogino
 
EMTEを使って自動化の費用対効果をわかりやすく表現する
EMTEを使って自動化の費用対効果をわかりやすく表現するEMTEを使って自動化の費用対効果をわかりやすく表現する
EMTEを使って自動化の費用対効果をわかりやすく表現する
JYERUEY
 
テストの極みを目指して ~さあ、理想に近づくための一歩を踏み出そう!~
テストの極みを目指して ~さあ、理想に近づくための一歩を踏み出そう!~テストの極みを目指して ~さあ、理想に近づくための一歩を踏み出そう!~
テストの極みを目指して ~さあ、理想に近づくための一歩を踏み出そう!~
崇 山﨑
 
アジャイル開発におけるシステムテストの自動化
アジャイル開発におけるシステムテストの自動化アジャイル開発におけるシステムテストの自動化
アジャイル開発におけるシステムテストの自動化Toru Koido
 
Wacate2015summer_report
Wacate2015summer_reportWacate2015summer_report
Wacate2015summer_report
Kosuke Fujisawa
 
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料Masatoshi Itoh
 
自動テストの品質とテストパターン
自動テストの品質とテストパターン自動テストの品質とテストパターン
自動テストの品質とテストパターン
Toru Koido
 
アジャイル×テスト開発を考える
アジャイル×テスト開発を考えるアジャイル×テスト開発を考える
アジャイル×テスト開発を考えるyasuohosotani
 
事例から見るテスト自動化のポイント
事例から見るテスト自動化のポイント事例から見るテスト自動化のポイント
事例から見るテスト自動化のポイント
Hiroshi Maekawa
 
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
Kinji Akemine
 
テスト自動化とアーキテクチャ
テスト自動化とアーキテクチャテスト自動化とアーキテクチャ
テスト自動化とアーキテクチャ
Toru Koido
 
システムテスト自動化標準ガイド第6章
システムテスト自動化標準ガイド第6章システムテスト自動化標準ガイド第6章
システムテスト自動化標準ガイド第6章nihon buson
 
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
Shinsuke Matsuki
 
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
Kotaro Ogino
 
「トピックモデル」を使った「バグチケットの自動タグ付け」
「トピックモデル」を使った「バグチケットの自動タグ付け」「トピックモデル」を使った「バグチケットの自動タグ付け」
「トピックモデル」を使った「バグチケットの自動タグ付け」
Koichi Tanizaki
 
アジャイルテストを、壮絶に、考える。
アジャイルテストを、壮絶に、考える。アジャイルテストを、壮絶に、考える。
アジャイルテストを、壮絶に、考える。
Dai FUJIHARA
 

What's hot (20)

組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
 
Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)
 
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
 
GUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるにはGUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるには
 
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか  #rakutentech【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか  #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
 
EMTEを使って自動化の費用対効果をわかりやすく表現する
EMTEを使って自動化の費用対効果をわかりやすく表現するEMTEを使って自動化の費用対効果をわかりやすく表現する
EMTEを使って自動化の費用対効果をわかりやすく表現する
 
テストの極みを目指して ~さあ、理想に近づくための一歩を踏み出そう!~
テストの極みを目指して ~さあ、理想に近づくための一歩を踏み出そう!~テストの極みを目指して ~さあ、理想に近づくための一歩を踏み出そう!~
テストの極みを目指して ~さあ、理想に近づくための一歩を踏み出そう!~
 
アジャイル開発におけるシステムテストの自動化
アジャイル開発におけるシステムテストの自動化アジャイル開発におけるシステムテストの自動化
アジャイル開発におけるシステムテストの自動化
 
Wacate2015summer_report
Wacate2015summer_reportWacate2015summer_report
Wacate2015summer_report
 
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
 
自動テストの品質とテストパターン
自動テストの品質とテストパターン自動テストの品質とテストパターン
自動テストの品質とテストパターン
 
アジャイル×テスト開発を考える
アジャイル×テスト開発を考えるアジャイル×テスト開発を考える
アジャイル×テスト開発を考える
 
事例から見るテスト自動化のポイント
事例から見るテスト自動化のポイント事例から見るテスト自動化のポイント
事例から見るテスト自動化のポイント
 
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
 
テスト自動化とアーキテクチャ
テスト自動化とアーキテクチャテスト自動化とアーキテクチャ
テスト自動化とアーキテクチャ
 
システムテスト自動化標準ガイド第6章
システムテスト自動化標準ガイド第6章システムテスト自動化標準ガイド第6章
システムテスト自動化標準ガイド第6章
 
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
 
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
 
「トピックモデル」を使った「バグチケットの自動タグ付け」
「トピックモデル」を使った「バグチケットの自動タグ付け」「トピックモデル」を使った「バグチケットの自動タグ付け」
「トピックモデル」を使った「バグチケットの自動タグ付け」
 
アジャイルテストを、壮絶に、考える。
アジャイルテストを、壮絶に、考える。アジャイルテストを、壮絶に、考える。
アジャイルテストを、壮絶に、考える。
 

Similar to TABOK Skill Category2解説

ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
Ryutaro YOSHIBA
 
SGT2013 技術トークス「アジャイルテスティング」
SGT2013 技術トークス「アジャイルテスティング」SGT2013 技術トークス「アジャイルテスティング」
SGT2013 技術トークス「アジャイルテスティング」
yasuohosotani
 
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテストJUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
Shuji Watanabe
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門
iKenji
 
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
hakoika-itwg
 
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストはこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
Seiji KOMATSU
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめJenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめatsushi_tmx
 
【JaSST'11 Tokyo】 テスト イノベーション
【JaSST'11 Tokyo】 テスト イノベーション【JaSST'11 Tokyo】 テスト イノベーション
【JaSST'11 Tokyo】 テスト イノベーション
智治 長沢
 
Continuous delivery chapter4
Continuous delivery chapter4Continuous delivery chapter4
Continuous delivery chapter4favril1
 
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
JustSystems Corporation
 
継続的デリバリー読書会 第 7 章 コミットステージ
継続的デリバリー読書会 第 7 章 コミットステージ継続的デリバリー読書会 第 7 章 コミットステージ
継続的デリバリー読書会 第 7 章 コミットステージYasutomo Arai
 
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
Tatsuya Ishikawa
 
Automation test.ssf alpha
Automation test.ssf alphaAutomation test.ssf alpha
Automation test.ssf alpha
ryuji koyama
 
第3回ソフトウェアテストセミナー
第3回ソフトウェアテストセミナー第3回ソフトウェアテストセミナー
第3回ソフトウェアテストセミナーTomoyuki Sato
 
ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略
Naoki Umehara
 
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門Satoshi Watanabe
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
智治 長沢
 
How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2
Sadaaki Emura
 
Gamedevenvstudy1
Gamedevenvstudy1Gamedevenvstudy1
Gamedevenvstudy1
Takashi Kokawa
 
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテストビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
Tsutomu Chikuba
 

Similar to TABOK Skill Category2解説 (20)

ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
 
SGT2013 技術トークス「アジャイルテスティング」
SGT2013 技術トークス「アジャイルテスティング」SGT2013 技術トークス「アジャイルテスティング」
SGT2013 技術トークス「アジャイルテスティング」
 
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテストJUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門
 
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
 
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストはこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめJenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
 
【JaSST'11 Tokyo】 テスト イノベーション
【JaSST'11 Tokyo】 テスト イノベーション【JaSST'11 Tokyo】 テスト イノベーション
【JaSST'11 Tokyo】 テスト イノベーション
 
Continuous delivery chapter4
Continuous delivery chapter4Continuous delivery chapter4
Continuous delivery chapter4
 
Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化Selenium WebDriver + python で E2Eテスト自動化
Selenium WebDriver + python で E2Eテスト自動化
 
継続的デリバリー読書会 第 7 章 コミットステージ
継続的デリバリー読書会 第 7 章 コミットステージ継続的デリバリー読書会 第 7 章 コミットステージ
継続的デリバリー読書会 第 7 章 コミットステージ
 
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
 
Automation test.ssf alpha
Automation test.ssf alphaAutomation test.ssf alpha
Automation test.ssf alpha
 
第3回ソフトウェアテストセミナー
第3回ソフトウェアテストセミナー第3回ソフトウェアテストセミナー
第3回ソフトウェアテストセミナー
 
ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略ぼくのかんがえた iOSテスト戦略
ぼくのかんがえた iOSテスト戦略
 
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
 
How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2
 
Gamedevenvstudy1
Gamedevenvstudy1Gamedevenvstudy1
Gamedevenvstudy1
 
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテストビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
 

More from Kinji Akemine

WACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacate
WACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacateWACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacate
WACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacate
Kinji Akemine
 
テストの視点からのモデリング(公開用) #wacate
テストの視点からのモデリング(公開用) #wacateテストの視点からのモデリング(公開用) #wacate
テストの視点からのモデリング(公開用) #wacate
Kinji Akemine
 
#wacate 2017 冬 ISONO:REBOOT -評価することにこだわろう-
#wacate 2017 冬 ISONO:REBOOT -評価することにこだわろう-#wacate 2017 冬 ISONO:REBOOT -評価することにこだわろう-
#wacate 2017 冬 ISONO:REBOOT -評価することにこだわろう-
Kinji Akemine
 
ICST 2015 まるわかりDay! -Model
ICST 2015 まるわかりDay! -ModelICST 2015 まるわかりDay! -Model
ICST 2015 まるわかりDay! -ModelKinji Akemine
 
第1回キーワード駆動テスト勉強会
第1回キーワード駆動テスト勉強会第1回キーワード駆動テスト勉強会
第1回キーワード駆動テスト勉強会
Kinji Akemine
 
Astahプラグイン開発勉強会
Astahプラグイン開発勉強会Astahプラグイン開発勉強会
Astahプラグイン開発勉強会
Kinji Akemine
 
Beginning Java EE 6 勉強会(2) #bje_study
Beginning Java EE 6 勉強会(2) #bje_studyBeginning Java EE 6 勉強会(2) #bje_study
Beginning Java EE 6 勉強会(2) #bje_studyKinji Akemine
 

More from Kinji Akemine (7)

WACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacate
WACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacateWACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacate
WACATE2018冬 45分で講師になれそうな気になるASTERセミナー標準テキスト #wacate
 
テストの視点からのモデリング(公開用) #wacate
テストの視点からのモデリング(公開用) #wacateテストの視点からのモデリング(公開用) #wacate
テストの視点からのモデリング(公開用) #wacate
 
#wacate 2017 冬 ISONO:REBOOT -評価することにこだわろう-
#wacate 2017 冬 ISONO:REBOOT -評価することにこだわろう-#wacate 2017 冬 ISONO:REBOOT -評価することにこだわろう-
#wacate 2017 冬 ISONO:REBOOT -評価することにこだわろう-
 
ICST 2015 まるわかりDay! -Model
ICST 2015 まるわかりDay! -ModelICST 2015 まるわかりDay! -Model
ICST 2015 まるわかりDay! -Model
 
第1回キーワード駆動テスト勉強会
第1回キーワード駆動テスト勉強会第1回キーワード駆動テスト勉強会
第1回キーワード駆動テスト勉強会
 
Astahプラグイン開発勉強会
Astahプラグイン開発勉強会Astahプラグイン開発勉強会
Astahプラグイン開発勉強会
 
Beginning Java EE 6 勉強会(2) #bje_study
Beginning Java EE 6 勉強会(2) #bje_studyBeginning Java EE 6 勉強会(2) #bje_study
Beginning Java EE 6 勉強会(2) #bje_study
 

Recently uploaded

ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 

Recently uploaded (8)

ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 

TABOK Skill Category2解説

  • 1. + テスト自動化・TABOK研究会 Skill Category 2 : Test Automation Types and Interfaces 担当者:朱峰錦司(@kjstylepp)
  • 2. + 2 Skill Category 2 導入  テスト自動化には多様な分野・種類が存在  異なる種類同士の違いを理解することで得られる メリット  知識・技術の体系化できる  組織間のコミュニケーションが円滑になる  新技術の成熟が促進される テスト自動化・TABOK研究会 12/05/13
  • 3. + 3 目次  2.1 Test Automation Types  2.1.1 Unit Test Automation  2.1.2 Integration Test Automation  2.1.3 Functional System Test Automation  2.1.4 Performance Test Automation  2.2 Application Interfaces テスト自動化・TABOK研究会 12/05/13
  • 4. + 2.1 Test Automation Types テスト自動化・TABOK研究会 12/05/13
  • 5. + 5 2.1 概要  テスト自動化は一般的に以下の4種類に分類 できる 1. ユニットテスト自動化 2. 統合テスト自動化 V字モデルの右側のイメージ 3. 機能システムテスト自動化 機能システム パフォーマンス 4. パフォーマンステスト自動化 テスト テスト 非機能要件代表 統合 ※他は自動化の必要なし or 困難 テスト ユニッ ホワイトボックス トテス テスト扱い ト は一般的か? テスト自動化・TABOK研究会 12/05/13
  • 6. + 6 2.1.1 Unit Test Automation(1) 定義は人によってまちまち  ユニットテスト  テスト可能な最小単位の振る舞いをテスト  テスト時はドライバ/スタブを利用  コード変更時の問題(≒デグレ)早期発見に有効  ビルド時に自動実行されると効力が最大化  手動+目視確認でも実施可能だが、コードが複雑 になるにつれて厳しくなる  カバレッジの確保が大変  実施が退屈 ユニットテスト自動化 テスト自動化・TABOK研究会 12/05/13
  • 7. + 7 2.1.1 Unit Test Automation(2)  ユニットテスト自動化  テストコードはたいていプロダクトコードと同じ 言語で実現(ex. Java -> JUnit)  プロダクトコードより前、または同時に書くのが理想  構成管理もプロダクトコードと同等に実施  プロダクトコード開発者がテストコードも書くの が一般的  方法論によっては、テスト専門家がシナリオを作成を支援  テストハーネス等を用いて、複数のユニットテス トをまとめて定期的に実行可能 テスト実装・実施環境などを含んだフレームワーク ※詳細はISTQBを参照のこと テスト自動化・TABOK研究会 12/05/13
  • 8. + 8 2.1.2 Integration Test Automation  統合テスト  ユニットを統合して振る舞いをテスト  統合テスト自動化  自動化のアプローチはユニットテストと一緒  2つの統合していく順序の方針 どっちがいいかは 1. トップダウン Case by Case?  呼び出し階層が上位のユニットから順に統合  ドライバが減るがスタブが増える 2. ボトムアップ統合  呼び出し階層が下位のユニットから順に統合  スタブが減るがドライバが増える テスト自動化・TABOK研究会 12/05/13
  • 9. + 2.1.3 Functional System Test Automation 9  機能システムテスト  機能テスト、かつ、システムテスト  完全に統合されたアプリケーションに対し、ブラックボッ クスアプローチで振る舞いをテスト  本書では簡単のため「functional test」と表記  たいていテスト自動化の対象はこの工程  機能システムテスト自動化  GUIアプリケーションに対する回帰テストを対象 にすることが多い テスト自動化・TABOK研究会 12/05/13
  • 10. + 2.1.4 Performance Test Automation(1) 10  パフォーマンステスト  レスポンスタイムのボトルネックを特定/スルー プットを測定  システム機能テストが完了した段階で実施するの が理想 理想すぎやしないか?  手動での実施は困難  多数のユーザによる同時利用などの場合、人手不足となる  正確な測定が難しい パフォーマンステスト自動化 テスト自動化・TABOK研究会 12/05/13
  • 11. + 2.1.4 Performance Test Automation(2) 11  パフォーマンステスト自動化  仮想ユーザによる同時多数接続、データ量とパ フォーマンスの相関算出などを実施  ボトルネック発見時はレイヤーを切り分けて詳細 に原因究明  レイヤーごとに有識者を確保する必要あり レイヤー 原因の例 プレゼンテーション層 効率の悪いアルゴリズム DB層 効率の悪いクエリ OS層 リソース不足 ネットワーク層 狭い帯域 テスト自動化・TABOK研究会 12/05/13
  • 12. + 2.1.4 Performance Test Automation(3) 12  パフォーマンステストと似たテスト  ロードテスト  基本的にはパフォーマンステストと一緒  上限に向けて徐々にデータ量を増やしていくのが特徴  ストレステスト  上限を超えて、実際にアプリケーションが正常に動作しな くなるまで実施するのが特徴 パフォーマンステストの定義が明確でないため、 差異がよくわかっていません… テスト自動化・TABOK研究会 12/05/13
  • 13. + 2.2 Application Interfaces テスト自動化・TABOK研究会 12/05/13
  • 14. + 14 2.2 概要  テスト自動化に適したアプリケーションイン タフェースは以下の4つである 1. CLI テスト実装がしやすい 2. API 3. GUI 4. Webサービス・インタフェース ユーザの操作の再現という点で一番相性がよい ※@snskさんのブログでの説明のニュアンスはちょっと違うかも? ※「CUI」は和製英語なので英語圏で使うとかっこわるいかも? テスト自動化・TABOK研究会 12/05/13
  • 15. + 15 2.2 各インタフェースについて(1)  Command Line Interface  コマンドを効率よくやり取りするテキストベースのメ カニズム  たいていのスクリプト言語はコマンドラインインタプ リタを実現可能なため、これを用いてテスト自動化を 実現可能 なぜスクリプト言語限定?  Application Programming Interface  プログラム呼び出し等で利用可能なアプリケーション 再利用メカニズム  たいていのスクリプト言語は外部プログラム呼び出し が可能なため、これを用いてテスト自動化を実現可能 テスト自動化・TABOK研究会 12/05/13
  • 16. + 16 2.2 各インタフェースについて(2)  Graphical User Interface  アイコンなどの操作によりアプリケーションを利用可 能とするメカニズム  UIの変更時、内部構造の変更時に比べて自動テスト資 産の保守性の維持が困難  しかし、直感的な自動化のため需要は多く、たいてい の取り組みはGUIアプリケーションが対象  Web Service Interface  ネットワークごしに利用可能なアプリケーション再利 用メカニズム  メッセージベースのオープンなプロトコルによる利用 を想定してるため、これを再現することでテスト自動 化を実現可能 テスト自動化・TABOK研究会 12/05/13
  • 17. + ご清聴ありがとうございました