More Related Content
PDF
PDF
Test Yourself - テストを書くと何がどう変わるか PDF
PPTX
DynamoDBによるソーシャルゲーム実装 How To PDF
PDF
PDF
PDF
What's new in Spring Boot 2.6 ? What's hot
PDF
PPTX
スマホゲームのチート手法とその対策 [DeNA TechCon 2019] PDF
PDF
PDF
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話 PDF
PPTX
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」 PDF
ソースコードの品質向上のための効果的で効率的なコードレビュー PPTX
CyberChefの使い方(HamaCTF2019 WriteUp編) PPTX
PDF
PDF
Python におけるドメイン駆動設計(戦術面)の勘どころ PDF
チケット駆動開発の解説~タスク管理からプロセス改善へ PDF
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」 PDF
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう PDF
Deep Dive async/await in Unity with UniTask(UniRx.Async) PDF
PDF
PDF
Similar to Gui自動テストツール基本
PDF
SGT2013 技術トークス「アジャイルテスティング」 PPTX
PDF
テスト自動化クロニクル (JaSST 東海 2016) PPTX
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み PDF
PDF
PDF
PPTX
Useful software testing in the latest development – short version PDF
PPTX
PDF
KEY
PPTX
Istqb : Test automation Engineer PDF
PDF
PDF
GUI Test is (not) necessary PPTX
PDF
xUnit Test Patterns - Chapter11 PPTX
System Automated Testing and Architecture, Keyword-Driven Systems PDF
【17-B-6】RIAの性能テストとアプリケーション品質向上のための管理手法 More from Tsuyoshi Yumoto
PDF
20170704Wモデル導入の基礎-公開.pdf PDF
Ja sst19tokyojstqb ctfl2018 PDF
HP_almqc_concepts20150701 PPTX
PDF
PDF
PPTX
とてか03「「いかす!」のために大事だと思う4つのこと」 PPTX
A study on the efficiency of a test analysis method utilizing test-categories... PPTX
A Test Analysis Method for Black Box Testing Using AUT and Fault Knowledge. Gui自動テストツール基本
- 1.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
GUI自動テストツールの
基本技術と最新動向
日本ヒューレット・パッカード株式会社
HPソフトウェア事業統括 ALM事業本部
湯本 剛
- 2.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
2
自己紹介 湯本 剛
ソフトウェアテスト現場で10年ほど経験を積んだ後、テストプロセス改善のコンサルティング、
教育に約7年ほど従事
2010年8月よりHP Softwareのテストツール導入支援コンサルタントに転職し、主にテスト
ケース管理ツール、キャプチャリプレイツールの導入支援に従事
外部活動
NPO法人ASTER 理事
• JSTQB 技術委員
• ISTQB CTAL WPメンバー
• ソフトウェアテストシンポジウム(JaSST)東京実行委員
ISO/IEC JTC1 SC7 WG26 エキスパート
日科技連SQiPステアリング委員
書籍、Web記事や雑誌への執筆や翻訳
得意分野
テストマネジメント、テスト分析
Consultant at HPSoftware Japan
- 3.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
3
HPのアプリケーション品質管理ツール群
HPのテストツール全体像
QualityCenter
PerformanceCenter
&LoadRunner
(with Diagnostics)
データベース
データベース
リリース管理、要件管理
テスト条件、テストケースの管理
不具合管理
テスト実行管理(スケジューラ)
テスト結果収集、進捗参照
①アプリケーション操作を記録(スクリプト化)
②スクリプトを再生し、自動検証
データ駆動、キーワード駆動テスト
①アプリケーション操作を記録(スクリプト化)
②別PC上で多重実行
③パフォーマンスデータの収集
④結果分析
QuickTestProfessional
Webアプリケーションに
対して様々なアタックを
かけ、脆弱性を検証する
Weblnspect,Fortify
さまざまなテスト対象
Webサーバ APサーバ データベース
テストマネジメントツール
負荷テストツール
キャプチャリプレイツール
セキュリティテストツール
品質リスク分析
要件カバレッジ
テスト実行管理
(自動、手動)
手動テスト支援ツール
Sprinter
スタブツール
Service Virtualization
!"#$%&'()*+$(,-
./0123#$%&45'6
7.89&:;<'=>
Unified Functional Testing(UFT)
に製品名が変わりました!
- 4.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
4
?@ABCDE
•FGHIJKLMN3O$P$Q=3RSCTU
•VW@X5YZAB
•[]^_:`abcYZ
•%d:edfbcYZ
•g$hi$&bcYZ @j
•!"klmnop3X5g$hqr
•5stu39&:vw+x$:
yz{|}C~/3•€d:
• 9&:•‚+d]3ƒ„CYZ…†3‡M}ˆ‰0
Š‹3‹Œ'•Ž••C‘Nu|’
• “”•3T–—˜™}oo•š›'œ•Nu|’
• 9&:ž›'œ•.0Ÿ ¡q#m_n'¢£Nu|’
• ¤¥}¦§89&:1¨©%g-&'ª«Nu|’
¬&_€f:3qrg$h'-®•$h¯
° ±²³Q='RS.@‘p09&:&_€f:'=>
´&_€f:
1µ
X59&:
&h$:
¶·¸²HG¹GºI¸»¼H½¾GJH¿À¸ÁºL¾GH¸'Ã~8±²³X5AB9&:
HP UFT11.5 (GUIテスト) 概要
- 5.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
5
アジェンダ
テストとテストツール
• GUI自動テストの位置づけ
GUI自動テストツールの基本
• 記録と再生
• 期待結果の登録とコンペア
GUI自動テストを効率よくする技術
• その1 データ駆動テスト
• その2 キーワード駆動テスト
• その3 テストオブジェクトモデル/オブジェクトマップ
GUI自動テストの最近の傾向
• 画像認識オブジェクト
まとめ
- 6.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
テストとテストツール
GUI自動テストツールの位置づけ
- 7.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
7
システム
要件
設計
実装
要件定義書
画面仕様書
基本設計書
詳細設計書
ソースコード
!
!
"
#
$
%
#
統
合
$
%
&
&
%
$
'
$
%
#
要求一覧
要求分析
受
入
#
$
%
ユーザ要求
開発の作業 開発の成果物 テストのレベル
開発とテストの関係…Vモデル
コード解析
- 8.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
8
システム
要件
設計
実装
要件定義書
画面仕様書
基本設計書
詳細設計書
ソースコード
!
!
"
#
$
%
#
統
合
$
%
&
受
入
#
$
%
ユーザ要求
テスト分析 テスト設計 報告書作成
テスト実行
テスト実装
テスト分析 テスト設計 報告書作成
テスト実行
テスト実装
テスト分析 テスト設計 報告書作成
テスト実行
テスト実装
テスト分析 テスト設計 報告書作成
テスト実行
テスト実装
テストウェア管理
インシデント管理
モニタリングとコントロール
コード解析
開発の作業 開発の成果物 テストの作業(プロセス)
Vモデルとテストの作業群(プロセス)
テストのレベル
要求一覧
要求分析
&
%
$
'
$
%
#
- 9.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
9
システム
要件
設計
実装
要件定義書
画面仕様書
基本設計書
詳細設計書
ソースコード
!
!
"
#
$
%
#
統
合
$
%
&
要求分析
受
入
#
$
%
ユーザ要求
テスト分析 テスト設計 報告書作成
テスト実行
テスト実装
テスト分析 テスト設計 報告書作成
テスト実行
テスト実装
テスト分析 テスト設計 報告書作成
テスト実行
テスト実装
テスト分析 テスト設計 報告書作成
テスト実行
テスト実装
テストウェア管理
インシデント管理
モニタリングとコントロール
コード解析
開発の作業 開発の成果物 テストの作業(プロセス)
⑦テストウェア管理
⑧インシデント管理
①テスト分析 ②テスト設計 ③テスト実装
⑥テスト結果管理
④コード解析
⑤テスト実行
テストプロセスとテストを支援するツールの種類
&
%
$
'
$
%
#
- 10.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
10
テストの作業 作業を支援するツールの種類
テスト分析 要件管理ツール
テスト設計 状態遷移テストツール
組合せテスト支援ツール(直交表、オールペア)
原因結果グラフツール
動的解析ツール
カバレッジ計測ツール
その他のテスト設計支援ツール
テスト実装 スタブツール
シミュレータ
ラボイメージツール
テストデータジェネレータ
テストケース管理ツール
コード解析 静的解析ツール
構造解析ツール
テスト(自動)実行 ユニットテストツール
キャプチャ/リプレイツール
性能テストツール
セキュリティテストツール
テスト自動実行支援ツール
テストウェア管理 構成管理ツール
テスト結果管理 テスト結果管理/テスト結果レポートツール
インシデント管理 インシデント管理ツール
GUI自動テストツールは
キャプチャ/リプレイツール
に分類される
- 11.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
11
「テストツールまるわかりガイド」
NPO法人ASTER(ソフトウェアテスト技術振興協会)の研究事業のひとつであ
る「テストツールWG」の活動の成果として発表
本冊子の目的
・日本のソフトウェア開発の現場におけるテストツール
の普及と導入推進
・開発現場の若手から管理者まで幅広い層に対してテ
ストツールを活用するための基礎的な情報を提供
本冊子の特徴
・有償/無償ツールを分け隔てることなく、現場で活用
できる多様なテストツールを紹介
・オープンソースのテストツールについては、ユーザの
立場である策定メンバーが代表的なツールを1種ずつ
選定
・市販テストツールについては、企業間の垣根を越え
て多様なツールを知っていただくために、国内の14社
のテストツールベンダ/販社が協力して執筆
- 12.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
GUI自動テストツールの基本
キャプチャ(記録)とリプレイ(再生)
期待結果の登録とコンペア(UFTでいうところの「チェックポイント」機能)
- 13.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
13
キャプチャ(記録)/リプレイ(再生)ツールの仕組み
キーボード/マウス
テスト対象アプリ
OS
イベント
メッセージ
コンピュータ内部
キャプチャ/リプレイ
ツール
記録(キャプチャ)
再生(リプレイ)
再生用スクリプト 期待結果 テストデータ→データ駆動
(記録時に自動生成) (記録時に自動生成) (テスト担当者が用意)
テストデータをスクリプトが読み込みながら再生
⇒データ駆動、キーワード駆動
画面情報(テストオブジェクトモデル)→保守性向上の仕掛け
(ボタン、入力フィールドなど)
記録時に自動生成
ユーザ操作
Run
test cases
Test
results
- 14.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
14
記録(キャプチャ)機能と再生(リプレイ機能)
基本的な操作手順 1 キャプチャ&リプレイ
②テスト対象アプリケーションに
対するテスト手順のオペレーショ
ンを記録する
①記録ボタンをクリックする
③記録した内容に基づき自動的に自動テ
ストのスクリプトが生成される
④再生ボタンをクリックする
- 15.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
15
チェックポイント=期待結果の登録とコンペア
基本的な操作手順 2 期待結果(チェックポイント)
UFTでは、チェックポイントは主に以下の方法がある
・オブジェクトのプロパティ値を比較…標準チェックポイント
・表示画面のビットマップ比較…ビットマップチェックポイント
・画面位置における文字列検証…テキストチェックポイント
・データベースのテーブル検証…データベースチェックポイント
・バイナリファイルの中身を検証…コンテンツチェックポイント
登録するとテキストが表示されるので、
事前にこの値を登録して期待結果とし、
テスト実行した際も同様に表示されるこ
とを確認する
テーブル各セルの表示文字列、ステータスバーの表
示文字列、リストボックスのコンテンツといった、アプリ
ケーションを構成する「オブジェクト」にセットされたプ
ロパティ値を期待結果にする(標準チェックポイント)
- 16.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
16
実行結果の表示
基本的な操作手順 3 テスト結果確認
テストに使ったデータを確認できる
実行結果のサマリが表示される
一行ごとの実行結果がわかる
- 17.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
17
なぜGUI自動テスト実行が必要なのか?
GUI自動テストツールの意義
ユーザがシステム/ソフトウェアを操作したときと同じやりかたで期待したとおりシステ
ム/ソフトウェアが動作していることを確認することができる
• モジュールレベルのテスト自動実行( JUnitなど)では、ユーザが利用するときと同等の確認ができない
– モジュールの戻り値レベルの確認
– 操作命令もGUIが出すであろう命令をモジュールに
直接与えている
• モジュールレベルのテスト自動実行テストでは、テストにて確認したい内容が違う
– テストレベル(ユニットテストやシステムテスト)が必要なのと一緒…「段階的詳細化」
ユーザ操作
モジュールレベル
のテスト自動実行
ユーザと同じ視点で行うテストの自動化ができる
- 18.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
18
どのようなテストに向いているのか?
GUI自動テストツールの意義
回帰テスト
• 既に実施済のテストをもう一度行う場合に向いている
– 機能の欠陥を見つけるというよりも一度テストしたところが思わぬ要因で壊れてしまっていないことの確認
→この種のテストを常に人間が手動でテストをするのはコスト面から非現実的
• 具体例
– データのパターンを変更して同じ操作を繰り返す
ex. 販売サイトにて、ログインするユーザと購入する商品を変更して同じ注文処理を繰り返す
– 一度行ったシステムの基本動作を確認するテストをバージョンアップのたびにすべて実行しなおす
ex. パッケージソフトバージョンアップ直後の動作確認テスト
運用時のポイント
- 19.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
GUI自動テストを効率よくする技術
その1
データ駆動テスト
少ないスクリプト量で沢山テストする技術
- 20.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
20
入力データをパラメータ定義することで、テストケースを作成する
スクリプトは、データテーブルに設定された行数分、自動反復実行する
フライト予約アプリケーション上の
“出発地”、“到着地”がパラメータ
定義されている
スクリプトを実行すると、
データテーブル中のデータ
がアプリケーションに入力
される
基本的な操作手順4 -入力データパラメータ化
- 21.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
21
少ないスクリプト量で沢山テストする技術
データ駆動テストの意義
ユーザの操作をキャプチャしているだけでは、コード量が膨大になる上にメンテナンス
性が低下する
2人の往復チケット予約操作を単純にキャプ
チャすると86行のコード行数になる
操作は一緒なので入力をパラメータ化すれば
23行のコード行数になる
・操作手順が変われば4か所の修正になる
・確認パターン分の行数が必要
・操作手順が変わったときに1か所の修正でOK
・確認パターン追加はデータ行の追加のみでOK
- 22.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
22
テスト実行自動化の効果
飛行機予約システムのフライト検索画面にて、
フライトの検索条件を組み合わせてテストする
際、どの程度テストすればよいか?
手入力でテストを実行
・入力パターンを見ながら間違えないよう入力
・結果を期待値と比較して確認
・結果のエビデンスを取得し保存
→1回のテストの所要時間 4分
自動化すると10回のテストが2分…本当に必
要な数のテストの実行が可能になる
10回やれば40分…時間でテスト量を決めてしまう
品質のリスクを軽減しリリースできる!
- 23.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
23
事例 法人契約/料金システム統合
• 法人系ネットワークサービスにおける重大障害の撲滅
• システムテストやリグレッションテストの自動化
目的
• 機能テスト自動化ツールHP Quick Test Professional software(HP QTP)を適用し、手入力で行っ
ていたテスト作業を自動化
• テスト工程管理ツールHP Quality Center software(HPQC)を導入し、HP QTPの実行プロセスをス
ケジューリング
アプローチ
• テストパターンを、従来の400件から1万5250件(約38倍)に拡充
• 契約1回線あたり20分を要していた手入力によるテストの実行時間を、11秒(約1/109)~ 38秒
(約1/31)へと短縮
• 従来6人日を要していた作業工数を2人日(1/3)へと削減
システム効果
• 法人系ネットワークサービスにおける障害を防止することで、顧客満足度を向上
ビジネス効果
事例
- 24.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
24
テスト設計をしないときにぶつかる壁
飛行機予約システムのフライト検索
画面にて、フライトの検索条件を組
み合わせてテストする際、どの程度
テストすればよいか?
2分で10回もテストできるなら、本当に必
要な数のテスト実行が可能になるが…
・パターンを考えないといけない
また、パターンと操作を分離しないといけない
・何を持ってOKか考えないといけない
・何パターンやればよいのか?
・どうやってOKだと判断すればよいのか?
つまり
- 25.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
25
解決策:テスト設計技術を習得する
テスト分析/テストアーキテクチャ設計技法
FV表(HAYST法)
VSTeP
ゆもつよメソッド
テスト設計技法
デシジョンテーブル
状態遷移テスト
組み合わせテスト技法
• 直交表
• オールペア
ソフトウェアテストシンポジウム(JaSST)のサイトに上記の手法に関する情報が掲載されている
( http://jasst.jp/ )
自動化をきっかけにして組織のテストの質を上げていける
- 26.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
26
直交表の例:因子水準一覧
テストの際に、組み合わせ対象となるオブジェクト(エディットボッ
クス、セレクトリスト、ラジオボタン、チェックボックスなどの入力に
関するオブジェクト)を因子、水準に整理したもの
Type RoundTrip OneWay
Passengers 1 2 3 4
Departing from Acapulco Francfult London NewYork Paris Portland 他4つ
On (Month) Jan Feb Mar Apr May Jun 他7つ
On (date) 1 2 3 4 5 6 他25
Arriving In Acapulco Francfult London NewYork Paris Portland 他4つ
Returning (month) Jan Feb Mar Apr May Jun 他7つ
Returning (date) 1 2 3 4 5 6 他25
Service Class Economy Business First
Airline No preference Blue Skies Unified Pangea
<因子> <水準>
※これらの水準を総当たりで組み合わせると132,848,640パターン
- 27.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
27
直交表の例:完成した直交表
出力日 $%&'()*+
製品()*+
./00/1201 (+0+. (+3+0
45+ 自動実行 :;<結果 ?@ ABC) DEFF)GH)*F I)CE*JKGHLM*5N
OGL
PQ5GJRS
OGL
PTEJ)S
U**KVKGHLWG
X)JY*GKGHL
PN5GJRS
X)JY*GKGHL
ZTEJ)[
)*VK])L^_EFF UK*_KG)
0 ` ` X5YJA*KC 0 U]ECY_]5 aEG 0 U]ECY_]5 aEG 0 b]5G5NB 45LC*)M)*)G])
1 ` ` X5YJA*KC 0 U]ECY_]5 c)d 3 DE*KF QEB e fYFKG)FF f_Y)LgK)F
. ` ` OG)hEB 1 U]ECY_]5 QE* 00 D5*J_EGT aYG 02 b]5G5NB 45LC*)M)*)G])
i ` ` OG)hEB 1 U]ECY_]5 UC* . c*EG]MY_J c)d 1 fYFKG)FF f_Y)LgK)F
j ` ` OG)hEB . U]ECY_]5 QEB 0. EGLc*EG]KF]5
aY_ 01 cK*FJ kGKMK)T
l ` ` OG)hEB . U]ECY_]5 aYG j m5GT5G QE* i b]5G5NB DEGH)E
n ` ` X5YJA*KC i U]ECY_]5 aY_ n 4)op5*g UC* l cK*FJ kGKMK)T
e ` ` X5YJA*KC i U]ECY_]5 UYH 0j )EJJ_) UYH 0i b]5G5NB DEGH)E
3 ` ` X5YJA*KC 1 U]ECY_]5 )C 1. c*EG]MY_J UC* 11 fYFKG)FF 45LC*)M)*)G])
02 ` ` X5YJA*KC 1 U]ECY_]5 O]J .0 D5*J_EGT I)] .2 b]5G5NB f_Y)LgK)F
00 ` ` OG)hEB 0 U]ECY_]5 45V 13 DE*KF 45V 1e fYFKG)FF 45LC*)M)*)G])
01 ` ` OG)hEB 0 U]ECY_]5 I)] 10 U]ECY_]5 QE* 12 b]5G5NB f_Y)LgK)F
0. ` ` OG)hEB i U]ECY_]5 aEG 1n 4)op5*g O]J 1l b]5G5NB kGKMK)T
0i ` ` OG)hEB i U]ECY_]5 c)d 03 qY*K]R c)d 0e cK*FJ DEGH)E
0j ` ` X5YJA*KC . U]ECY_]5 QE* 0n BTG)B aEG 0l b]5G5NB kGKMK)T
0l ` ` X5YJA*KC . U]ECY_]5 UC* 1j m5GT5G )C 1i cK*FJ DEGH)E
0n ` ` OG)hEB . c*EG]MY_J aEG i D5*J_EGT UC* 03 b]5G5NB DEGH)E
0e ` ` OG)hEB . c*EG]MY_J c)d 01 c*EG]MY_J UYH 1n cK*FJ kGKMK)T
03 ` ` X5YJA*KC i c*EG]MY_J QE* 02 U]ECY_]5 aY_ 1j b]5G5NB DEGH)E
12 ` ` X5YJA*KC i c*EG]MY_J UC* 1 DE*KF QE* 0n cK*FJ kGKMK)T
10 ` ` X5YJA*KC 0 c*EG]MY_J QEB 0l 4)op5*g aYG .0 fYFKG)FF f_Y)LgK)F
11 ` ` X5YJA*KC 0 c*EG]MY_J aYG e )EJJ_) c)d 1. b]5G5NB 45LC*)M)*)G])
1. ` ` OG)hEB 1 c*EG]MY_J aY_ l EGLc*EG]KF]5
aEG 10 fYFKG)FF f_Y)LgK)F
1i ` ` OG)hEB 1 c*EG]MY_J UYH 0i m5GT5G QEB 13 b]5G5NB 45LC*)M)*)G])
1j ` ` OG)hEB i c*EG]MY_J )C 11 DE*KF aEG j cK*FJ DEGH)E
1l ` ` OG)hEB i c*EG]MY_J O]J .2 U]ECY_]5 )C 0. b]5G5NB kGKMK)T
1n ` ` X5YJA*KC . c*EG]MY_J 45V .0 c*EG]MY_J O]J 0j cK*FJ DEGH)E
1e ` ` X5YJA*KC . c*EG]MY_J I)] 1i D5*J_EGT c)d n b]5G5NB kGKMK)T
13 ` ` X5YJA*KC 1 c*EG]MY_J aEG 1l BTG)B 45V 3 b]5G5NB f_Y)LgK)F
.
.
.
256パターンとなる
- 28.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
28
[参考]モデルベースドテスト
テストモデル
(ex.直交表)
テストケース
(キーワードレベルでの
テストスクリプト)
テストスクリプト
&
データテーブル
テスト
実行結果
テスト実行結果
(判定済み)
テスト
分析
テスト
設計
生成
生成
テスト
自動実行
テスト
結果判定
HP ALM/QC 11
HP QTP 11
要件
(テスト要件)
要求
スクリプト
ジェネレータ
要求の分析からテスト実行まで一気通貫させる技術
テスト設計
ツール
- 29.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
GUI自動テストを効率よくする技術
その2
キーワード駆動テスト
スクリプト量を減らす上に、スクリプトを見やすくするた
めの技術
- 30.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
30
スクリプト量を減らす上に、スクリプトを見やすくするための技術
キーワード駆動テストの意義
データ駆動を進化させ、データ以外のものもパラメータ化すると、さらにコード量を減らせる
うえに、ITに精通していない人でもスクリプトが読みやすく/作りやすくなる
キャプチャしてできたスクリプト
同じスクリプトをキーワードとして表現すること
で、だれもが読みやすくなる
データ(値)だけでなく、
操作や項目もパラメータ
化できる
- 31.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
31
データ駆動とキーワード駆動のパラメータ化の違い
データ駆動テスト
入力値をスプレッドシートから読み込むようにすることで、スクリプトの使い回しを可能にする
キーワード駆動テスト
ボタン押下など実行動作をキーワードにしておくことで、スクリプトの使いまわしを可能にする
列A 列B 列C
山田 pass1 5
田中 pass2 5
-- ----- ----
editbox.ログインユーザ名.input(列A)
editbox.パスワード名.input(列B)
Button.実行ボタンclick
-- ---- ---- ---
editbox.冊数入力.input(列c)
Radiobutton.種別1(ON)
---- -- -- --- ---
列A 列B 列C 列D 列E
山田 pass1 5 Click ON
田中 pass2 5 OFF
-- ----- ----
editbox.ログインユーザ名.input(列A)
editbox.パスワード名.input(列B)
Button.実行ボタン.列D
-- ---- ---- ---
editbox.冊数入力.input(列c)
Radiobutton.種別1(列E)
---- -- -- --- ---
何も押さない
スクリプト言語
スクリプト言語
テストデータ
テストデータ
- 32.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
GUI自動テストを効率よくする技術
その3
テストオブジェクトモデル
/オブジェクトマップ
スクリプトのメンテナンス性を向上させる技術…UFTのオ
ブジェクトマップ機能である「オブジェクトリポジトリ」を
ベースに紹介
- 33.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
33
画面認識の技術
キャプチャのメカニズム(UFTの例)
通常の記録
• アプリケーション内のオブジェクトと、オブジェクトで実行される操作を記録する。
• UFTではこのモードが標準設定であり、UFTのテスト・オブジェクト・モデルを利用して、画面上の位置に関係な
くアプリケーション内のオブジェクトを認識する。
アナログ記録
• 画面またはアプリケーション・ウィンドウに対して実行したマウス操作やキーボード操作が正確に記録される。
このモードでは、マウスの動きが記録される。
– マウスのドラッグで絵をかくなど、すべての操作を記録
低レベル記録
• QuickTest がオブジェクトまたは操作を識別するかどうかに関わらず、オブジェクトの正確な座標を記録する。
このモードでは、マウスの動きは記録されない。
– ツールでは認識できないものをWindowsレベルで記録
– ボタン操作だけの記録
Insight記録
• 最近になり、よく使われるようになってきた画像認識による画面の認識方法である。次章にて解説する。
- 34.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
34
画面キャプチャのメカニズムの進化
座標軸
(アナロ
グ記録)
キー操作
(低レベル
記録)
オブジェク
ト認識
(通常の
記録)
画像認識
(Insight
記録)
信頼性、メンテナンス性向上
<信頼性の課題>
再生時に違うものを操作して
しまう可能性
<メンテナンス性の課題>
ちょっとした変化でもスクリプト
を修正しなければならない
可能性
- 35.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
35
テストオブジェクトモデルの作成
テストオブジェクトの識別
キャプチャ対象の構成要素
一つ一つを「オブジェクト」と呼ぶ。
オブジェクトのプロパティ
値をキャプチャし、
一意に識別できる最低限
の情報(テストオブジェクト
モデル)をオブジェクト
マップに登録する
オブジェクトマップ(リポジトリ)
(テストオブジェクトモデルの保管庫)
- 36.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
36
オブジェクトリポジトリは、スクリプトのメンテナンス性を向上させる技術
オブジェクトマップ(オブジェクトリポジトリ)の意義
テスト対象の仕様変更に対して、スクリプトの修正を最小限に抑えることができる
• 一意に識別するプロパティとは関係ない変更は考慮しなくてよい(位置、サイズなど)
• 一意に識別するプロパティの場合は、オブジェクトリポジトリだけ変更すればスクリプトすべてに反映される
オブジェクトリポジトリ
ログイン.OK.クリック
------
----
----
-------------------
-------
ログイン.OK.クリック
------- -----
--- -----------
--------------- --------
----- -----
<OK>
text OK
class ボタン
GO
位置は左端に変更
ラベル名は「GO」に変更
オブジェクトリポジトリ
ログイン.ログインをサブミットするボタ
ン.クリック
------
----
----
-------------------
-------
ログイン.ログインをサブミットす
るボタン.クリック
------- -----
--- -----------
--------------- --------
----- -----
<ログインをサブミットするボタン>
text GO
class ボタン
自動的に反映
自動的に反映
- 37.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
37
キーワード駆動テストでスクリプト行数を減らすための方法
オブジェクトのパラメータ化
ラジオボタンは別オブジェクト
であるが一意に識別する属性
である「text」をパラメータ化す
ることで1行のスクリプトで表現
可能になった
- 38.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
GUI自動テストの最近の傾向
画像認識オブジェクト
UFTの新機能であるInsightをベースに紹介
- 39.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
39
GUIの最新技術に追随するための解決策である「画像認識オブジェクト」
オブジェクト認識の課題と解決策
オブジェクト認識は、GUIの最新技術にツールが常に対応していないと識別ができない
画像(イメージ)認識オブジェクトにて解決
UFTの場合、以下のような課題がある
・アドインがない、バージョンが違うGUI技術のオブジェクト
をキャプチャできない(Javaのバージョンの相違など)
・3rdパーティ製のコンポーネントをキャプチャ
できないことがある(inputmanなど)
・エミュレータ画面のオブジェクトをキャプチャできない
(他OS、他デバイス…スマホなど)
※「通常の記録」以外は可能…だが本来の効果を発揮できない
UFT Insightは、以下のような課題解決のために追加された
・FlashなどアドインがないGUI技術のオブジェクトをキャプチャ
できる
・他OS、他デバイス…スマホなどのエミュレーション画面でオブ
ジェクト識別ができる
Youtub機能紹介 http://www.youtube.com/watch?v=w8BEzdjw79s
Angry Bird http://www.youtube.com/watch?v=HuSi8RB9Op0
- 40.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
40
既存の記録エンジンと併用する事でテスト対応アプリケーション範囲を拡大
Insight (イメージベース自動化エンジン)
– m•$]ÄsÅÆ'[]^_:C./Ç
È’••CN0ˆ‰ÉÊË@Ì$Í$Î
Ï5RÐ'1–
– ²»Á3ÑÒ[]^_:ÇÈNÓRSN
u@Ô[]^_:}Õ./Ö×&_€f:
ØNRSÙ$Î'Ú‰Û§/ÜÝ’••
C‘ÞB
– •ß|NÑÒ[]^_:ÇÈNÓRS
Nu@Ô[]^_:}Õ./Q=‘Þ
B}@‰0X5¯9&:à$&3áâ'
ãä••C‘ÞB
– m•$]ÄsÅÆ'ÜÝ’••CNˆ‰9&
h$}C~/ÉÊË@[å+$(,-‘
ÞB}@‰0Uæa'‡M{ç••C‘
ÞB
Insight
ABDE
èw
- 41.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
41
ピンクのシャツをカートにいれる!
Insight 機能紹介1/8
Insight
通常の記録では、
オブジェクトがすべて同じで
順序識別子で認識
ピンクのシャツが別の場
所に表示された場合は正
しく再生できない
新エンジン「Insight」により
イメージベースでクリックなど
の操作指定が可能に!
- 42.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
42
他の記録モードと同じスクリプト内で併用可能
Insight 機能紹介2/8
Insight
Insight記録と標準設定記
録、アナログ記録などを1
スクリプト内で併用可能
- 43.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
43
標準オブジェクトと同様の方法でInsightオブジェクトを管理
Insight 機能紹介3/8
Insight
標準オブジェクトと同様に
Insightオブジェクトも
オブジェクトレポジトリで管
理
記録と再生時の類似度
「similarity」を設定すること
で解像度や部分的な変更
があるイメージでも対応可
能
(標準値は80%)
レポジトリ内では、従来の標準
オブジェクトと同様の管理方法
で
Insightオブジェクトを管理
- 44.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
44
Insightオブジェクトのイメージの変更とコントロールの位置を相対的に設定可能
Insight 機能紹介4/8
Insight
記録時のイメージオブジェクトは
記録後に編集が可能、
「テストオブジェクトの画像を変
更」
ウィンドウで画像と操作位置を
変更することが可能
認識したイメージオブジェクト
(例では「OK」)から相対して「X」
の位置を操作できるように
コントロール座標の設定が可能
- 45.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
45
記録後にイメージの撮り直しで、画面変更時のスクリプト保守に対応
Insight 機能紹介5/8
Insight
記録した時と表示される
イメージ(画像)が変わった
場合は、「スナップショット機能」
で撮り直しが可能
取り直しモードで、
対象となるイメージが
表示されている状態で
左上位置>右下位置
の順でクリック
- 46.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
46
同じイメージの識別方法(1/3)
Insight 機能紹介6/8
Insight
この下の☆を
認識させたい
Insight記録で記録後に対象オ
ブジェクトを強調表示させる
と・・・
同じイメージとして認識されるも
のが1つ以上あるため警告表示
- 47.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
47
同じイメージの識別方法(2/3)
Insight 機能紹介7/8
Insight
順序識別子を利用することも
できるが最適な方法は?
ビジュアル識別子の利用で
この6角形をInsight
オブジェクトとして追加する
オブジェクト追加時は
自動と手動を選択可能
- 48.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
48
同じイメージの識別方法(3/3)
Insight 機能紹介8/8
Insight
「☆」オブジェクトにビジュ
アル識別子を追加して、追
加した6角形の位置を設定
(6角形は2つ目の☆の上
にあるのでこの例の設定)
設定後に再度強調表示すれば
正しく選択表示
- 49.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
まとめ
- 50.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
50
まとめ
テストとテストツール
• テストツールといってもいろいろあることを知ろう
GUI自動テストツールの基本
• キャプチャリプレイツールの基本を知ろう
• なぜキャプチャリプレイツールが必要かを知ろう
GUI自動テストを効率よくする技術
• GUI自動テストの自動化の効果を知ろう
• GUI自動テストを行うにはテスト設計も一緒に考えたほうがよいことを知ろう
• 自動テストを成功させるためのメンテナンス性向上の仕掛けを知ろう
GUI自動テストの最近の傾向
• 画像認識オブジェクトがどういうものかを知ろう
※ 今日触れなかったテーマ
– GUI自動テストを現場へツールを導入するときの壁(日本と欧米の違い)
– GUI自動テストのソフトウェア開発へのインパクト(コスト?品質?納期?)
- 51.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
51
参考文献
“テストツール丸わかりガイド”, ASTER テストツールWG
– http://aster.or.jp/business/testtool_wg/pdf/Testtool_beginningGuide_Version1.0.0.pdf
“ISTQBテスト技術者資格制度Foundation Levelシラバス日本語版 Version2011.J02”,
International Software Testing Qualifications Board(翻訳:Japan Software Testing
Qualifications Board)
– http://jstqb.jp/syllabus.html
“UFTユーザマニュアル”,日本ヒューレット・パッカード
“TABOK(test automation body of knowledge)”,ATI
“ソフトウェアテスト技法ドリル”,秋山浩一
“Practical Model-based Testing” ,Mark Utting & Bruno Legend
- 52.
© Copyright 2012Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Thankyou