見出し画像

【テストツールで遊ぼう】第1回:TESTIM

★テストツールで遊ぼうとは?

「テストツールで遊ぼう」は、巷の気になるテストツールを好きなように触ってみて、勝手に評価してしまおうという企画です。
評価基準はあくまで主観なので、みなさんが知りたい事や一般的な基準とは全く異なる可能性があります。ですので、そのあたりを期待して本記事をお読みいただくと、とてもガッカリさせてしまうかもしれません。
そのような方のために、先に謝っておきます。どうもスミマセン!
私たちがテストツールについて好き勝手言って楽しんでいる姿をみて、
テストって面白そうだな、staafって面白そうなことやってんな、って
少しでも思っていただけたら幸いでゴザイマス。

★TESTIMで遊ぼう!

記念すべき1発目のツールは「TESTIM」のフリー版です。
https://www.testim.io/

-----------------------------
※公式サイトの紹介文
「自動化された機能テスト」
Testimは人工知能を使用して、自動テストの作成、実行、および保守をスピードアップします。
-----------------------------

TESTIM公式サイトはこんな方々がお出迎えしてくれます!

★TESTIMで遊んだ人

HN氏(N):自身でE2Eテスト自動化ツールの開発も行う、温厚なプロフェッショナル。
Massey(M)
:専門分野はテスト設計で、座右の銘は「テストを楽しむ!」

★TESTIMという会社

N: TESTIMは19億の資本金がある拡大期のベンチャーですね。地味にシリーズBも出ています。
M: 日本ではあんまり名前は聞かないけど、海外では人気あるのかな。TESTIM使ってる有名どころってなんでしょう?
N: 公式サイトみた限りでは Wix や AOLとか使ってるみたいですよ。
M: 試しに入れてみただけで、実体としては殆ど使われていないっていう場合も考えられますが(笑)
N: TESTIMの人たちはAppiumの開発にも関わっていて、コミッティから賞賛されているようです。
M: いいじゃないですか。テストに関する意識が高い系の技術屋さんの集まりって感じなんですかね。
N: ブログをさかのぼったら、どうやら「E2Eの自動テストをもっとなんとかしたい」から始めた会社のようです。
M: 創業者がエンジニア出身で、テスト自動化がボトルネックだった経験があったんでしょうね。
N: 属人化と自動化のゴールが見えないところをボトルネックと感じていたようです。
M: まあ、テスト自動化に関する課題はどこも同じようなものですね。
N: で、ブログでは「それらボトルネックの解決方法を知ってるぜ」って豪語している。
M: つまりそれが TESTIMだと。
N: 俺がTESTIMでなんとかしてやるって。
M: 自信満々だ(笑)
N: これらのエピソードから、TESTIM はテストの安定性に振ってるような感じですね。
M: TESTIMは AIっていう手段ありきじゃなく、はじめっからテストの問題を解決してやろうって目的から入ったツールなんでしょうね。
N: いいですねー。

★ユーザー登録してみる

N: ユーザー登録で gmailとか弾かれる。Business Email しか受け付けない。。。
M: 完全に B向けのツールだ。TESTIMの成り立ちからすると合ってる気がしますね。
N: 今回は自分の会社メールでユーザ登録します。すごい嫌だけど(笑)
M: 無事ログインできたけど、会社名がバリ表示されてる(笑)
N: noteに乗せるときに消してくださいね!
M: 承知いたしましたー(笑)

詳しいことはナイショだw

★とりあえずTESTIMを動かしてみる

N: では、早速使ってみますか!
M: chrome の Extension をダウンロードするんですね。対応してるのは chromeだけ?
N: いや、それは無料プランなんで。
M: TESTIMは WEBのテストのみが対象になっているんですかね?
N: WEB と APP と モバイルも使えるって書いてあったような。。あ、モバイルは2月くらいからβ版が出てますね。
M: ベータ版なんだ。モバイルのほうが需要が多い気がするんだけどなー。
N: そこはちょっと残念ですね。
M: 俺がテストの課題を解決してやるぜって豪語してた割には(笑)
N: 裏はSeleniumで動いているみたいです。
M: そこはやっぱり Selenium かー。Selenium利用のベストプラクティスとしてのTESTIM。

chromeのExtensionからメニューを起動

