E2Eテスト自動化プラットフォーム「Autify」
オーティファイはテスト自動化プラットフォームを提供する2016年創業のベンチャー企業である。オーティファイが提供するテスト自動化プラットフォーム「Autify」は、誰もが簡単に自動テストがノーコードで作れるプラットフォームだ。
同社がテスト自動化プラットフォームに着目したのは、「技術の力で世界中の人々の創造性を高める」というミッションを実現するため。ソフトウェア開発においてテストは時間をかける重要な工程だが「多くの開発者は、テストは必要と思いながらも、やりたくないことの一つだと思っています。そこを自動化し、開発者が人間しかできない創造性の高い仕事に集中できるようにプロダクトを開発しています」と松浦氏は話す。
ソフトウェア開発におけるテストと一口に言っても、ユニットテスト、システムテスト、統合テストE2Eテストがある。開発者に馴染みがあり、コードに最も近いのがユニットテストで、最も遠いのがE2Eテストである。一方、ユーザーに最も近いのがE2Eテスト、最も遠いのがユニットテストである。興味深いのは、必ずしもユニットテストが通ったからと言って、ユーザーに提供する機能が完全に動くとは限らないこと。「そのためシステムテスト、統合テスト、E2Eテストを実施する必要があります」と松浦氏。だが、コードから遠くなればなるほど、テストにかかる時間も長くなる。つまり一番、コードから遠いE2Eテストは実施するのが難しくなる。
このE2Eテストが持つ課題を解決すべく、オーティファイが提供するのが「Autify」である。
Autifyは2つの製品に分かれる。一つはWebアプリケーションをテストする「Autify for Web」。もう一つは「Autify for Mobile」。いずれも使い方は簡単だ。Autify for Webであれば、最初にシナリオの名前を付け、テスト対象となるURLを入力する。レコーディング開始ボタンを押すと、別のウインドウ上が起動し、その上で操作したことが全てテストシナリオとしてレコーディングされる。実際、松浦氏はタイトルの文字が一致しているかどうか、また英語のページでも同じ表示になっているかというテストシナリオをつくる様子を披露した。コードを1行も書くことなく、先のテストシナリオを作成した。「コードを書けば、さらに高度なテストもできるようになります」(松浦氏)
できたシナリオは複数のものを一つのテストプランに入れることで、並列実行もできる。「AutifyはPCブラウザだけではなくモバイルブラウザもサポートしているので、さまざまなデバイスでテストを同時実行できます」(松浦氏)
また定期実行だけではなく、API連携もできるので、テストの自動化に大きく貢献できる。テスト結果は、スクリーンショットがついた状態で確認できる。またビデオも録画されているので、「どこがうまくいかなかったのか、容易に把握できるようになる」と松浦氏は話す。ログもテスト結果画面で確認できるので、テストの失敗理由を容易に切り分けができるようになる。
一方のAutify for Mobileはモバイルアプリが対象。Autify for Webとの違いは、Webブラウザではなく、iOSやAndroid環境のエミュレータが立ち上がること。そのため端末実機を用意する必要もない。「エミュレータの上でタップやスワイプというアプリ操作をするだけで、誰でも簡単にテストを作成・実行できます」と松浦氏は説明する。