フリーWEB自動化テストツールのメリットとデメリットの比較

繰り返し利用が多いテストへの時間短縮のために、自動ブラウザのテスト導入のメリットやデメリットは何でしょうか?

また、ツールなどはあるのでしょうか。

ブラウザでUIテストの自動化導入メリット・デメリットは?

メリット

・作業時間の軽減。
・キャプチャ・リプレイ機能があるので、エビデンスの偽造・加工ができないし、面倒でもない。
・サイトを追加機能した場合に、別のサイトが動かなくなることも発見できる。
・ブラウザのバージョンアップでサイトが動かなくなることがあっても、短時間で発見ができる。
・毎回ポチポチと画面テストするのは工数的にもモチベーションにもよくないし、他の作業が出来る。
・「正確さ」と「単調さ」は人間よりも機械が向いてる。

デメリット

・テスクスクリプトをしっかりと複数人で作らないと、属人化する恐れがある。
・機能が追加/変更されていくにつれ、テストケースも増えたり変わったり不要になるので、メンテナンスも実は大変。
・JAVAの知識が必要。

自動化システム導入は、苦労を伴うが、リターンが大きいこと違いない!

UIテスト自動化製品について

共通事項

 ・複数言語に対応(Java、C#、Python、Ruby、JavaScript(Node.js))
 ・複数Webブラウザに対応(Chrome、Firefox、Internet Explorer、Microsoft Edge、Opera、Android標準Webブラウザ、iPhone) 
 ・複数のOSに対応

2. Sleniumとは


・Seleniumはツールの集合体。単体のツールで無く、Selenium WebDriver、Selenium Server、Selenium IDE、Selenium RCとある。
・バージョンは最新の3で最新である。 Selenium WebDriverの知識だけでよい
・情報量が多い。

Selenideとは

 ・ Selenium WebDriver のラップラップしたブラウザテストの自動化フレームワーク。

 ・初めからUIテストのために設計されていて、簡単にテストスクリプトを書いて実行

 ・Ajaxのテストが簡単らしい

 ・情報量はまだまだ少ない。

4.検証環境(Windows)

ブラウザは全てCromeで実施。


1.Selenium 
・OS:Winodws 7
・開発環境: Eclipse
・Python :3.5.1
・JAVA:“1.8.0_151””
・chromedrive:2.3
・Crome:62.0.3202.89

2. Selenide 
・OS:Winodws 7
・開発環境: Eclipse
・JAVA:”1.8.0_151“”
・JUNIT
・Crome:62.0.3202.89

5.検証環境(Linux)

1.Selenium

・OS:CentOS Linux release 7.4.1708 (Core)
・Python :3.5.1  ・JAVA:”1.8.0_151”
・言語:JUNIT
・chromedrive:2.3
・Crome:62.0.3202.89
・Selenium:3
・仮想ディスプレイ:Xvfb(仮想ディスプレイ)+ヘッドレスモード(Crome)

2.Selenide

・OS:CentOS Linux release 7.4.1708 (Core)i  

・JAVA:“1.8.0_151””
・言語:JUNIT
・chromedrive:2.3 ・Crome:62.0.3202.8
・Selenium:3
・仮想ディスプレイ:Xvfb(仮想ディスプレイ)
・ヘッドレスモード(Crome)は動作できず。今後の課題!

6.製品の比較(SleniumとSlenaide)

情報量: Slenium > Selenide

・まだまだ、歴史があるSleniumに比べると、Selenideは情報が少ない

環境構築の工数:Slenium> Selenide

・情報量の多さで、Sleniumのほうが難易度は低い。
・Selenideは、情報量が少なくPytonが利用できない。JAVAの知識(JUNIT・コンパイル・ビルド製品なども)
→ Pyton版とSlenaideも出てきているらしい(検証はしていない)
→Javaに慣れた人なら、問題はない。

3.操作性: Selenide > Slenium

・ブラウザの閉じ方とか、タイムアウトとか、扱い方などを考える必要はなく、ソースの作成が難しくない。

4.拡張性: Selenide > Slenium

・初めからUIテストのために設計されていて、UIテストを「スラスラ」書いて実行できます。

7.所感

ブラウザについて

・ブラウザのデフォルトは、FireFoxであるが、主流はCromeになっていくと思われる。
・ドライバを変えることで、トラブルをそれぞれ抱えている。複数のブラウザが利用できるのが特徴ではあるが、統一したほうがよいと思う。
・ブラウザの進化のスピードとても早く、WebDriveのバージョンアップが随時適切に必要。ブラウザの仕様変更で動作しなくなることもある。
・今後はブラウザを構築している団体が、ドライバをメンテナンスすることになるので、トラブルは減るかも。

ソフトウェアについて

・ Slenaideを選定したい。
情報量は少ないが、テストスクリプト作成の難易度は低く、スラスラ動く。Pytonも使えるようになりそう。

・Selenium IDEはGUIで操作できるため、利用ユーザも多いので便利だと思ったが、ブラウザの進化にいてけず、今は利用できない。
その他のIDE製品も出ているが、突然利用できなくなる可能性があるのが欠点。

・VIでJAVAのテストスクリプトのメンテナンスをすると、テストスクリプト作成に時間とトラブル対応に時間がかかるかも。
フリーのEclipseやPyCharmの統合開発環境を用意したほうが、保守性が高く、修正時間も短い。

3.その他

・単純にツールだけあればいいということではない。設計段階でテスト業務にきっちり組み込ませる必要がある。
・テストスクリプトの作成にそれなりに時間がかかる。テストを実行するのにコストがどれだけかかるかを 検討するのが何より必要。手動で実施したものがよいものもある。
・案件毎でテスト設計を組み込まないと、ツールの導入だけのとなり、継続的に利用ができない。
必要に応じた自分たちに合った手法を考えなければいけない。また、運用のノウハウは時間をかけて作るしかない。

(Visited 14 times, 1 visits today)

シェアする

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

フォローする