レポート

進化するSeleniumとテスト自動化 ―「第3回日本Seleniumユーザーコミュニティ勉強会」レポート

この記事を読むのに必要な時間:およそ 10 分

2016年2月6日,東京ミッドタウンのヤフー株式会社にて,日本Seleniumユーザーコミュニティ主催による第3回日本Seleniumユーザーコミュニティ勉強会が開催されました。今回は,2015年9月発行のSeleniumデザインパターン&ベストプラクティスで監訳を務められた玉川紘子氏・太田健一郎氏,2016年2月に発売されたSelenium実践入門の著者である伊藤望氏・戸田広氏・宮田淳平氏を筆頭に,Seleniumを使って最先端で活躍しているエンジニア9名が登壇し,熱い思いや事例を参加者と共有しました。

ごあいさつ(伊藤望氏)

日本Seleniumユーザーコミュニティの主宰者である伊藤望氏による開会のあいさつがありました。勉強会をはじめとするコミュニティの活動が活発であり,人数も拡大しているというお話に続き,勉強会申込者アンケートの結果が発表されました。

伊藤望氏

伊藤望氏

アンケート結果

Q:Selenium/Appiumでご利用のプログラミング言語をお聞かせください(複数回答可)
A:結果としては,やはりJavaとSelenium IDE強しといったところです。しかしながら第1回と比べて使用者の人数が約2倍に増えたRubyなどもあり,さまざまな言語で利用され始めている状況がうかがえました。
Q:Selenium/Appiumの用途をお聞かせください(複数回答可)
A:システムの部分テスト・全体のテストに利用する方が大勢を占めていますが,データ入力などの定型操作や技術的趣味で扱っているという方も少なくないようでした。

第3回日本seleniumユーザーコミュニティ勉強会

『Seleniumデザインパターン&ベストプラクティス』の勘所(玉川紘子氏・太田健一郎氏)

2015年9月に発行された同書の監訳者である玉川紘子氏,太田健一郎氏からは,同書の手法とデザインパターンについての話がありました。

玉川紘子氏

玉川紘子氏

太田健一郎氏

太田健一郎氏

『Seleniumデザインパターン&ベストプラクティス』の紹介

本書は2015年9月に出版されました。仮のECサイトで商品レビューを行うという動作をテーマにしており,最初は残念なテストコードから始めて,デザインパターンを適用しながら品質の高いコードに直していくという手法を取っています。開発者ではないメンバーでも順々にきれいなテストコードを学べるようになっており,割と初心者向けかなと思います。書籍のコードはRubyですが,WebからJavaのサンプルコードもダウンロードできます。

どちらかというとアンチパターンなデザインパターン

どちらかというとアンチパターンになるデザインパターンとして以下が挙げられます。

  • Record and Playbackパターン
  • Spaghettiパターン
  • Chain-Linkedパターン
  • Big Ball of Mudパターン

まずは動かすことを第一にし,こういったアンチパターンによって作っていてもとりあえず動くようになったテストスクリプトは,その後にリファクタリングしてきれいにしていく必要があります。

テストコードを改善するデザインパターン

一方,テストコードを改善するデザインパターンとしては以下が挙げられます。

  • DRY(Don't Repeat Yourself)テストパターン
  • Hermeticテストパターン
  • ランダム実行順序原則

デザインパターンを適用する

本書に掲載されている残念なコードについて改めて見ていくと,以下のような問題点が見えてきます。

  • 順番に実行しなければならない(依存性)
  • 重複している

リファクタリングの考え方として,コードが重複しているところはメソッドとして切り分けていくべきです。また,原則的にはDRYテストパターンとHermeticテストパターンを適用して,依存性を絶ったり構造化していくのが良いでしょう。

更なる改善のために

ここまでは本書の基本的なところですが,さらに考え方を進めていくことができます。

  • 振る舞いをテストする
  • Page Objectパターン
  • データ駆動テスト
  • テストを安定させる
  • テストスイートを成長させる

最後に

この時間では語り尽くせないほど,Seleniumの自動化は奥が深いです。さまざまなプラクティスがありますので,『Seleniumデザインパターン&ベストプラクティス』をぜひ一度手に取ってみてください。

「Seleniumデザインパターン & ベストプラクティス」の勘所

著者プロフィール

河原田政典(かわらだまさのり)

株式会社ベリサーブ所属。ソフトウェア開発に携わってきた経験を活かしてテスト自動化を担当。現在まさにSeleniumを扱っている。書店の技術書コーナーが大好きで,「読んだ=役立てられる」とは限らないと自戒しつつも蔵書は増える一方。本棚がいつ満杯になるか心配する日々を過ごしている。

コメント

コメントの記入