モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
Upcoming SlideShare
Loading in...5
×
 

モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013

on

  • 11,832 views

システムテスト自動化カンファレンスの講演資料

システムテスト自動化カンファレンスの講演資料

Statistics

Views

Total Views
11,832
Slideshare-icon Views on SlideShare
3,136
Embed Views
8,696

Actions

Likes
22
Downloads
63
Comments
0

10 Embeds 8,696

https://mj89sp3sau2k7lj1eg3k40hkeppguj6j-a-sites-opensocial.googleusercontent.com 4689
http://gihyo.jp 1935
http://forza.cocolog-nifty.com 1925
http://app.m-cocolog.jp 105
https://twitter.com 29
http://49.212.34.189 7
http://webcache.googleusercontent.com 3
https://www.chatwork.com 1
http://s.deeeki.com 1
http://192.168.33.10 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013 モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013 Presentation Transcript

    • + モデルベースドテスト入門 -テスト詳細設計を自動化しよう2013年12月1日(日) システムテスト自動化カンファレンス テスト自動化研究会 朱峰 錦司
    • + はじめに システムテスト自動化カンファレンス2013 2013/12/01
    • + 3 自己紹介  朱峰錦司(あけみねきんじ)@kjstylepp  某豊洲のSIer勤務 全社向けテストプロセスの策定・普及展開  上記プロセスを実現したツールの開発・普及展開  その他対外活動    書籍:革新を続けるソフトウェア生産技術 Web連載:実践!テスト自動化の勘所  http://itpro.nikkeibp.co.jp/article/COLUMN/20120919/423524/  WACATE実行委員  年2回、若手向けテスト勉強合宿を企画  テスト自動化研究会 システムテスト自動化カンファレンス2013 2013/12/01
    • + 4 (宣伝)WACATE 2013冬  といっても申し込み終わってますが… 日時 場所 2013/12/14〜15(1泊2日) 費用 〜35歳:22,000円 36歳〜:25,000円 基調講 演 早稲田大学 鷲崎弘宜様 マホロバマインズ三浦 (神奈川県 京浜急行三浦海岸駅) 「ソフトウェア品質の知識体系とオープン・クロー ズ化に向けて - SQuBOK を中心とした各種の知識体 系と SEMAT のメソッドアーキテクチャ -」 関心のある方はぜひ2014年6月回に! @WACATE_PRをフォロー! システムテスト自動化カンファレンス2013 2013/12/01
    • + 5 本日の講演概要  「テスト自動化」って、つまりは「テスト(実行 の)自動化」ってことでしょ? テスト詳細設計も(頑張れば)自動化できます  どこからテストケースが湧いて出てくるの? 設計モデルから作ります  ほんとにそんなことできるの? デモも交えて紹介します システムテスト自動化カンファレンス2013 2013/12/01
    • + 6 お品書き 1. テスト詳細設計とは 2. モデルとは 3. モデルベースドテストとは 4. モデルベースドテストの適用例とツールデモ 5. 導入のポイント システムテスト自動化カンファレンス2013 2013/12/01
    • + 1. テスト詳細設計とは システムテスト自動化カンファレンス2013 2013/12/01
    • + 8 1.1 テストの作業  JSTQBでの定義  テストに関する技術解説の世界標準 テスト自動化というと  テスト開発に関するプロセスを抜粋 ここの話が多い  管理に関するものは除外 テスト 分析 テスト 設計 テスト 実装 テスト 実行 終了基準 の評価と レポート  Test.SSFでの定義(開発技術のみ)  日本におけるテストスキルを標準化するための枠組み  テスト開発技術部分の抜粋 テスト 要求分析 テストアー キテクチャ 設計 システムテスト自動化カンファレンス2013 テスト 詳細設計 テスト 実装 テスト 実行 テスト 報告 テスト 評価 2013/12/01
    • + 9 1.2 テスト詳細設計の作業 1. テストアーキテクチャ設計に基づくテスト対象 の仕様の分析 2. テスト実施条件の定義 3. テストカバレッジの設計 4. テスト条件(確認項目)の設計 5. テストデータの設計 6. テストハーネスの設計 システムテスト自動化カンファレンス2013 2013/12/01
    • + 10 1.3 テスト詳細設計の自動化  要は…  決まったテストの方針にもとづいてテスト対象の仕様か らテストケースを作る作業  「方針」や「仕様」がかっちり決まっていれば、 自動でテストケース作れそうですよね?  脱・刺身タンポポ! モデルベースドテストがひとつのアプローチ システムテスト自動化カンファレンス2013 2013/12/01
    • + 2. モデルとは システムテスト自動化カンファレンス2013 2013/12/01
    • + 12 2.1 モデル  開発対象のシステム(=テスト対象)の振る舞い や性質を特定の観点で抽象化して表現したもの  ひとつのモデルで全ての仕様を表現することは不可能 システムテスト自動化カンファレンス2013 2013/12/01
    • + 13 2.2 モデルの種類  様々な観点によるモデリング手法が存在  状態遷移モデル  論理モデル 本日は主にこの 辺りを例にする  組合せモデル  フローモデル  代数モデル  統計モデル…etc システムテスト自動化カンファレンス2013 2013/12/01
    • + 14 2.2.1 状態遷移モデル  システムの状態の変化に着目してシステムの振る 舞いをモデリング 例 システムテスト自動化カンファレンス2013 2013/12/01
    • + 15 2.2.2 論理モデル  システムの構成要素間の論理関係に着目してシス テムの複雑なロジックをモデリング 例 システムテスト自動化カンファレンス2013 2013/12/01
    • + 16 2.2.3 組合せモデル  システムの構成要素のバリエーションや制約を列 挙して構成要素間の組合せ元をモデリング 例  制約   if 性別=男性 then 女性向けメニュー=なし if 受信月=五月 then 病院!=豊洲病院 システムテスト自動化カンファレンス2013 2013/12/01
    • + 17 2.3 モデルを扱う際の注意点  システム特性に応じて適切なモデリング手法を選 択する必要がある  文法/メタモデルをしっかり決めて記述すること が望ましい  誰かが適当に書いた絵ではモデルとしての価値が低い  モデルベースドテストを導入する際は必須  とはいえ基本的にツールに縛られるので問題はない システムテスト自動化カンファレンス2013 2013/12/01
    • + 18 (参考)state machineのメタモデル 出典:UML Superstructure Specification, v2.4.1 システムテスト自動化カンファレンス2013 2013/12/01
    • + 3. モデルベースドテストとは システムテスト自動化カンファレンス2013 2013/12/01
    • + 20 3.1 モデルベースドテスト  モデルを活用してテスト成果物を作成する技術  主なテストベースはソースコードではなくモデルなので ブラックテスト技法に分類される モデル 生 成 抽象化された テスト システムテスト自動化カンファレンス2013 詳細化・開発 ここのやり方を 定義して自動化 詳細化・開発 実システム 実 行 実行可能な テスト 2013/12/01
    • + 21 3.2 テストの抽象表現(1/2)  モデルは抽象的な表現であるため、そこから生成 されるテストの成果物も抽象的なものになる  テストの成果物にも様々な要素が存在  事前条件  入力値  実施する操作  期待結果  テストデータ システムテスト自動化カンファレンス2013 2013/12/01
    • + 22 3.2 テストの抽象表現(2/2)  テストのモデリングのための規格も存在  UML Testing  テスト成果物を記述するためのメタモデルをUMLで記述  Testing  Profile and Test Control Notation version 3 テスト成果物を記述するためのDSL  UTPよりかなり細かい  既存のモデルベースドテストツールは独自のモデ ルを定義していることが多い  本日は厳密な規格ではなく、この後デモをするツールが 利用しているモデルを紹介 システムテスト自動化カンファレンス2013 2013/12/01
    • + 23 (参考)UML Testing Profile  入手先  http://www.omg.org/spec/  以下の4要素の構造を規定  Test Architecture  Test Behavior  Test Data  Test Management 出典:UML Testing Profile (UTP), v1.2 システムテスト自動化カンファレンス2013 2013/12/01
    • + (参考)Testing and Test Control Notation version 3 24  入手先  http://www.ttcn-3.org/index.php/downloads/standards  利用状況  ETSIにおけるIPv6やWiMAXの適合テストの実装  欧州の通信機器メーカーでの利用が多い システムテスト自動化カンファレンス2013 2013/12/01
    • + 25 3.2.1 状態遷移列によるテストシナリオ  1つ以上の状態遷移の列をテストシナリオとして 表現するモデル 例  連続する2遷移のパターンによるテストシナリオ 経路番 号 状態 遷移 状態 遷移 状態 0 商品選択不可 貨幣投入 商品選択可能 商品選択 商品搬出中 1 商品選択可能 商品選択 商品搬出中 搬出完了 [懸賞購入] 商品選択不可 2 商品選択可能 商品選択 商品搬出中 搬出完了 [懸賞購入でない] 懸賞中 3 商品搬出中 搬出完了 [懸賞購入でない] 懸賞中 懸賞終了 [落選] 商品選択不可 4 商品搬出中 搬出完了 [懸賞購入] 商品選択不可 貨幣投入 商品選択可能 5 商品搬出中 搬出完了 [懸賞購入でない] 懸賞中 懸賞終了 [当選] 懸賞当選 6 懸賞中 懸賞終了 [落選] 商品選択不可 貨幣投入 商品選択可能 7 懸賞中 懸賞終了 [当選] 懸賞当選 商品選択 商品搬出中 8 懸賞当選 商品選択 商品搬出中 搬出完了 [懸賞購入] 商品選択不可 9 懸賞当選 商品選択 商品搬出中 搬出完了 [懸賞購入でない] 懸賞中 システムテスト自動化カンファレンス2013 2013/12/01
    • + 3.2.2 論理パターンによるテストシナリオ 26  デシジョンテーブルのルールをテストシナリオと して表現するモデル 例 システムテスト自動化カンファレンス2013 2013/12/01
    • + 27 3.2.3 組合せパターンによるテスト条件  システム構成要素の組合せそのものをテスト条件 として表現するモデル 例 システムテスト自動化カンファレンス2013 2013/12/01
    • + 28 3.3 モデルベースドテストの注意点  一般的に従来よりもテストパターンが多く出る  網羅型の技法にもとづくものが多いため  次章で解説  適用後の過不足調整が必要  実行可能なテストにするためには詳細化が必要  入力値の決定  事前条件の決定  事後条件の決定…etc システムテスト自動化カンファレンス2013 2013/12/01
    • + 4. モデルベースドテストの 適用例とツールデモ システムテスト自動化カンファレンス2013 2013/12/01
    • + 4.1 モデルベースドテストの適用プロセス 30 要件定義 設計 モデルの種類の決定 モデルの記述 テストモデルの種類 の決定 テスト設計技法を 活用することが多い テスト 詳細設計 モデルの変換方針 の決定 モデルの修正 必要に応じて実施 (ない場合は新たに作成) テストモデルの生成 テスト 実装 テストモデルの修正 テストモデルの詳細化 システムテスト自動化カンファレンス2013 過不足への対応 2013/12/01
    • + 31 4.2 例で活用するテスト設計技法  利用するモデル/テストモデルに応じて活用する テスト設計技法は異なる モデル テストモデル テスト設計技法 状態遷移モデル 状態遷移列による テストシナリオ 状態遷移テスト 論理モデル 論理パターンによる テストシナリオ デシジョンテーブルテスト 組合せモデル 組合せパターンによる All-pair法 テスト条件 システムテスト自動化カンファレンス2013 2013/12/01
    • + 32 4.3 状態遷移テストの適用例(1/2)  モデルの変換方針  1スイッチカバレッジを100%にする  状態遷移モデルに含まれる3状態間の遷移のパターンがすべてテ ストシナリオとして抽出されているかどうかを評価する基準 A B (参考)0スイッチの場合 1. 2. 3. 4. A -> B B -> C C -> C C -> B システムテスト自動化カンファレンス2013 C 1. 2. 3. 4. 5. 6. A -> B -> C B -> C -> C B -> C -> B C -> C -> C C -> C -> B C -> B -> C 2013/12/01
    • + 33 4.3 状態遷移テストの適用例(2/2)  astah*品質スイートの活用  モデリングツールastah* professionalの状態遷移テスト (もできる)プラグイン  プラグイン自体は無償だが、有償のastah*ツールが必要 システムテスト自動化カンファレンス2013 2013/12/01
    • + 4.4 デシジョンテーブルテストの適用例(1/2) 34  モデルの変換方針 割愛 システムテスト自動化カンファレンス2013 2013/12/01
    • + 4.4 デシジョンテーブルテストの適用例(2/2) 35  CEGTestの活用  原因結果グラフの記述/デシジョンテーブルへの変換が 可能なWebアプリケーション  資材をダウンロードしてローカルでも利用可能  無償で利用可能 システムテスト自動化カンファレンス2013 2013/12/01
    • + 36 4.5 組合せテストの適用例(1/2)  モデルの変換方針  2因子間の組合せ網羅率を100%にする  因 子 All-pair法や直交表を用いるのが一般的 水準 1 a, b, c 2 27通り -> 9通り α, β, γ 3 1 a a a b b b c c c 2 α β γ α β γ α β γ 3 A B C C A B B C A A, B, C システムテスト自動化カンファレンス2013 2013/12/01
    • + 37 4.5 組合せテストの適用例(2/2)  PICTMasterの活用  Excelマクロとして動作するAll-pair法にもとづいた組合 せパターン生成ツール  パターンの生成エンジンとして別途PICTが必要  Windowsのみで動作  PICT/PICTMasterともに無償 システムテスト自動化カンファレンス2013 2013/12/01
    • + 38 (参考)テストツールまるわかりガイド  NPO法人ASTERから提供されているテスト自動 化ツールの辞書的ドキュメント  テスト設計自動化ツールの紹介もある  状態遷移テストツール  組合せテスト支援ツール  原因結果グラフツール  動的解析ツール  カバレッジ計測ツール  その他のテスト設計支援ツール  「モデルベースドテスト」はここで言及される システムテスト自動化カンファレンス2013 2013/12/01
    • + 5. 導入のポイント システムテスト自動化カンファレンス2013 2013/12/01
    • + 40 5.1 理想と現実 現実 理想 モデルの記述 要件定義 設計 要件定義 設計 モデルの種類の決定 書いてくれ ない…orz モデル/テストモデルの 種類の決定 モデルの変換方針 の決定 モデルの変換方針 の決定 モデルの修正 テスト 詳細設計 テスト 詳細設計 テストモデルの種類 の決定 モデルの記述 テストモデルの生成 テストモデルの修正 テストモデルの修正 テストモデルの詳細化 システムテスト自動化カンファレンス2013 テスト 実装 テスト 実装 テストモデルの生成 テストモデルの詳細化 2013/12/01
    • + 41 5.2 モデルベースドテストのメリット  設計モデルの記述によるメリット  テスト対象の仕様に対する理解促進  形式的記述による仕様漏れ等の発見促進  自動化によるメリット  テスト詳細設計のミス防止  テスト詳細設計の工数削減 とはいえモデル記述の 増加分もある システムテスト自動化カンファレンス2013 2013/12/01
    • + 42 5.3 必要なスキル  モデルベースドテストのスコープ  モデル化する意味のある箇所  1本道のバッチ処理の流れをUMLで書いてうれしいか? 見極めにはモデリングスキルが必要  学習方法  UMLの書籍  自身の業務の中での実践 システムテスト自動化カンファレンス2013 2013/12/01
    • + まとめ システムテスト自動化カンファレンス2013 2013/12/01
    • + 44 モデルベースドテスト(1/2)  モデルから抽象化されたテストを(自動)生成 モデル 生 成 抽象化された テスト 詳細化・開発 ここのやり方を 定義して自動化 詳細化・開発 実システム 実 行 実行可能な テスト  テスト詳細設計の自動化が実現可能 システムテスト自動化カンファレンス2013 2013/12/01
    • + 45 モデルベースドテスト(2/2)  何がうれしいの?  テスト対象の理解が深まる  テスト詳細設計のミス防止/工数削減につながる  かもしれない  誰がモデルを書く?  (仕方ないので)テストエンジニアでやりましょう  どこをスコープにする?  モデリング能力を養って見極めていこう  難しいんでしょ?  ツールはけっこうお手軽です システムテスト自動化カンファレンス2013 2013/12/01
    • + 46 モデルベースドテストの今後  現状の課題解決  モデリング手法の使いどころの整理  自動化ツールの適用可能範囲(サポートするモデリング 手法)の拡大  キーワード駆動テストとの融合 抽象化された テスト 詳細化・開発 実行可能な テスト ここの部分をKDTの仕組みが カバーしてくれる、かも? システムテスト自動化カンファレンス2013 2013/12/01
    • + 47 (参考)キーワード駆動テスト  決められた「キーワード」を用いてスプレッド シート感覚でテストシナリオを記述 出典:ITPro 実践!テスト自動化の勘所 キーワード駆動テストによるGUIテストの効率化 システムテスト自動化カンファレンス2013 2013/12/01
    • + まずはモデリングから!