Jamとは、Webアプリケーション上で発生するバグの報告を効率化できるブラウザ拡張機能です。従来の手法と比べて報告作業が大幅に効率化され、そのスピードは約20倍に向上します。
これで、長いバグレポートとおさらばです。
本ブログでは、Jamの誕生の背景から、機能、導入方法、今後の展望まで解説していきます。
1990年代からほとんど進化することのなかった、従来のバグ報告のチケット(以下、バグチケット)の作成は、主に手作業で行われていました。しかし、必要な情報が十分に記載されていないことが多く、その結果、無駄な時間や労力がかかり、ユーザー体験の低下を招いていました。
また、時間の流れとともに、ソフトウェアの開発スピードはどんどんと加速し、迅速かつ効率的なバグ報告ツールの必要性が出てきました。
Jamはこのプロセスを近代化すべく誕生し、QAチームと開発者間のギャップを取り除き、ソフトウェアを迅速かつ効率的に提供できる環境づくりに注力してきました。現在では、教育、医療、金融、AIなど、多種多様な分野において、高速な反復作業や高品質なプロダクトリリースを支える存在となっています。
Jamは、ソフトウェア開発の現場を深く理解する熟練エンジニアチームによって設計され、現代の開発チームのニーズに応えるよう作られました。現在、技術的な機能だけでなく、使いやすさにも優れたバグ報告ツールとして注目され、正確かつ迅速なバグ報告が可能です。
Jamで作成した報告には、ネットワークリクエストやコンソールログ、使用デバイスの情報(OSやブラウザのバージョン)、ネットワーク速度など、問題解決に必要な詳細なデータが自動的に含まれます。また、Jamから取得したリンクを共有するだけで、共有された人はアカウント登録せずに、バグの詳細や原因を確認できる仕組みになっています。
Jamの機能は、テスターと開発者間で必要とされるコミュニケーションを、より密に、効率的にすることを目的としています。以下で、Jamの主要機能をいくつか紹介します。
【インスタントリプレイ】
この機能は、パフォーマンス、プライバシー、iframe、キャンバスのサポートを備えており、バグが発生した瞬間を記録します。これにより、断続的なバグも具体的に記録され、開発者はユーザーのアクションを再生してバグの原因を追跡することが可能です。
【ビデオ画面録画】
Jamはデスクトップアプリケーション向けにビデオ画面録画機能をサポートしており、テスターがバグ発生時の画面録画を簡単に行うことができます。
【スクリーンショットキャプチャ】
この機能では、ページ全体のスクリーンショットや、ホバー状態のスクリーンショットを撮ることができ、視覚的な問題やレスポンシブ要素に関連するバグの報告に有用です。また、スクリーンショットには簡単な注釈を付けることができ、テスターは問題となる箇所を報告書内で直接マークすることができます。
【開発ツールとの統合】
Jamは開発ツールと統合することで、以下のような高度なデバッグ機能を提供します。
・セキュリティ
ブラウザから直接、セキュリティ問題や警告を取得します。
・ネットワークリクエストとレスポンス
リクエストとレスポンスの詳細を表示することで、開発者がネットワーク関連の問題をデバッグできるようになります。
・GraphQL
GraphQLのデバッグをサポートし、API内の不具合やバグを完全に検出します。
・Jam.Metadata
開発者が必要とする重要なコンテキスト情報である、ブラウザのバージョン、OS、スクリーン解像度などのメタデータを自動で収集します。
▼ 関連記事 ▼
GraphQLを深掘り! 最新のAPI アーキテクチャをわかりやすく解説
【インコグニートモード対応】
プライベートな環境や機密性の高いテスト環境でも、安全にテストを行いながら、バグの収集や報告が可能です。
【モバイルインスペクター】
モバイルデバイス起因の問題を把握し、必要なデバイス情報を記録できるこの機能は、モバイルファーストのプロジェクトや、クロスプラットフォーム対応が必要な場合に特に重要です。
【JamGPT】
Jamに搭載されたAIアシスタントで、バグの詳細な説明を自動で生成でき、生産性向上に繋がります。
【キーボードショートカット】
Jamは、カスタマイズ可能なキーボードショートカット機能で、スクリーンショットのキャプチャ、録画の開始、Jamのインターフェースの起動などを、少ないキー操作で実行可能です。これにより、テスト中の操作を効率的に行え、バグ報告のスピードを大幅に向上させることができます。
【チームワークスペース】
バグレポートやスクリーンショット、動画をワークスペース内で共有できるため、チーム全員が同じ情報にアクセスでき、発生した問題を迅速に解決することが可能です。また、プロジェクトごとにワークスペースを整理できるため、進捗の追跡や適切な担当者への割り当ても簡単になります。
【プライバシーとセキュリティの向上】
Jamは、AES-256暗号化やSOC 2 Type II認証をはじめとする高度なセキュリティ機能を備えています。また、Google Cloud Platform(GCP)との統合やCloudflare CDNの利用により、エンタープライズユーザー向けのセキュリティとデータプライバシーも強化されています。
「オンラインで繋がる」ことが一般的となっている現代社会において、ツールの連携は生産性向上のために重要なポイントです。Jamは、その重要性を理解し、様々なツールの連携が可能となっています。以下で、ツールの例を挙げていきます。
・ClickUp
拡張機能内から直接タスクを作成できるため、必要な技術情報や詳細情報を含めて、担当者を簡単に振り振ることが可能です。
・Figma
デザイン実装やUIに関するバグについて、スクリーンショットに注釈を付けたり、関連するログを含めて記録することができます。
・GitHub
開発者がGitHub内でバグを追跡し、修正可能なため、タスク作成時にすべての情報が記録され、見落としの発生リスクを抑制します。
・Jira
バグチケットをJiraのプロジェクト内に直接記録できます。また、ログやスクリーンショットなど、重要な情報がすべて自動入力されるため、手作業にかかる多くの時間を短縮できます。
・Sentry
JamはSentryとの統合により、エラートラッキングとモニタリングが便利に行えます。バグにはSentryのデータが追加され、チームは問題のコンテキストや発生状況を把握できます
統合できるツールは他にも、AsanaやLinear、Notion、Slackなど多種多様で、どれも精度の高いバグ報告と、迅速な問題解決に役立ちます。
まず、Jamのブラウザ拡張機能をインストールします。
▼
Jam拡張機能内で、スクリーンキャプチャの保存先を選択できるため、「共有リンク」を選択して、ClickUpに変更します。
▼
ClickUpとの認証を案内に従って行います。
▼
統合が完了すると、Jamからワークスペース、フォルダ、リスト、担当者などを選択し、ClickUpのタスクを直接設定できるようになります。
「フィールドを編集」をクリックすると、ClickUpから表示されるフィールドを管理できます。
▼
「タスクを作成」をクリックすると、JamがClickUpタスクを作成し、そのタスクが新しいタブで自動的に開きます。
・ブラウザのサポート範囲が限られている
現在、Chromiumベースのブラウザ(Chrome、Edge、Arc、Brave、Opera)に対応していますが、FirefoxやSafariなどのブラウザではJamを利用できません。そのため、Chromium環境以外での作業が必要な開発者やテスターにとっては不便になっています。
・オフライン時の機能制限
インターネットに接続していない状態だと機能が大幅に制限されるため、インターネット接続が不可/不安定な場所での作業には不向きです。
・互換性の問題
Webサイトのインフラの更新や変更により互換性がなくなり、拡張機能がバグを検出できなくなったり、動作しなくなる可能性があります。
Jamは、上記に挙げたような課題解決に取り組んでおり、今後、FirefoxやSafariのサポート、オフライン時の機能拡張、人気開発ツールとのさらなる統合の可能性があります。また、自動問題検出や予測分析といったAI機能の追加により、さらに成長していくでしょう。
さらに、UI/UXの改善やセキュリティの強化が進むことで、Jamはアジャイルで分散型になっているテスト分野において欠かせないツールとなり、シームレスなバグ報告とチーム間の効率的な作業を実現する重要な存在であり続けるでしょう。
▼ 関連記事 ▼
Jamは、開発チームに新しいアプローチをもたらし、バグの特定、報告、解決を効率化できるツールです。その多様な機能により、バグ報告だけでなく、解決に必要な詳細情報を添えることができ、問題の早期解決を実現します。
スピードと精度が求められる現代のテスト分野において、他のツールでは実現できないような効率的なバグ報告の機能を提供しています。