Selenium Conf Tokyoにいってきました!

このエントリーをはてなブックマークに追加


生産性チームのkmt です。
4/18~19に東京でSeleniumConfが行われ、弊社のinomata、kzhirataと参加してきました。
今日は、その模様をお伝えできればと思います。



基調講演1:State of the Union(Day1)



Seleniumプロジェクトのリードであり、コア開発者の一人であるSimon StewartさんがSeleniumのこれまでとこれからを雪の結晶をモチーフに話してくださいました。
Selenium4がでる予定ですが、互換性は保たれるとのことなので一安心です。
ただし、非推奨のものは引き継がれないので注意が必要です。
Selenium4では、Friendly Locatorが追加されるそうで、それによってIDがランダムなLocatorの取得が比較的簡単になるとのことでした。


テスト影響分析 ~パイプラインを整理しテスト実行時間を削減~(Day1)



テストの実行をいかに早くするかという話。
テストが早く実行できなければ、開発からリリースまでを早くすることをはできません。
自動テストの戦略のプラクティスとして、テストピラミッドの話がありますが、スピーカーのチームでは、数字の上ではピラミッドの構造を成していた。
しかし、実行時間を見るとピラミッドが逆向きになってしまっていたとのこと。
そこでの施策として、
 1.修正したコードがどのテストに関連するかをマッピングして、コードとテストの関連性を分析する。
 2.今後修正したコードに対してピンポイントでテストを実行する
として、これにより実行時間を短縮させることに成功したという内容でした。
修正コードに関連するテストをピンポイントで行うといのはGoogleでも同じアプローチをとっていたと思います。
自動テストの戦略として、今後日本でもはやりそうな話でした。


私は如何にして心配するのを止めてレコード・アンド・プレイバックツールを愛するようになったか(Day1)



新しくなったSeleniumIDEの特徴、およびIDEのプロダクトポリシーに関する講演です。 
講演では、10 futures codeless にあるコードレスツールの10個特徴を参照しながら、
各特徴について、IDEがどのような対応をしているのか話していました。
 Seleniumに限らず、コードレスツールの維持管理は非常に厄介です。
簡単だと思って導入すると維持管理で痛い目に遭います。旧SeleniumIDEがまさにそうでした。
新しくなったIDEは、繰り返し処理や条件分岐、クロスブラウザ対応など、旧SeleniumIDEにない機能を備えています。 
気軽にRecord and Playbackできるツール、でかつ維持管理しやすいIDEになってほしいと思います。


ヘッドレスでSeleniumのテストを高速化(Day1)



ヘッドレスブラウザでのテストをPullRequest直後に実施して問題を早期に発見する。 dev QAが連携して、Agileで、継続的にテストすることが重要である。 という内容の講演でした。 JavaScriptで描画したHTML、モバイルなどブラウザ・デバイスの種類が増加したことに伴いフロントエンドでのテストが大変になっています。 開発者が要求を満たすデバイスで動作確認すること自体非現実的だし、統合環境に入れてからQAがテストを開始するのは、手戻りのリスクが高く生産性が落ちます。 ヘッドレスブラウザでのテストを、PR直後に実施するのは合理的であると思いました。ヘッドレスブラウザでのテストは、実ブラウザでのテストを代替えするものではなく、問題を早期発見するための手段という考え方にも共感できました。 逆に言えば、PCで使う業務アプリケーションの部分は、この仕組みはそれほどすぐに必要とはされないだろうと思います。


ありがとう、Selenium(Day1)



手動テストが時間かかりすぎて、つらすぎるのでSeleniumを導入したという話でした。
Seleniumを導入した結果として、マニュアルテストの実施コストが半分になった。
さらに今まで手付かずだった改善タスクの消化率が4倍になった(すごい)。という結果が出たそうです。
seleniumを導入して余裕が出てきた分、今までやりたかったが実施できたことが最大の結果という話でした。


クライアントサイドの音声認識のテスト(Day1)



どのようにして音声のテストをするのか?と興味があったのですが、PulseAudioとdockerコンテナを使って、音声認識テストのテストをされていました。
この手法を使えば、アクセントのある音声ファイルを準備すれば、かなりのバリエーションの音声テストが自動ででき品質の向上に役立つと思いました。
Seleniumってこんなテストにも使えるんだ、幅広いなと思いました。


