自動化大好きエンジニアLT会 - vol.9 発表資料
キーワード駆動っぽいテストができるツールを開発した話2022-11-02 @eyasuyuki1
View Slide
結論キーワード駆動テストの欠点は で解決できる2
今回開発したツールKeydriverhttps://github.com/eyasuyuki/keydriverノーコードでe2eテストができるオープンソース商用利用可(MITライセンス)気に入ったら☆(Star)くださいZennの記事https://zenn.dev/eyasuyuki/articles/a20301d34adce03
キーワード駆動テストとはシステムテストの技法の一つアクションキーワードとデータからなる表を使ってテストするキーワード表を読み込んで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拡張21 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ブラウザEExxcceellフファァイイルル読読みみ込込みみ読読みみ込込みみワワーーククシシーートトワワーーククシシーートトブブララウウザザ操操作作ブブララウウザザ操操作作ブブララウウズズ結結果果ブブララウウズズ結結果果結結果果検検証証テテスストト結結果果出出力力テテスストト結結果果出出力力Keydriver POI Excel WebDriverブラウザ13
実際のExcel表の例14
デモhttps://youtu.be/Klqx18-cBgw15
参考文献(1/2)ソフトウエア品質を高める開発者テスト改訂版 (高橋寿一 2022)ISBN978-4-7981-7639-016
参考文献(2/2)システムテスト自動化標準ガイド (Mark Fewster, Dorothy Graham 1999)ISBN978-4-7981-3921-017