$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
キーワード駆動っぽいテストができるツールを開発した話
Search
ENDO Yasuyuki
November 04, 2022
Technology
0
480
キーワード駆動っぽいテストができるツールを開発した話
自動化大好きエンジニアLT会 - vol.9 発表資料
ENDO Yasuyuki
November 04, 2022
Tweet
Share
More Decks by ENDO Yasuyuki
See All by ENDO Yasuyuki
Blueskyに伏せ字投稿ができるWebアプリの作り方
eyasuyuki
0
530
Bluespoilerのご紹介
eyasuyuki
0
450
幻のテスト技法「キーワード駆動テスト」を追い求めて
eyasuyuki
0
2.7k
Kotlin Updates in LL2019
eyasuyuki
0
580
Learn Languages 2019
eyasuyuki
5
1.1k
Why Flutter excitement me?
eyasuyuki
3
1.1k
Kotlin vs Swift
eyasuyuki
0
520
フロントエンドだめ自慢
eyasuyuki
0
130
llot_frontend.pdf
eyasuyuki
0
57
Other Decks in Technology
See All in Technology
エンジニアとPMのドメイン知識の溝をなくす、 AIネイティブな開発プロセス
applism118
4
1.3k
Databricks向けJupyter Kernelでデータサイエンティストの開発環境をAI-Readyにする / Data+AI World Tour Tokyo After Party
genda
1
530
AIプラットフォームにおけるMLflowの利用について
lycorptech_jp
PRO
1
170
プロンプトやエージェントを自動的に作る方法
shibuiwilliam
12
10k
CARTAのAI CoE が挑む「事業を進化させる AI エンジニアリング」 / carta ai coe evolution business ai engineering
carta_engineering
0
1.9k
年間40件以上の登壇を続けて見えた「本当の発信力」/ 20251213 Masaki Okuda
shift_evolve
PRO
1
140
MLflowダイエット大作戦
lycorptech_jp
PRO
1
140
mairuでつくるクレデンシャルレス開発環境 / Credential-less development environment using Mailru
mirakui
5
540
.NET 10の概要
tomokusaba
0
110
AWS Security Agentの紹介/introducing-aws-security-agent
tomoki10
0
300
re:Invent 2025 ふりかえり 生成AI版
takaakikakei
1
220
NIKKEI Tech Talk #41: セキュア・バイ・デザインからクラウド管理を考える
sekido
PRO
0
130
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
A Tale of Four Properties
chriscoyier
162
23k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
We Have a Design System, Now What?
morganepeng
54
7.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
How STYLIGHT went responsive
nonsquared
100
6k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Transcript
キーワード駆動っぽいテストができるツールを開発した話 2022-11-02 @eyasuyuki 1
結論 キーワード駆動テストの欠点は で解決できる 2
今回開発したツール Keydriver https://github.com/eyasuyuki/keydriver ノーコードでe2e テストができる オープンソース 商用利用可(MIT ライセンス) 気に入ったら☆(Star) ください
Zenn の記事 https://zenn.dev/eyasuyuki/articles/a20301d34adce0 3
キーワード駆動テストとは システムテストの技法の一つ アクションキーワードとデータからなる表を使ってテストする キーワード表を読み込んでSelenium などを動かすトライバーを作れば自動化できる 4
キーワード駆動テストとは システムテストの技法の一つ アクションキーワードとデータからなる表を使ってテストする キーワード表を読み込んでSelenium などを動かすトライバーを作れば自動化できる ...... などとされているが実践している人を誰も見たことがない幻のテスト技法である 5
キーワード駆動テストの例 No キーワー ド 対象 引数 備考 1 open url[https://www.google.com]
URL をブラウズする 2 input テキストボックス サルゲッチュ テキストボックスへの入力 3 click ボタン[Google 検索] ボタンをクリックする 4 assert タイトル is[ サルゲッチュ - Google 検 索] 検索結果ページのタイトル検 証 6
キーワード駆動テストのメリット 操作を示すキーワードと、その対象となるデータが1 つの表で表現できる 画面が変更されてもドライバーをメンテナンスするだけで済む 発表者が考えるメリット: システムテストの記述を標準化できる テストデータが各所に分散するのを防止できる 7
キーワード駆動テストのデメリット ドライバーを書くのが大変 ドライバーのメンテナンスが大変 これらの欠点により幻のテスト技法となってしまったのではなかろうか。 ではどうするか ? 8
デメリットを で解決する 9
デメリットを頓知で解決する 10
デメリットを頓知で解決する ドライバーを書くのが面倒なら、キーワード表を拡張して画面依存の情報も含めるのはどうか? 11
拡張したキーワード表 No キーワ ード 対象 引数 備考 拡張 1 拡
張 2 1 open url[https://www.google.com] URL をブラウ ズする 2 input テキストボックス サルゲッチュ テキストボッ クスへの入力 name[q] 3 click ボタン[Google 検索] ボタンをクリ ックする name[btnK] 4 assert タイトル is[ サルゲッチ ュ - Google 検 索] 検索結果ペー ジのタイトル 検証 xpath[/html/head/title] 12
動作概念図 Keydriver POI Excel WebDriver ブラウザ E Ex xc ce
el l フ ファ ァイ イル ル読 読み み込 込み み 読 読み み込 込み み ワ ワー ーク クシ シー ート ト ワ ワー ーク クシ シー ート ト ブ ブラ ラウ ウザ ザ操 操作 作 ブ ブラ ラウ ウザ ザ操 操作 作 ブ ブラ ラウ ウズ ズ結 結果 果 ブ ブラ ラウ ウズ ズ結 結果 果 結 結果 果検 検証 証 テ テス スト ト結 結果 果出 出力 力 テ テス スト ト結 結果 果出 出力 力 Keydriver POI Excel WebDriver ブラウザ 13
実際の Excel 表の例 14
デモ https://youtu.be/Klqx18-cBgw 15
参考文献 (1/2) ソフトウエア品質を高める開発者テスト改訂版 ( 高橋寿一 2022) ISBN978-4-7981-7639-0 16
参考文献 (2/2) システムテスト自動化標準ガイド (Mark Fewster, Dorothy Graham 1999) ISBN978-4-7981-3921-0 17