Selenium vs Mercry

本稿はSelenium Advent Calendar 2013 18日目の記事です

WebのUIを操作できるテスト実行ツールSelenium。その名前の由来は、当時主流だったMercury社製のQuick Test Professionalに対抗してつけられたそうです。Mercuryは水星のほか、水銀という意味もあります。その水銀の中毒に対して有効だったのがセレンでした。この由来は、[Wikipedia]Selenium (software)で紹介されています。Quick Test ProfessionalはMercuryからHPに買収されUFTに名前を変えましたが、どんどん便利になっています。[Wikipedia]HP QuickTest Professional

今回はSeleniumの名前の由来となったMercury(QTP)※とSeleniumのメリット、デメリットを並べてみたい思います。
※現在はHPのUTFですが、私が使用していたものがMercuryのQTP6.5だったので、当時の情報を元に記載しています。

Seleniumのメリット

  • OSSのためツール自体にコストがかからない(人件費除く)
  • 基本はHTMLでノンプログラマにやさしい
  • 利用者が多く、情報がネット上にたくさんある
  • 様々なプラグインが作成されている
  • Web Driverは様々な言語を使用できる
  • 欲しい機能を自作できる

Seleniumのデメリット

  • webしか操作できない
  • TDDやるにもログを出すにもリポジトリ作るにも手間がかかる
  • いろいろやるには結局プログラミングが必須
  • 情報が点在しているので、情弱には辛い
  • ツールに不具合があっても文句が言えない

QTPのメリット

  • Webだけでなく、Java、PHP、Cなど様々なUIを操作できる
  • Excelを読み込ませられるので、Excel中毒の現場に嬉しい
  • DDTが超簡単にできる
  • リポジトリの機能がデフォルトでついている
  • Quality Centerと連携することで複数台同時実行やスケジューリングが可能
  • 画面キャプチャ付きのログが出力されるので、インシデントを確認しやすい
  • サポートをつけるとプロが相談に乗ってくれる

QTPのデメリット

  • (OSSと比べると)とにかく高価
  • 関連ツールも有償
  • サポートも有償
  • 情報がネットにあまり転がっていない
  • 操作対象のオブジェクトを認識させる必要がある
  • ログ容量がサーバーを圧迫するかも(カスタマイズは可能)

有償と無償という致命的な違いがあるので、「どちらがいい」とは言い切れませんし、予算上選択肢が1つしかない場合もあると思いますが、有償ツールには有償ツールのよさがあります。比較して改めて感じるのは、Seleniumはとても優秀で補助ツールもたくさん公開されていますが、情報を集めて適切に使用するのはとても難しいということです。調べたりカスタマイズしたりするのに1か月かかるのであれば、有償ツール1ライセンス買うという選択肢もありかもしれません。見えないコストに惑わされずに活用していきたいところです。

Seleniumを含む、テスト自動化の歴史は、12月1日に開催されたシステムテスト自動化カンファレンス2013のクロージングセッションで、辰巳さんが紹介しています。是非スライドをご覧いただければと思います。

広告

YWTで振り返るWACATE2013冬

2013年12月14日(土)~15日(日)に開催されたWACATE2013冬に参加してきました!

WACATE2013 冬 ~それにしても、テストは広大だわ~ 開催概要
WACATE2013冬 #wacate2013w

各セッションのレポートは追々…?ということにして、セッション7「そのテスト、再考~R~」で行った、YWTによるWACATEの振り返りを公開します。セッション内のワークでは時間が足りなかったので帰ってから少し足しましたが、全セッションを網羅しているわけではありませんので悪しからず。
なお、YWTは「Y:やったこと」「W:わかったこと」「T:次にやること」を書き出す振り返りの手法だそうです。名前は知っていましたがやったのは初めて。こういう手法も学べるのがWACATEのいいところの一つだと思います。東海で開催される勉強会では、参加者同士で回しながら書き込む手法(ぐるぐるYWT…というのでしょうか?)を使うそうですが、ワークショップ内では時間がなかったのでやめました。いつか挑戦してみたいところです。

