Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
キーワード駆動っぽいテストができるツールを開発した話
Search
ENDO Yasuyuki
November 04, 2022
Technology
510
0
Share
キーワード駆動っぽいテストができるツールを開発した話
自動化大好きエンジニアLT会 - vol.9 発表資料
ENDO Yasuyuki
November 04, 2022
More Decks by ENDO Yasuyuki
See All by ENDO Yasuyuki
Blueskyに伏せ字投稿ができるWebアプリの作り方
eyasuyuki
0
570
Bluespoilerのご紹介
eyasuyuki
0
470
幻のテスト技法「キーワード駆動テスト」を追い求めて
eyasuyuki
0
2.7k
Kotlin Updates in LL2019
eyasuyuki
0
610
Learn Languages 2019
eyasuyuki
5
1.1k
Why Flutter excitement me?
eyasuyuki
3
1.2k
Kotlin vs Swift
eyasuyuki
0
530
フロントエンドだめ自慢
eyasuyuki
0
140
llot_frontend.pdf
eyasuyuki
0
68
Other Decks in Technology
See All in Technology
解剖"React Native"
hacusk
0
120
ADOTで始めるサーバレスアーキテクチャのオブザーバビリティ
alchemy1115
2
260
Kubernetes基盤における開発者体験 とセキュリティの両⽴ / Balancing developer experience and security in a Kubernetes-based environment
chmikata
0
210
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.4k
あるアーキテクチャ決定と その結果/architecture-decision-and-its-result
hanhan1978
2
540
さくらのAI Engineから始める クラウドネイティブ意識
melonps
0
110
Databricks Lakebaseを用いたAIエージェント連携
daiki_akimoto_nttd
0
170
3つのボトルネックを解消し、リリースエンジニアリングを再定義した話
nealle
0
230
申請待ちゼロへ!AWS × Entra IDで実現した「権限付与」のセルフサービス化
mhrtech
1
110
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」ご紹介資料
laysakura
0
1.6k
シン・リスコフの置換原則 〜現代風に考えるSOLIDの原則〜
jinwatanabe
0
150
【Findy FDE登壇_2026_04_14】— 現場課題を本気で解いてたら、FDEになってた話
miyatakoji
0
240
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
310
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
240
GraphQLとの向き合い方2022年版
quramy
50
14k
Being A Developer After 40
akosma
91
590k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
310
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
370
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
My Coaching Mixtape
mlcsv
0
94
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
710
Unsuck your backbone
ammeep
672
58k
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