Selenium実践入門 の商品レビュー
所在: 展示架 547.48||I89 一般 請求記号:547.48/I89 資料ID:11800466 感想:Seleniumを使ってブラウザテストを自動化するためのノウハウが詰め込まれた一冊です。初心者に優しい(かどうかはよくわかりませんが)一冊になっている(はず)なので、プ...
所在: 展示架 547.48||I89 一般 請求記号:547.48/I89 資料ID:11800466 感想:Seleniumを使ってブラウザテストを自動化するためのノウハウが詰め込まれた一冊です。初心者に優しい(かどうかはよくわかりませんが)一冊になっている(はず)なので、プログラミングを勉強しませんか? 選書担当:飯山
Posted by
読了。2016年34冊目。 Web開発で欠かせないブラウザテスト自動化ツール "Selenium" を解説した実践的入門書 Web開発を行ううえで絶対欠かすことのできない動作検証。本書は、このフェーズを効率化するための自動テスト化ツール "Sel...
読了。2016年34冊目。 Web開発で欠かせないブラウザテスト自動化ツール "Selenium" を解説した実践的入門書 Web開発を行ううえで絶対欠かすことのできない動作検証。本書は、このフェーズを効率化するための自動テスト化ツール "Selenium" について、環境構築の方法・テストコードの書き方・継続的インテグレーション(CI)への適用・企業の活用事例を解説している。 動作検証作業は人間が手動で行うにはあまりに単調であり、ミスが発生しやすい。しかも、システムが複雑化・大規模化するほど検証すべき項目は指数関数的に増えていく。Web開発者にとって悩ましいところである。Selenium はその問題を解決するひとつの方法かもしれない。 本書の序盤では、テスト自動化のメリットを説いている。効率化せずにいるとテストの工数が膨れ上がり、それがボトルネックとなり機能追加もままならない状況に陥る。ひいては、サービス改善ができなくなってしまう。耳が痛い。 テスト自動化はもちろん積極的に進めるべきだけれども、私の経験上、テストコードを書くのは思いのほか工数がかかる。中長期的に見れば絶対にテストコードはしっかり書くべきだが、目前の締め切りも大事というジレンマ。これはもう、習慣化するしかないのだろう。がんばる。 本書の中盤では、いよいよ Selenium のコマンドを用いたテストコード実装についての説明に入る。Selenium は、Firefox のほかにも Chrome や Internet Explorer などのブラウザがテスト実行時に使用できる。実際にテストする際はブラウザに色々設定する必要があって、例えばセキュリティに関する設定やダウンロードフォルダのパスなどを書き換える。設定を施したい場合はそれぞれのやりかたでコードを記述しなくてはならない。生成するオブジェクトや呼び出すメソッド名が異なっていたりと、統一的でないのだ。これは難点だと思う。ひとつのソースコードに複数ブラウザをまとめるのは困難のように思われるが、これについての対応策は特に記されていなかった。 で、気になるテストコードの書き方について、その基本方針は "ページオブジェクト" と "テストスクリプト" のふたつの部分にわけて書くといいそうだ。ページオブジェクトは、主にブラウザ上に描画されたページに対して働きかける。ページの特定のボタンをクリックするとか、フォームの入力欄に文字列を入れるとか。そういったメソッドが書かれたクラスを定義してやる。ここで大事なのは画面の操作を単位にするのではなく、タスク単位、つまり「ユーザがアカウントを作成するための情報を入力する」といったように意味の単位でまとめることだそうだ。テストスクリプトのほうは、その意味の単位で記述された動作が果たして正しく完遂するかをチェックするコードを書く。テストスクリプトは「〜ができるかどうか」という、やや抽象度の高いレイヤーを受け持つのだ。 本書は、基本的にコードの書き方を Java で解説している。しかし、テストコードを素の Java で書くとどうしても冗長で可読性が落ちる。そこで、Selenium のコマンドをラップして、よりシンプルに書けるライブラリがいくつか紹介されていた。特に "Geb" について詳細に書かれている。「じぇぶ」と読むらしい。コードのほとんどが jQuery のような記法で書けて、いくぶん楽そうだ。 PC 用のページを検証するのは大事だが、スマートデバイスも無視できなくなっている。iPhone や Android のブラウザでのテストについてもかなりのページが割かれている。PC版ブラウザのエミュレーション機能を使う方法・各スマートデバイスOSのエミュレータを使う方法・実機を使う方法が紹介されている。しかし、これは世に出て間もない技術なのでベストプラクティスも確立されていないそうだ。若い人はもはや PC は使わずスマホのみというケースもかなり多いので、早いところ確立してほしい(他力本願)。 総論。テストもがんばらなきゃなあ…。 (終)
Posted by
前から気になっていたので読んでみた。 普段から、ウェブサイトのテストの必要性は分かってはいるのだけど、どうすればいいか分からずに結局手作業で見てるうちの会社。Seleniumを使いこなせたらもっと短縮できるんだろうなと思った。 自動化すると、定期的にやって、挙動がおかしいときはエ...
前から気になっていたので読んでみた。 普段から、ウェブサイトのテストの必要性は分かってはいるのだけど、どうすればいいか分からずに結局手作業で見てるうちの会社。Seleniumを使いこなせたらもっと短縮できるんだろうなと思った。 自動化すると、定期的にやって、挙動がおかしいときはエラーを通知なんてこともできるしね(こないだの金曜日に間違えてあるウェブページのファイルを消してしまい、発覚したのが月曜の朝だったという今思い出しても嫌悪感に襲われる事件があったので……)。 Sekeniumはいろんな言語で使えるそうだけど、基本的にはJavaで使うものっぽい。本書もほとんどはJavaでの解説だった。大学の時にちょっと使ったことがあるぐらいだけど、久々に使ってみようかな(と言いながら、自分のことなんでなかなか使わなそうだけど……)。
Posted by
献本。ツールの使い方がよくまとまっている。個人的にはどう自動化と付き合うか?というところが参考になりました。
Posted by
- 1