ノーコードで誰でもモバイルアプリをテストできる「Waldo」

Waldo(ウォルドー)を紹介しよう。素早く簡単に、開発中のモバイル用アプリのテストが可能なソフトウェア製品だ。ニューヨークを拠点とするこのスタートアップのアプリを使えば、いつも使っているブラウザー上で、普段どおりに開発中のアプリを操作できる。新しいビルドをコンパイルするごとにWaldoは、前回複数のソフトウェアやハードウェアで記録したものと同じテストを実行し、問題なく動作するかどうかを教えてくれる。

アプリ開発者なら、今は次の2つのいずれかの問題に悩まされているはずだ。いくつものスマートフォンをそろえて、それぞれで新しいビルドを実行して検証するのは大変な時間がかかる。アプリの中核的機能を実証するためのテスト用スクリプトを記述するという方法もあるが、そのための新たな苦労が発生し、頭痛の種が増える。

「素晴らしいユーザーエクスペリエンスを生み出しても、そのアプリをテストする方法が時代遅れというのは困ったことです」とCEOのAmine Bellakrid(アミン・ベラクリド)氏は話す。

Waldoは、モバイルアプリ開発の参入のハードルを下げ、小さな開発チームでも、機能やユーザーインターフェイスが自動的にテストできる恩恵が受けられるようにと考えた。これは、技術的なスキルを必要としない「ノーコード」スタートアップという大きなトレンドに沿うものだ。

同社は、Josh Kopelman(ジョシュ・コペルマン)氏が創設したFirst Round Capital主導による投資ラウンドで650万ドル(約7億円)を調達した。このラウンドには以前からの支援者であるMatrix Partnersと、複数のビジネスエンジェルも参加している。

Waldoのテスト方法はきわめてわかりやすい。開発中のアプリ(.app、.ipa、.apk)を直接実行できるため、プラットフォームに合わせたバージョンをわざわざ作る必要がない。

アプリをWaldoにアップロードすると、ブラウザーのウィンドウにアプリの操作画面が表示される。Waldoは、すべての画面とすべての操作を記録する。例えば、サインアップの手順や、コンテンツをアップロードする機能などだ。

画像クレジット:Waldo

Waldoは、テストの記録を将来のバージョンのために保管しておく。それにより、そのモバイルアプリの新しいビルドができるごとに前回行ったものと同じテストを、画面サイズ、OSのバージョン、言語が異なるいくつものデバイスで実行できるわけだ。

問題が見つかると、その旨が通知される。ユーザーはテストのリプレイを見ることができる。はっきりと原因がわかるため、問題のあるステップを簡単に特定できる。

Waldoは、ひとたびセットアップしたならあとはバックグラウンドで実行させておける。Fastlane、Bitrise、CircleCIといった標準的な継続的インテグレーション・ツール(CI)に統合できるため、問題発生の通知をSlackで受け取ったり、テストの状況をGitHubで直接見たりすることもできる。

「私たちの顧客には、毎週500回ものテストを同時に実行しているところや、1日に10回から15回のテストを何回も行っているところもあります」とベラクリド氏は言う。

Waldoは、本日お試し用の無料プランをローンチした。もっと多様なテストを実施したい場合は、有料サブスクリプションを利用することになる。すでにWaldoを使い始めている企業もある。AllTrails(オールトレイルズ)、Jumprope(ジャンプロープ)、KeepSafe(キープセーフ)、Elevate(エレベート)などだ。現在はiOSのみの対応だが、将来のAndroidの対応に向けた開発もすでに着手している。

画像クレジット:Waldo

画像クレジット:Obi Onyeador / Unsplash

[原文へ]

(翻訳:金井哲夫)

LinkedInが、インターネットトラフィックをモックする、社内テストツールFlashbackをオープンソース化

現在は Microsoftによって所有されている、プロフェッショナルのためのソーシャルネットワークLinkedInが、社内で自社の作業のために作成したツールの1つを、誰でも使えるようにオープンソース化した。同社は本日(米国時間17日)、開発者テストのためにインターネットトラフィックのモッキング(テストなどの目的のために実際の動作を模倣して動作すること)を行う、Flashbackツールのオープンソース化をアナウンスした。公開は二条項BSDライセンスの下で行われる

ブログ投稿の中で、LinkedInはFlashbackを、新しいコードを広くデプロイする前に行う、信頼性やスケーラビリティそしてスピードのテストを行うために用いてきたと述べている。その動作する様子の例はここから見ることができる。

FlashbackはBetamaxに基いている。といってもこれは古いビデオの規格名ではなく、「ウェブアプリケーションから呼び出されるHTTPコネクションを横取りして、あとで再生する」ことで、ウェブサービスとREST APIのモック動作を行い開発者テストを行わせるまた別のツールの名前だ (”Betamax”という名前は、RubyのVCR ライブラリに触発されたものだ)。

作者であるLinkedInのエンジニアのShangshang FengYabin Kang、そしてDan Vinegradたちがブログの記事に書いた主要な特徴は、Flashbackが独立した環境で動作するということである。これに対しBetamaxや類似のプロキシは動作のためにインターネット接続を必要とする。

「Flashbackはテストを目的として、ウェブサービスやREST APIなどの、HTTPならびにHTTPSリソースをモックするために設計されています。そしてそれはHTTP/HTTPSリクエストを記録し、以前に記録済のHTTPトランザクションを再生します。これは私たちが「シーン」を呼んでいるものですが、このことによりテストを完了するためにインターネットへの外部接続をする必要はなくなるのです」と彼らは書いている。

インターネットへの接続を要求しないツールを彼らが作成した理由は、彼らがBetamaxを用いていた最中にいくつかの問題に遭遇したからだ。この問題の中には、LinkedInのテスト環境がセキュリティ上の理由でインターネットアクセスを行わないという事情や、彼らのコードがOAuthやOpenIdなどの複雑なHTTPベースのインタラクションを必要とする認証プロセスを使う場合があり、それがBetamaxの再生機能では上手く動作しないというものが含まれていた。

LinkedInが、当初自社の目的のために開発したコードを外部に公開するのはこれが初めてではない。例えば2015年には、機械学習モデルを構築するためのツールキットFeatureFuの公開も行っている。

LinkedInがFeatureFuをオープンソス化した理由は、それが最早会社にとって「ビジネスを差別化するもの」だと見なされなくなったからだ。今回も、同様の理由だと思われるが、LinedInがツールを公表した際に、開発者コミュニティから各自のプロジェクトで使いたいという要求を受けたことも事実だ。

LinkedInはFlashbackをオープンソース化する一方で、その機能拡張も継続して行う。それはLinkedInが4億6500万人のユーザーへ向けて行う仕事の一環として取り組むものかもしれない。

「将来的には、FTPやJDBCなどの非HTTPプロトコルもサポートできたらと思っています」と彼らは書いている。「そしてツールの利用者たちにもMITMプロキシーフレームワークを使って、独自のカスタマイズプロトコルを導入できる柔軟性を提供できたらと思います。私たちは非Java言語のサポートを容易にするために、Flashback設定APIの改良を続けます」。

原文へ
(翻訳:sako)