★バグレポートのPublishing

N: 発生した不具合のアラートを Slack, JIRA, Trello などの外部ツールに自動で送れるっぽいですね。
M: アラート通知だけでなく、ジョブ管理系のツールにチケッティングできるのは便利です。
N: とりあえずテストスクリプトが途中で止まったとこがバグって判断してるようです。
M: へえ、止まったときのスクショとそこまでの再現スクリプトと両方で送れるのかー
N: とりあえず Slackに送るように設定しますね。… "host name is wrong?"って出た。どっかで設定が必要なのかな?
M: もしかして外部連携の設定関連はあんまりユーザーに優しくない?
N: …どうやらフリー版だと試せないみたいです(涙)
M: ガクっ。残念ながらバグレポートについては今回はパスということで!

SlackへのPublishing は残念ながら行えず…

★テストしてみる

N: noteに記事を書くところをCaptureしてテストを作ってみます。
M: りょうかいですー。
N: それでは、Capture スタート!
M: ExtensionだけあってCaptureまわりの操作はシンプルですね。
N: (noteで絵を書いてみる) とりあえずテスト作成完了!
M: とくにこれといった問題もなく、使いやすいですね。
N: すごくわかりやすいのがいいですね。
M: テスト編集画面では、操作ごとにスクショを並べてシナリオが表現されるんですね。イケてますねー。

キャプチャしたテストシナリオの編集画面

N: では、最初にもどってテストを実行してみましょう。
M:
おー、早い!
N:
早いですねー。イケてますねー。
M: あ、途中で止まった?
N: 初回だけ出てくるダイアログ操作をCaptureしてしまったようです。
M: はからずもテストで失敗するケースをやってみることができた、と(笑)
N: 編集画面から、操作をスクショ単位でリアサインしてシナリオを変えることも可能なんですね。
M: 便利じゃないっすか。
N: 操作の1個1個にアサーションを入れることもできる。
M: UIがわかりやすいから、メンテナンスはしやすいですねー。
N: 画像単位のバリデーションをチェックすることもできる。
M: すげー、なんでもありだ。
N: 裏でApplitools(正解のキャプチャとの差分を判定してくれるブラウザテストサービス)が動いているんじゃないかな?
M: 画像認識で「表示がずれてるよ」を検知するんですねー。
N: そうですね。

コレは手動でオブジェクト指定しているところ

M: あと、失敗するとシナリオ編集画面の失敗箇所に自動で飛ぶのが、メッセージ文より地味に便利です。
N:
でもレポートは見た目的にあんまりイケてないですね(笑)
M: でも、エラーエビデンスを勝手にスクショで残して、テスト内の想定スクショと比較して出すのはありがたい。
N: 見た目ショボいのが、ある意味わかりやすいっていう。
M: Captureでのテスト作成時に比較用のスクショをちゃんと撮っているっていうのはエライじゃないですか。
N: シナリオにはSleepや BreakPoint も入れられますし、シナリオの途中からスタートすることもできますね。
M: バグ直したところからテスト始めて確認できる、と。

レポート画面はあまりイケてない?

N: 「このオブジェクト指定にはテキストを使うべきだ」とか、オススメが出てくるのは面白いですね。
M:
で、オススメの方法に簡単に切り替えることもできる、と。
N: テスト作成時のオブジェクトのDOMがずれてたらTESTIMがいい感じにやってくれるんですね。
M: このあたりを AI様がやってくれるんだろうか?
N: わかんないですね。いろんな組み合わせをヒューリスティックにやってる可能性もありますね。
M: 「AI様がやってるんだ!」っていうわかりやすアピールがあってもいいかもです。TESTIM開発者はマジメかっ(笑)
N: とりあえずオススメ度 Very Low だったのを Very High に変えてもう一度。。お、完走しました。
M: いろんな設定もできるみたいですね。
N: Shared Plan とか、複数のシナリオをグルーピングできる機能もあるようです。
M: いわゆるテストスイートみたいなもんかな。
N: シナリオ中に IF文みたいな分岐を入れることもできるんですね。
M: でもたぶんそれを使うと、TESTIMのおいしさが削がれちゃいそう。
N: 素直な Capture & Reply が一番効果を発揮しますね。
M: Seleniumベースってことですが、子ウィンドウとかもテストできるんだろうか?その昔、Selenium使ってて苦労した記憶がありまして。
N: ちょっとやってみますか。。。あ、ちゃんと動いた。
M: すごい!感動した。
N: ちなみに最新のSelenium IDEでも動かしてみたんですが、問題なく子ウィンドウ使えました(笑)
M: なんだ、感動してちょっと損した(笑)

