システムテスト自動化プログラムにおける「操作技術」と「シナリオ」の分割

Similar documents
総合評価点算定基準(簡易型建築・電気・管工事)

検 討 検 討 の 進 め 方 検 討 状 況 簡 易 収 支 の 世 帯 からサンプリング 世 帯 名 作 成 事 務 の 廃 止 4 5 必 要 な 世 帯 数 の 確 保 が 可 能 か 簡 易 収 支 を 実 施 している 民 間 事 業 者 との 連 絡 等 に 伴 う 事 務 の 複 雑

スライド 1

Microsoft PowerPoint - 報告書(概要).ppt

質 問 票 ( 様 式 3) 質 問 番 号 62-1 質 問 内 容 鑑 定 評 価 依 頼 先 は 千 葉 県 などは 入 札 制 度 にしているが 神 奈 川 県 は 入 札 なのか?または 随 契 なのか?その 理 由 は? 地 価 調 査 業 務 は 単 にそれぞれの 地 点 の 鑑 定

PowerPoint プレゼンテーション

預 金 を 確 保 しつつ 資 金 調 達 手 段 も 確 保 する 収 益 性 を 示 す 指 標 として 営 業 利 益 率 を 採 用 し 営 業 利 益 率 の 目 安 となる 数 値 を 公 表 する 株 主 の 皆 様 への 還 元 については 持 続 的 な 成 長 による 配 当 可

<4D F736F F D AC90D1955D92E CC82CC895E DD8C D2816A2E646F63>

Microsoft Word - 目次.doc

経験発表

<819A955D89BF92B28F BC690ED97AA8EBA81418FA48BC682CC8A8890AB89BB816A32322E786C7378>

第4回税制調査会 総4-1

Sea-NACCS 利用者研修 【通関編】

<4D F736F F D208ED089EF95DB8CAF89C193FC8FF38BB CC8EC091D492B28DB88C8B89CA82C982C282A282C42E646F63>

小山市保育所整備計画

Microsoft PowerPoint _リビジョンアップ案内_最終.pptx

4 参 加 資 格 要 件 本 提 案 への 参 加 予 定 者 は 以 下 の 条 件 を 全 て 満 たすこと 1 地 方 自 治 法 施 行 令 ( 昭 和 22 年 政 令 第 16 号 ) 第 167 条 の4 第 1 項 各 号 の 規 定 に 該 当 しない 者 であること 2 会 社

<4D F736F F D E598BC68A8897CD82CC8DC490B68B7982D18E598BC68A8893AE82CC8A C98AD682B782E993C195CA915B C98AEE82C382AD936F985E96C68B9690C582CC93C197E1915B927582CC898492B75F8E96914F955D89BF8F915F2E646F6


