検索システムをSeleniumでテストする

記事
IT・テクノロジー

はじめに

DataMarina(データマリーナ)というのは、自社開発したウェブ検索システムです。サーバー上にDBシステムがなくても、1行=1レコードスタイルのデータ(表計算データやシンプルなDBデータ)のウェブ検索システムを実現できるという点が特長です。また、ToolBox(ツールボックス)はそれを簡単に扱えるようにしたパッケージです。

Selenium

今回はSelenium(セレニウム)というウェブ自動化ツール・ブラウザオートメーションツールを使って、検索システムのテストをする様子をご覧いただければと思います。

Seleniumというのは、人間が文字を入力して、クリックする、といった動作をコンピュータで自動化するためのツールです。Seleniumを操作するためにPythonを使ってプログラムしています。

テスト方法

この検索システムは、例えば1000レコードのデータを、ある列をキーとして検索するというものです、つまり、テストするとすれば、実際にその列のデータを入力してみて、表示されたものが元のレコードと同じかどうかを検証する必要があります。

1つ2つならばテストは簡単ですが、100、1000、10000…ともなると自動化しないとやっていられません。そこで、Seleniumという自動化ツールが登場します。

テスト方法は、次の通りです。
(1)データ1000レコード、およびデータ100万レコードの架空の検索システムを準備します。両者とも架空の家電情報データで、1000レコードの方はテスト用に準備したもの、100万レコードの方はquiltstyle.netに実際に置いてあるシステムです。両者とも同じquiltstyle.netに置いてテストしました。

(2)製品コード→1レコード分の表示という完全一致検索(Jet検索)のテストを行います。1000レコードの方は、1000通りの全製品コード。100万レコードの方は、全100万製品コードからランダムに抜粋した1000通りのコードを使います。

(3)検索で表示された結果と、元のレコードの項目を比較して正しいかどうかをチェックします。また、全体の時間経過を計測します。

注:テストの際には、データを入力してSearchボタンを押してから表示のために0.5秒ほど待ってからデータの照合を行います。

テストの様子

(1)以下の動画が、1000レコードの方のテストの様子です。30秒ほどの動画です。

(2)同じく以下の動画が、100万レコードの方のテストの様子です。製品コードの桁数が多いので確認できるかと思います。30秒ほどの動画です。

テストの結果

1000レコードの方は全1000件をチェックするのに699秒。誤りはありませんでした。
100万レコードの方は抜粋した1000件をチェックするのに708秒。同じく誤りはありませんでした。
100万レコードの方は、やはり数が多いので一瞬表示が遅くなることがありました。ネットやパソコンの使用状況やキャッシュなどにも左右されますが、1%強程度のスピードの差でした。
※実際に、スマホで4G回線などでアクセスするとワンテンポ表示が遅れることがあります。
※quiltstyle.netでは実際に検索を試すことができます。

まとめ

今回のテストでは、表示結果が正しいかどうかとスピードの確認が主な目的でした。
実際はもう少し複雑なデータで表示もこのように単純ではないとは思いますが、このスピードであれば実用には耐えうると考えています。

今回の記事でDataMarina+Toolboxというウェブ検索ツールに興味を持っていただけたら幸いです。
より詳しい情報は、出品サービスや出品者情報、またそちらに記載してあるネット上の紹介サイト(quiltstyle.net)をご覧いただきたいと思います。


サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す