AI様がオススメしてくれてるんでしょうか(笑)

★TESTIMを勝手に評価

N: キレイなCapture&Replayツールですよね。
M: 確かに。キレイでしかもサクサク動く!
N: 自動テストを運用していくには、必要十分な機能は備えているように感じます。
M: シナリオ作るときに実行時の比較を意識したスクショを自動でとってエラー時のスクショと比較してみせるとか、他のテスト自動化ツールではありそうでなかった「こういうのが欲しい」って機能が備わっているのが嬉しい。
N: よく考え抜かれていますよね。自前の自動テストでもなかなかこういう痒いところに手が届く的な機能は作らない。
M: それでこれだけのスピードが出てるんだから結構すごいっすね。
N: ただテスト結果の蓄積が、ショボショボのショボ(笑)
M: TESTIMの最大のウリである AI様の恩恵はどこにあるんだろう?
N: まあ、オートフィリングの部分で少しあるのかな。あとユースケースの提案をしてくれるのはいいですね。
M: 確かに提案をしてくるっていうのはTESTIMならではの個性ですね。AIの恩恵かどうかは知らんけど。
N: 結構おもしろいテストケースを提案してくる。
M: もしログインのテストとかが必要な場合、IDやパスワードは TESTIMのクラウドにあがっちゃうのかしら?
N: テストケースのホスティングまでクラウドでやってるんで、この仕組みだったら何から何まで全部あげざるを得ないですよね。
M: BigDataとしてAIで解析されて使われちゃうんでしょ?セキュリティ的に信用できる会社なのかな?
N: もちろん秘密保持契約はあるとは思いますが、仕組み的にはなんとも言えない。
M: 新興の会社だし、そのあたりはこれからなんでしょうね。
N: そういうことを考えると、ちょっと使いにくい場面はあるのかも。
M: 簡単さとのトレードオフになるのかな。セキュリティを重視するなら他のツール使え、と。
N: たぶんそうならざるを得ないと思います。
M: ところでTESTIMのスコープってなんでしょね?Bが対象の割にはエンタープライズ系システムが得意ってわけでもなさそうですし。
N: 即応性もあるわけではないから、ゲームとかも無理そうですね。やっぱり Capture & Replay系の枠は超えられない。
M: 今回の検証対象がフリー版だったんで、もしかしたら金払えばその辺はなんとかなってるのかも。
N: 有償版がいくらかかるか調べようとしたら、Contact Us になってしまった。ユーザー課金かテスト実行課金かのプランも応相談なんでしょうね。
M: もしTESTIMを導入するなら、何に対してTESTIMをどうやって使うのかを事前にちゃんと検討しておかないと失敗しそうですね。
N: まぁ粗探しすると色々ありますが、見た目が良くて使いやすいのが何より一番ですよね!
M: ツール使うことに対するモチベーションが違ってきますよね。あとは日本語対応して欲しい。
N: モバイルアプリ対応についてもこれからっぽいですしね。
M: モバイルアプリでこれだけのことができたら結構スゴイっす!
N: モバイルアプリの Capture & Replay でしんどいのは URLがないところなんですよね。そこをどう解決するのか興味あります。

★勝手に総括

M: さて、そろそろ総括を。
N: TESTIM、普通にちゃんと使えるツールです。
M: よくありがちな、機能はいっぱいあるんだけどイマイチ使えないっていうのはなくて、ちゃんとテストする人目線で考えられている。好感持てます。
N: ソフトウェアテストの自動化がわかっている人が作ったんだろうなっていうのが見えました。
M: そういう姿勢って、今後の展開に凄く期待が持てます。
N: 変な方向に進むことはないでしょうね。
M: いいツールですよ
N: 結論としては、TESTIM、なかなかいいツールなんではないでしょうか!
M: うまくまとまったというとことで今日はお開き!
N: ありがとうございました〜

この記事が気に入ったらサポートをしてみませんか?