Y W T
  • モデルベースドテストについて学んだ
  • モデルベースドテストをするにはモデルが必要
  • テストエンジニアも描けた方がよい
  • ULM描けるようになる!…書籍からかな。。
  • 伝えるためにできることについて学んだ
  • 相手の考えや背景を考慮することが大事
  • 伝えたいことを明確にする
  • 自分が理解できていないと伝えられない
  • 相手のことを確認する時間を設ける
  • 伝えたいことを伝えられるレベルまで理解を深める
  • やってできないこともなかったから、とにかく伝える機会を増やす
  • いろんな体系や組織を知った
  • 世の中には様々な経験や知見に基づいたいろんな体系がある
  • オレオレのやり方をするより断然効率が良い
  • まずはSQuBOKを買う!(がしかし最新が出てほしいので迷う)
  • 分科会:WACATE Before/Afterのトーカー
  • いろんな人の話を纏める技術って大事
  • 臨機応変に対応することも大事
  • 分科会の事前準備や挑む姿勢のありかた
  • 聞きながら話しながらマインドマップで即座に纏める技術を少しずつ盗む
  • その場で対応も必要だけどリスクを事前に予測しておくとよい
  • テスト技法だけじゃなくマネジメント含めいろんな手法を身につけたい
  • 次々回までにオーナーやりたい
  • いろんな人と話すよう心掛けた
  • 初参加者や繋がりの薄かった方と話すには、繋がりの強いよく会える方々から離れるようにすればよい
  • 苦手分野や未経験ゾーンの話になると困ってしまった
  • お互いのためにならないなら離席もあり、無理しない
  • 架け橋にならなくても各自が解決できちゃうのがWACATE、見守る
  • 勝手にWACATE親善大使をやった
  • 私が初参加したときと同じようなきっかけで参加した方が結構いる
  • 親善大使継続
  • 自分の経緯を改めてまとめておきたい
  • そもそもWACATE申込み前に満員御礼の札が上がって青ざめた
  • 半べそかきながら「キャンセル待ち」のお願いメールを出した
  • 締め切り駆動は締め切りが明確な場合のみ有効
  • 熱意は伝わる
  • リスクマネジメントをしましょう

「T:次にやること」はもっと明確にすべきなのだろうけれど、反省とか期待とかになっちゃいました。この中で直近でできることは…「UML描けるようになる」と「自分の経緯をまとめておきたい」かな。前者は業界の常識なのだと薄々思ってはいたものの、手を付けていなかった(そして実際に困っている)技術なので、挑戦したいと思います。後者は言わずもがな。それだけではなく、もっとアウトプット増やしたいです。勉強し始めてからは勿論、する前もそれなりに価値はあったのだから。

今回が4回目の参加、すなわち、外に出て勉強をし始めて1年半が経ちました。上記YWTにあるようにまだまだ未熟ではありますが、2日間通して、自分の考え方や動き方、知識が、初めよりずいぶん変わったなと感じました。そして相変わらず、とーーーーーっても楽しかったです!WACATEファンがもっともっと増えますように。
実行委員のみなさん、講演していただいた鷲崎先生、そして参加されたすべてのみなさん、大変有意義な時間を過ごすことができました。ありがとうございました。また近いうちにお会いしましょう~~!!

2013年 社長賞をいただきました

2013年度、弊社社長賞をいただきました。

表彰理由は

  • 新規営業先の開拓
  • 人材情報の提供
  • 売上への貢献
  • 業務外活動の提案

とのこと。

ありがとうございます!!

去年の夏、井の中の蛙と化していた私は初めてWACATEという井戸の外に飛び出し、大海原で活動を始めました。それら活動は月次の会議で社員全員の前で報告もしていましたが、去年は賞をいただけませんでした(2012年度は該当者なし。残念な1年でした。)。私にとっては去年の1歩がとても大きなものだったので、会社から評価してもらえるのではないかと淡い期待を抱いていたのですが、そう甘くはありませんでした。

今年は、社外活動で会社名を出して活動したこともありますが、10月には社内で勉強会を企画し、社長を始め、会社の半数の方に参加していただきました。他にも、随時展開していた案件情報がたまたま契約に繋がったというのもありますが、売上げに直結し、社員を動かした点が大きく評価されたのだと思います。

社外での活動は去年からの継続ですが、フィードバックの仕方によって相手への影響が大きく変わるということを実感しました。勉強会やワークを企画することで、自分自身の理解がより深まるというwin-winの関係でもあります。今後も積極的に機会を作り、フィードバックしていきたいと思います。