その 他 事 業 推 進 体 制 平 成 20 年 3 月 26 日 に 石 垣 島 国 営 土 地 改 良 事 業 推 進 協 議 会 を 設 立 し 事 業 を 推 進 ( 構 成 : 石 垣 市 石 垣 市 議 会 石 垣 島 土 地 改 良 区 石 垣 市 農 業 委 員 会 沖 縄 県 農

1 林 地 台 帳 整 備 マニュアル( 案 )について 林 地 台 帳 整 備 マニュアル( 案 )の 構 成 構 成 記 載 内 容 第 1 章 はじめに 本 マニュアルの 目 的 記 載 内 容 について 説 明 しています 第 2 章 第 3 章 第 4 章 第 5 章 第 6 章 林 地

6 構 造 等 コンクリートブロック 造 平 屋 建 て4 戸 長 屋 16 棟 64 戸 建 築 年 1 戸 当 床 面 積 棟 数 住 戸 改 善 後 床 面 積 昭 和 42 年 36.00m m2 昭 和 43 年 36.50m m2 昭 和 44 年 36.

<4D F736F F F696E74202D2082C882E982D982C DD8ED88EE688F882CC82B582AD82DD C668DDA9770>

1 はじめに 計 画 の 目 的 国 は 平 成 18 年 度 に 住 生 活 基 本 法 を 制 定 し 住 まいに 関 する 基 本 的 な 計 画 となる 住 生 活 基 本 計 画 ( 全 国 計 画 )を 策 定 し 住 宅 セーフティネットの 確 保 や 住 生 活 の 質 の 向 上

目 次 利 用 に 際 しての 注 意 事 項... ユーザー 登 録... ログイン... 課 題 申 請... 5 装 置 予 約... 6 ライセンス 取 得 方 法... 7 利 用 料 金 の 確 認 ( 準 備 中 ) 外 部 発 表 登 録 の 方 法... 5 < 附

Microsoft Word - 03.大和高田市仕様書 介護認定業務委託 H27

参加表明書・企画提案書様式

当社の法人関係情報の管理態勢およびその強化に向けた今後の対応策について

(3) その 他 市 長 が 必 要 と 認 める 書 類 ( 補 助 金 の 交 付 決 定 ) 第 6 条 市 長 は 前 条 の 申 請 書 を 受 理 したときは 速 やかにその 内 容 を 審 査 し 補 助 金 を 交 付 すべきものと 認 めたときは 規 則 第 7 条 に 規 定 す

<947A957A8E9197BF C E786C73>

文化政策情報システムの運用等

目 次 1. 社 会 保 障 分 野 でできること 1 1 高 額 医 療 高 額 介 護 合 算 制 度 の 改 善 2 保 険 証 機 能 の 一 元 化 3 自 己 診 療 情 報 の 活 用 4 給 付 可 能 サービスの 行 政 側 からの 通 知 2. 年 金 分 野 でできること 5

官報掲載【セット版】


セルフメディケーション推進のための一般用医薬品等に関する所得控除制度の創設(個別要望事項:HP掲載用)

<4D F736F F F696E74202D B E E88E68C9A90DD8BC65F E DC58F4994C52E >

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

第 40 回 中 央 近 代 化 基 金 補 完 融 資 推 薦 申 込 み 公 募 要 綱 1 公 募 推 薦 総 枠 30 億 円 一 般 物 流 効 率 化 促 進 中 小 企 業 高 度 化 資 金 貸 付 対 象 事 業 の 合 計 枠 2 公 募 期 間 平 成 28 年 6 月 20

k_setumeikai_siryo

定款  変更

提案書タイトルサブタイトルなし(32ポイント)

Microsoft Word 役員選挙規程.doc

これまでの 課 題 の 検 討 状 況 の 整 理 地 震 保 険 制 度 に 関 するプロジェクトチーム 報 告 書 ( 平 成 24 年 11 月 30 日 ) ( 附 属 物 の 損 害 査 定 ) 地 震 保 険 においては 迅 速 性 の 観 点 から 主 要 構 造 部 を 対 象 とし


0439 研究開発推進事業(防衛省所管計上)250614

(別紙3)保険会社向けの総合的な監督指針の一部を改正する(案)

< 目 次 > 8. 雇 用 保 険 高 年 齢 雇 用 継 続 給 付 27 ( 育 児 休 業 給 付 介 護 休 業 給 付 ) 8.1 高 年 齢 雇 用 継 続 給 付 画 面 のマイナンバー 設 定 高 年 齢 雇 用 継 続 給 付 の 電 子 申 請 高

<4D F736F F D208F7493FA95948E738A4A94AD8E968BC682CC8EE891B18B7982D18AEE8F8082C98AD682B782E98FF097E182C98AD682B782E98F9590AC8BE093998CF D6A B315D2E B4E88C A>

< F2D8AC493C CC81698EF3928D8ED2816A2E6A7464>

2 役 員 の 報 酬 等 の 支 給 状 況 平 成 27 年 度 年 間 報 酬 等 の 総 額 就 任 退 任 の 状 況 役 名 報 酬 ( 給 与 ) 賞 与 その 他 ( 内 容 ) 就 任 退 任 2,142 ( 地 域 手 当 ) 17,205 11,580 3,311 4 月 1

<4D F736F F D208C6F D F815B90A BC914F82CC91CE899E8FF38BB582C982C282A282C42E646F63>

< DB8CAF97BF97A6955C2E786C73>

施 工 P お 気 に 入 り データを 活 用 するための 準 備 施 工 パッケージデータをお 気 に 入 りに 登 録 し 単 価 を 閲 覧 するための 方 法 を 説 明 します 1. 施 工 パッケージデータをダウンロードする 施 工 パッケージデータのダウンロードは 下 記 から 行

<4D F736F F D208DE3905F8D8291AC8B5A8CA48A948EAE89EF8ED0208BC696B18BA492CA8E64976C8F BD90AC E378C8E89FC92F994C5816A>

Microsoft PowerPoint - (セット)150120【資料6】点検結果の記録・データベースの整備_修正02

説 明 内 容 料 金 の 算 定 期 間 と 請 求 の 単 位 について 分 散 検 針 制 日 程 等 別 料 金 料 金 の 算 定 期 間 と 支 払 義 務 発 生 日 日 程 等 別 料 金 の 請 求 スケジュール 料 金 のお 支 払 い 方 法 その 他 各 種 料 金 支 払

<4D F736F F D F8D828D5A939982CC8EF68BC697BF96B38F9E89BB82CC8A6791E52E646F63>

<8BB388F58F5A91EE82A082E895FB8AEE967B95FB906A>

(5) 給 与 制 度 の 総 合 的 見 直 しの 実 施 状 況 について 概 要 の 給 与 制 度 の 総 合 的 見 直 しにおいては 俸 給 表 の 水 準 の 平 均 2の 引 き 下 げ 及 び 地 域 手 当 の 支 給 割 合 の 見 直 し 等 に 取 り 組 むとされている

社会保険加入促進計画に盛込むべき内容

<4D F736F F D D3188C091538AC7979D8B4B92F F292B98CF092CA81698A94816A2E646F63>


<4D F736F F D208CA990CF96BE8DD78F918EAE82CC95CF8D >

は 固 定 流 動 及 び 繰 延 に 区 分 することとし 減 価 償 却 を 行 うべき 固 定 の 取 得 又 は 改 良 に 充 てるための 補 助 金 等 の 交 付 を 受 けた 場 合 にお いては その 交 付 を 受 けた 金 額 に 相 当 する 額 を 長 期 前 受 金 とし

(6) 事 務 局 職 場 積 立 NISAの 運 営 に 係 る 以 下 の 事 務 等 を 担 当 する 事 業 主 等 の 組 織 ( 当 該 事 務 を 代 行 する 組 織 を 含 む )をいう イ 利 用 者 からの 諸 届 出 受 付 事 務 ロ 利 用 者 への 諸 連 絡 事 務

<4D F736F F D203193FA8AD45F95CA8E86325F89898F4B315F94F093EF8AA98D AD97DF914F82CC8FEE95F182CC8EFB8F C28E8B89BB2E646F63>

通 知 カード と 個 人 番 号 カード の 違 い 2 通 知 カード ( 紙 )/H27.10 個 人 番 号 カード (ICカード)/H28.1 様 式 (おもて) (うら) 作 成 交 付 主 な 記 載 事 項 全 国 ( 外 国 人 含 む)に 郵 送 で 配 布 希 望 者 に 交

社 会 福 祉 協 議 会 様 の 運 営 する 以 下 の 相 談 業 務 をサポートします 1. 日 常 生 活 自 立 支 援 事 業 2. 成 年 後 見 制 度 事 業 3. 高 齢 者 ふれあい 相 談 センター 事 業 ( 高 齢 者 の 何 でも 相 談 支 援 ) 4. 資 金 貸

3車検等点検整備業務仕様書

住宅改修の手引き(初版)

< F2D91E F18BDF91E389BB955C8E D8E9689EF2E>

Ⅰ 調 査 の 概 要 1 目 的 義 務 教 育 の 機 会 均 等 その 水 準 の 維 持 向 上 の 観 点 から 的 な 児 童 生 徒 の 学 力 や 学 習 状 況 を 把 握 分 析 し 教 育 施 策 の 成 果 課 題 を 検 証 し その 改 善 を 図 るもに 学 校 におけ

公 的 年 金 制 度 について 制 度 の 持 続 可 能 性 を 高 め 将 来 の 世 代 の 給 付 水 準 の 確 保 等 を 図 るため 持 続 可 能 な 社 会 保 障 制 度 の 確 立 を 図 るための 改 革 の 推 進 に 関 する 法 律 に 基 づく 社 会 経 済 情

(15) 兵 庫 県 道 高 速 湾 岸 線 (16) 神 戸 市 道 高 速 道 路 2 号 線 (17) 兵 庫 県 道 高 速 北 神 戸 線 (18) 神 戸 市 道 高 速 道 路 北 神 戸 線 (19) 神 戸 市 道 高 速 道 路 湾 岸 線 のうち 上 り 線 については 神 戸

平成24年度 業務概況書

第5回法人課税ディスカッショングループ 法D5-4

目 次 遺 失 物 管 理 プログラム 利 用 者 マニュアル 1. 動 作 条 件 遺 失 物 管 理 プログラムのインストール 運 用 の 流 れ 起 動 方 法 操 作 方 法 について 基 本 的 な 操

平 成 27 年 11 月 ~ 平 成 28 年 4 月 に 公 開 の 対 象 となった 専 門 協 議 等 における 各 専 門 委 員 等 の 寄 附 金 契 約 金 等 の 受 取 状 況 審 査 ( 別 紙 ) 専 門 協 議 等 の 件 数 専 門 委 員 数 500 万 円 超 の 受

調査結果の概要

スライド 1

2 1.ヒアリング 対 象 (1) 対 象 範 囲 分 類 年 金 医 療 保 険 雇 用 保 険 税 備 考 厚 生 年 金 の 資 格 喪 失 国 民 年 金 の 加 入 老 齢 給 付 裁 定 請 求 など 健 康 保 険 の 資 格 喪 失 国 民 健 康 保 険 の 加 入 健 康 保 険

39_1

平成21年9月29日

<6E32355F8D918DDB8BA697CD8BE28D C8EAE312E786C73>

Microsoft Word - 奨学金相談Q&A.rtf

(3) 労 働 基 準 法 ( 昭 和 22 年 法 律 第 49 号 ) (4) 図 書 館 法 ( 昭 和 25 年 法 律 第 118 号 ) (5) 著 作 権 法 ( 昭 和 45 年 法 律 第 48 号 ) (6) 子 どもの 読 書 活 動 の 推 進 に 関 する 法 律 ( 平

< F2D A C5817A C495B6817A>

第 1 章 共 通 操 作 1.1 ログイン PIN 番 号 入 力 (1) 大 阪 府 電 子 入 札 システム トップ 画 面 より 1 電 子 入 札 システム ボタンをクリックし ます 1 1-2

製 品 設 計 のための3 次 元 検 証 技 術 (ソリッド 編 ) ~ 製 品 設 計 の 考 え 方 に 基 づいた3 次 元 CADの 使 い 方 をマスターしよう!~ 受 講 料 11,500 円 /28,29.30 ( 金 土 日 ) 筆 記 製 品 設 計 業 務 において

消 費 ~ 軽 減 率 消 費 の 軽 減 率 制 度 が 消 費 率 10% 時 に 導 入 することとされています 平 成 26 年 4 月 1 日 平 成 27 年 10 月 1 日 ( 予 定 ) 消 費 率 5% 消 費 率 8% 消 費 率 10% 軽 減 率 の 導 入 平 成 26

プロジェクトタイトル(HGP創英角ゴシックUB 24pt) サブタイトル(定例資料など、HGP創英角ゴシックUB 18pt)

01_07_01 データのインポート_エクスポート_1

推 進 項 目 15 人 材 育 成 の 強 化 重 要 A 番 号 取 組 事 業 名 151 職 員 の 専 門 性 向 上 作 成 日 H 更 新 日 H 担 当 部 署 32 総 務 部 人 事 課 責 任 者 吉 田 克 夫 担 当 者 人 事 人 材 育 成 担

弁護士報酬規定(抜粋)

01.活性化計画(上大久保)

2. 受 注 模 倣 品 準 備 段 階 での 巧 妙 化 (1) 架 空 業 者 名 義 を 使 用 して 模 倣 品 を 輸 出 する 手 口 模 倣 品 出 行 為 に 関 する 責 任 を 回 避 するため 経 営 実 態 のないペーパーカンパニーを 設 立 し かかる 設 立 会 社 を

している 5. これに 対 して 親 会 社 の 持 分 変 動 による 差 額 を 資 本 剰 余 金 として 処 理 した 結 果 資 本 剰 余 金 残 高 が 負 の 値 となるような 場 合 の 取 扱 いの 明 確 化 を 求 めるコメントが 複 数 寄 せられた 6. コメントでは 親

<4D F736F F D E95E CC816994A8926E82A982F182AA82A2816A2E646F63>

平成24年度税制改正要望 公募結果 153. 不動産取得税

1 総 合 設 計 一 定 規 模 以 上 の 敷 地 面 積 及 び 一 定 割 合 以 上 の 空 地 を 有 する 建 築 計 画 について 特 定 行 政 庁 の 許 可 により 容 積 率 斜 線 制 限 などの 制 限 を 緩 和 する 制 度 である 建 築 敷 地 の 共 同 化 や

Transcription:

システムテスト 自 動 化 プログラムにおける 操 作 技 術 と シナリオ の 分 割 発 表 者 石 川 達 也 ( 株 式 会 社 Codeer) e-mail:ishikawa-tatsuya@codeer.co.jp 共 同 執 筆 者 堅 田 成 洋 ( 株 式 会 社 ベリサーブ) e-mail:naruhiro.katada@veriserve.co.jp

2 自 己 紹 介 石 川 達 也 株 式 会 社 Codeer 代 表 取 締 役 Microsoft MVP (2014~) Windowsアプリテスト 自 動 化 歴 10 年 テスト 自 動 化 ライブラリFriendly 作 者 堅 田 成 洋 株 式 会 社 ベリサーブ 組 み 込 みソフト 第 三 者 検 証 暦 10 年 テストのスペシャリストとして 数 々のプロジェクトを 成 功 に 導 く 本 稿 で 紹 介 する 手 法 をテストチームのリーダーとして 経 験 ( 約 2 年 )

3 アジェンダ 1. 資 料 背 景 2. 問 題 3. 分 割 4. 改 善 実 例

4 1. 資 料 背 景 1. 資 料 背 景

5 1. 資 料 背 景 株 式 会 社 Codeerは 様 々な 企 業 プロジェクトで Windowsアプリのシステムテスト 自 動 化 支 援 を 実 施 している 今 回 の 発 表 はそこでの 実 績 に 基 づいている 今 回 示 す 改 善 は 手 動 テスト 自 動 テストではなく 成 果 の 出 ていない 自 動 テスト 成 果 の 出 る 自 動 テスト Power up! テスト 対 象 と 自 動 化 のために 使 った 環 境 は 以 下 のもの テスト 対 象 Windowsアプリ 自 動 化 プログラム 開 発 環 境 Visual Studio 自 動 化 プログラム 言 語 C# 操 作 用 ライブラリ Friendly

6 2. 問 題 点 2. 問 題 点

7 2. 問 題 点 システムテスト 自 動 化 は 困 難 なプラクティスである 改 善 前 のお 客 様 から 聞 く 話 は タイミング 依 存 でテストが 失 敗 する 実 行 時 間 が 長 いので 頻 繁 には 実 行 できない 保 障 されている 範 囲 が 少 ない また 不 明 確 担 当 者 不 足

8 2. 問 題 点 改 善 前 のテストプログラム 例 [TestMethod] public void Test() { //プロセス 起 動 var process = Process.Start("EmployeeManagement.exe"); //プロセスを 操 作 できるようになるまで 待 つ Thread.Sleep(1000); //フォーム 取 得 var mainform = AutomationElement.FromHandle(process.MainWindowHandle); //ボタンを 取 得 var buttonadd = mainform.findfirst(treescope.element TreeScope.Descendants, new PropertyCondition(AutomationElement.AutomationIdProperty, "_buttonadd")); タイミングを 時 間 で 調 整 対 象 アプリの 初 期 化 についての 知 識 が 欠 落 安 易 なSleepは 時 間 の 無 駄 も 招 く 仮 に1ケース5 秒 ロスすると5000ケースだと 約 7 時 間 無 駄 になる 内 部 仕 様 ( 変 数 名 )が テストシナリオに 出 てきている //ボタンクリック 実 行 var addinvoker = (InvokePattern)buttonAdd.GetCurrentPattern( InvokePattern.Pattern); addinvoker.invoke(); タイミングを 時 間 で 調 整 ウィンドウの 表 示 までに 関 する 知 識 が 欠 落 // 次 の 画 面 を 待 つ Thread.Sleep(1000); var addformhandle = GetWindow(process.MainWindowHandle, (uint)getwindow_cmd.gw_hwndprev); var addform = AutomationElement.FromHandle(process.MainWindowHandle); // 次 の 画 面 要 素 取 得 var textname = addform.findfirst(treescope.element TreeScope.Descendants, new PropertyCondition(AutomationElement.AutomationIdProperty, "_textboxname")); // 次 の 画 面 の 操 作 (コード 量 多 い) 全 体 的 に 複 雑 すぎて テスト 内 容 が 分 からない

9 2. 問 題 点 テスト 自 動 化 には ソフトウェアテストのスキル ソフトウェア 開 発 のスキル の 両 方 が 必 要 これを 理 解 して 設 計 管 理 する 必 要 がある 多 くの 場 合 自 動 操 作 プログラム 作 成 がボトルネックになっている C# テスト 自 動 操 作 プログラムの 開 発 ボトルネック

10 3. 分 割 3. 分 割

11 3. 分 割 テストと 操 作 に 必 要 な 技 術 は 全 く 別 もの 分 割 することにより それぞれのスペシャリストで 作 業 を 分 担 できる シナリオ 設 計 作 成 に 必 要 な 知 識 境 界 値 分 析 法 同 値 分 割 法 状 態 遷 移 テスト 全 ペアテスト 原 因 結 果 グラフ デシジョンテーブル エラー 推 測 統 計 的 テスト etc 信 頼 性 高 く 品 質 を 保 証 するには 専 門 的 なテスト 技 術 が 必 要 操 作 に 必 要 な 知 識 Win32API.Netの 知 識 メッセージループ 画 面 遷 移 スレッド プロセス 画 面 要 素 のツリー 構 造 対 象 アプリの 内 部 設 計 etc 安 定 高 速 な 操 作 を 実 現 するには 高 度 な 開 発 技 術 が 必 要

12 3. 分 割 AppDriver アプリケーションドライバーのレイヤを 作 った テストシナリオ 強 力 に 操 作 内 部 仕 様 技 術 的 なことを 隠 蔽 アプリケーションに 特 化 した シンプルなインターフェイスを 提 供

13 3. 分 割 AppDriver 担 当 とボリュームイメージ 小 アプリケーションドライバ 技 術 的 な 部 分 は 難 易 度 は 高 いが ボリュームは 小 さい 開 発 チームが 担 当 大 シナリオ 技 術 的 な 難 易 度 は 低 いが 品 質 を 保 証 するためにある 程 度 の ボリュームが 必 要 になってくる テスト 設 計 も 含 めてテストチームが 担 当

14 3. 分 割 AppDriver - Interface アプリケーションドライバのインターフェイスは 外 部 仕 様 を 知 っていれば 操 作 可 能 な 設 計 にした ( 内 部 仕 様 はインターフェイスには 現 れない) [TestMethod] public void 追 加 テスト() { var mainform = App. 社 員 管 理 ; // 追 加 ボタンを 押 したらモーダルダイアログが 出 る var addform = mainform.button_ 追 加.EmulateClick(); // 追 加 画 面 の 操 作 addform.textbox_ 名 前.EmulateChangeText(" 山 田 "); addform.textbox_ 住 所.EmulateChangeText(" 大 阪 "); addform.radiobutton_ 男.EmulateCheck(); addform.button_ 登 録.EmulateClick(); } // 元 の 画 面 でデータチェック Assert.AreEqual(" 山 田 ( 男 ) 大 阪 ", mainform.listbox_ 社 員.GetItemText(0));

15 3. 分 割 AppDriver - Interface VisualStudioのインテリセンスを 最 大 限 に 活 用 できる 設 計 にした [TestMethod] public void 追 加 テスト() { var mainform = App. 社 員 管 理 ; // 追 加 ボタンを 押 したらモーダルダイアログが 出 る var addform = mainform.button_ 追 加.EmulateClick(); // 追 加 画 面 の 操 作 addform..(ドット)を 打 つことにより 次 に 選 択 するべきコードが 候 補 表 示 される 日 本 語 を 交 えることにより 作 業 効 率 が 上 がることが 経 験 的 に 確 認 されている

3. 分 割 AppDriver - Interface インターフェイスも 用 途 に 合 わせて 複 数 作 った //GUIを 意 識 させるインターフェイスで 作 成 [TestMethod] public void 追 加 テスト() { var mainform = App. 社 員 管 理 ; var addform = mainform.button_ 追 加.EmulateClick(); addform.textbox_ 名 前.EmulateChangeText(" 山 田 "); addform.textbox_ 住 所.EmulateChangeText(" 大 阪 "); addform.radiobutton_ 男.EmulateCheck(); addform.button_ 登 録.EmulateClick(); Assert.AreEqual(" 山 田 ( 男 ) 大 阪 ", mainform.listbox_ 社 員.GetItemText(0)); } GUIレベルで 細 かく 確 認 する 場 合 GUI 仕 様 が 変 わると シナリオもメンテの 必 要 がある // 機 能 を 意 識 させるインターフェイスで 作 成 [TestMethod] public void 追 加 () { App. 機 能. 追 加 (new EmployeeData() { Name = "", Address = "", IsMan = true}); } 機 能 が 動 くことを 確 認 する 場 合 テスト 対 象 外 の 操 作 の 場 合 ( 前 提 条 件 を 満 たすための 操 作 ) 上 記 の 操 作 が 隠 蔽 されているので GUI 仕 様 が 変 わっても 変 更 の 必 要 はない 16

17 3. 分 割 AppDriver - Interface これらの 工 夫 により テストチームのメンバ ( 本 職 のプログラマではない)でも 安 定 高 速 動 作 し メンテナンス 性 の 高 い テストシナリオを 作 成 できることを 確 認 している シナリオは 大 量 に 作 るが 可 読 性 メンテナンス 性 の 高 い 状 態 を 維 持 担 当 者 も 増 員 可 能 な 状 態

3. 分 割 AppDriver - Implement アプリケーションドライバの 実 装 は 開 発 者 で 実 施 する 対 象 プロセスの 内 部 設 計 実 装 を 熟 知 しているので 安 定 した 操 作 を 提 供 できる テストを 安 定 動 作 させる 責 務 はこちらにある 操 作 を 提 供 する 層 であり テスト 内 容 は 入 り 込 まない public class 社 員 管 理 _Driver { public FormsListBox ListBox_ 社 員 { get; set; } public IClickable< 追 加 _Driver> Button_ 追 加 { get; set; } public IClickable< 検 索 _Driver> Button_ 検 索 { get; set; } public 社 員 管 理 _Driver(WindowControl window) { ListBox_ 社 員 = new FormsListBox(window.Dynamic()._listBoxEmployee); 内 部 仕 様 を 知 っているので 安 定 して 要 素 を 特 定 } } Button_ 追 加 = new FormsButton(window.Dynamic()._buttonAdd). MakeModal((w, a) => new 追 加 _Driver(w, a)); 画 面 遷 移 の 詳 細 を 把 握 している ので 安 定 した 方 法 で Button_ 検 索 = new FormsButton(window.Dynamic()._buttonAdd). 次 の 画 面 を 取 得 MakeModal((w, a) => new 検 索 _Driver(w, a)); 18

19 3. 分 割 AppDriver - Implement アプリケーションドライバの 実 装 にはFriendlyをお 勧 めしています 別 プロセスから 内 部 APIを 呼 び 出 し 可 能 アプリケーション 開 発 に 必 要 な 技 術 力 が 必 要 その 技 術 力 をテスト 時 に 操 作 に 活 かしきることができる http://www.codeer.co.jp/autotest

20 4. 改 善 実 例 4. 改 善 実 例

21 4. 改 善 実 例 某 社 の 業 務 システム 不 安 定 な 作 りであったので 実 施 時 に 人 手 のコストが 発 生 していた 待 ち 合 わせのSleepが 大 量 に 入 っていた (ネットワークの 待 ち 合 わせもあるため 長 い) 量 は 少 ないがトータル2 時 間 かかっていた テストの 成 功 がリリースの 条 件 になっていたので リリース 時 の 負 荷 が 大 きかった

22 4. 改 善 実 例 作 成 メンテナンス 性 の 向 上 正 しく 分 割 することにより 自 然 とコードの 共 通 化 が 進 んだ 行 数 としては 半 分 程 度 に 安 定 化 と 高 速 化 安 定 動 作 するインターフェイスを 提 供 することに よって テストケース 内 のSleepは 全 て 削 除 改 善 前 は2 時 間 かかっていたテストが 改 善 後 で は15 分 で 完 了 するようになった また 実 行 するたびに 人 手 のコストが 発 生 して いた 問 題 も 解 消 リリースもスムーズに 行 えるようになった

23 4. 改 善 実 例 某 社 パッケージソフト 複 雑 なテスト 用 操 作 高 い 技 術 力 で 安 定 動 作 はさせていた テストチームの 入 り 込 む 余 地 なし 網 羅 性 などテストとしての 品 質 に 不 安 あり メンテナンス 引 き 継 ぎ 困 難

24 4. 改 善 実 例 作 業 の 最 適 な 分 業 1 機 能 のテストケース 作 成 工 数 (h) ( 任 意 で 抽 出 したケースの 平 均 ) 正 しく 分 割 した 設 計 にすることにより テストシナリオの 作 成 難 易 度 が 下 がり テストチームと 分 業 することが 可 能 になった

25 4. 改 善 実 例 テスト 品 質 の 向 上 と 無 駄 の 削 除 テストチームがシナリオを 作 成 管 理 するため 必 要 な 観 点 要 素 や 確 認 する 項 目 が 盛 り 込 まれたテスト 内 容 になった また 以 前 は 開 発 側 作 成 の 自 動 テストと 検 証 側 作 成 の 手 動 テストで 重 複 する テストが 存 在 していたが 解 消 され 手 動 テスト 工 数 が 削 減 された 特 に 複 数 回 テスト 実 施 を 行 うプロジェクトにおいて 検 証 チームが 自 動 化 を 管 理 している 項 目 では トータルコストの 大 幅 な 削 減 を 実 現 している 観 点 あたりの 工 数 平 均 手 動 : 実 施 時 0.75H N 回 自 動 : 作 成 2H 1 回 改 善 後 は 一 回 目 に 工 数 が 発 生 したが その 後 は 検 証 工 数 が 発 生 していない

26 4. 改 善 実 例 開 発 チームとの 密 な 連 携 設 計 改 善 テスト 観 点 抽 出 の 時 点 で 自 動 化 について 開 発 側 と 検 証 側 の 間 で 議 論 をする ため テストの 品 質 はもちろん 開 発 側 の 設 計 にもフィードバックがなされ 後 の 仕 様 / 設 計 / 実 装 の 手 戻 りを 減 らすことができた 双 方 がテスト 内 容 を 確 認 する 事 で お 互 いに 気 付 きを 発 信 しやすい 環 境 にな っている トラブル 対 応 回 帰 テストでのトラブル 発 生 時 でも 開 発 チーム/ 検 証 チーム 双 方 が 調 査 を 行 うため 各 々の 得 意 分 野 で 分 担 して 効 率 の 良 い 運 用 が 可 能 となった

27 まとめ テスト 自 動 化 プログラムは 操 作 技 術 とテストケースを 表 す シナリオ に 分 けられる 分 けることで 適 切 な 担 当 者 をアサインすることが 可 能 それぞれで より 高 度 な 技 術 を 使 うことが 可 能 テストチームと 開 発 チームが 協 力 することによって より 質 の 高 いテスト 自 動 化 作 成 が 可 能 となる