基調講演2:動作するきれいなコード - どうたどり着くか(Day1)



動作するきれいなコードを書くためには、どのようにしていけばいいか。
あらかじめ設計をとことん考えて、うごくものを作るのか?
あるいは、ある程度考えて、うごくものを作りながら考えるのか?
現在のシステム開発というのは、何もしなくても周りが進歩していくので、何も修正を加えないといつか動かなくなる。
設計を考えに考えてするよりも考えながら作成したほうがいいとのことでした。
そこにいかにリファクタリングをいれていくか。
あとでリファクタリングをするとなると工数がとれなくなり、結局やらないタスクとなる。
リファクタリングのサイズを細かく分解して、日々の開発とともにまわしていくということが大事だとおっしゃっていました。


Seleniumの未来~WedDriver W3C標準とテスト自動化のディープな話~(Day2)  



KarateというRest APIのテストツールを紹介していただきました。
APIのテストをする場合、様々な機能を備えているのでとても便利そうでした。
cucumberを使っていて、レポートが充実していました。
また、WinAppDriverを使うと、Windowsのアプリに対しても自動テストができるということで、Windowsの計算機のデモを見せていただきました。
自動化の幅がひと昔前に比べて格段にひろがってきたなあと思います。


エッジ・オブ・ピラミッド(Day2)    



本来ならUnitテスト、インテグレーションテスト、UIでピラミッド型になるのが理想ですが、その逆のアイスクリーム型になっていた場合、どのようにしてピラミッド型にしていったらよいかというセッションでした。
1. 常に新しいツールを探してUnitテストやインテグレーションテストが作成できないか考える。
2. ペアテスティングを行って、開発者とコミュニケーションをとりUIテストではなくUnitテストやインテグレーションテストでできるものはそちらでやる。
ということを心掛けるとよいとのことです。
また、バグがあった場合、Unitテストやインテグレーションのどこが不足して発生してしまったかを考え、不足しているところを追加するとよいとおっしゃっていました。


オープンソースソフトウエアとの協調~私がオープンソースへの貢献を始めた経緯と、あながた貢献すべき理由~(Day2)    



誰かの役に立ちたい、学習をしたい、問題を直したい、キャリアアップにつながるなどオープンソースへの貢献理由は様々あるが、その理由のどれもが正しくよいことである。
最初は何をしていいか、どうやったらいいか、怖かったりするかもしれないが、自分の経験からいうと失敗もあったが、コミッターの人たちがやさしく迎え入れてくれたので、ぜひオープンソースに貢献してほしいとおっしゃってました。
ドキュメントやコミュニティを助けるなどプログラムの作成や修正だけでなくても貢献できることはある。
時間がなければ寄付も立派な貢献であるとのことでした。
どこに貢献するか?最初は、自分が今使っているものなどがよいとおっしゃってました。
感じの悪い人がいないか?といわれると全くそうではないが、そのときはそのコミュニティを去ればいい、自分を温かく迎えてくれるコミュニティを選ぶとよいと実際に貢献されている人ならではのお話でした。


WindowsブラウザをDockerコンテナで動かすには(Day2)      



WindowsのイメージをdockerにコピーしてWindows環境をたてることで、ライセンスさえあればWindows環境を簡単にたてられるといセッション。
VDAライセンスを使えば、4つまでたてることができる。
スペックは最低2cpuは必要とのことでした。
複数Windows環境をたてたい場合はすごく便利だと思いましたし、upgradeしてもとにもどしたいときもすごく便利そうです。


この匂いはなに?~テストコードをキレイにしよう~(Day2)   



具体的なコードを元にテストコードをきれいにしていくセッション。
なぜここを一つにまとめるとよいのか?
ここはやりすぎなのでやらないなど、1つ1つ丁寧に解説してくださったので非常にわかりやすかったです。



最後に。。。

2日間にわたって東京で行われたSeleniumConf。
普段なかなか聞けない海外の登壇者のセッションをたくさん聞くことができて、大変貴重な経験でした。
実行委員会の皆さん、スポンサーの皆さん、登壇者の皆さんには本当に感謝しかありません。
ありがとうございました!!!

もっとちゃんと知りたい方は、YouTubeでみることもできますので是非どうぞ!

新しい記事
前の記事
Next Post »
Related Posts Plugin for WordPress, Blogger...