EngineeringDogfoodingProductivityStory

私が重大なUIバグを5分で修正した方法(そして、あなたが定時で帰る方法)

5 min read
私が重大なUIバグを5分で修正した方法(そして、あなたが定時で帰る方法)

金曜午後のデプロイ

これが定番のネタになるのには理由があります。あなたは新しいダッシュボード機能に一週間ずっと取り組んできました。ロジックは堅実で、API統合は洗練されており、27インチの4Kモニターでは完璧に見えます。

私はコミットをプッシュし、CI/CDパイプラインが緑色になるのを見届け、週末の予定について考え始めました。時計は午後6時を回りました。帰宅の時間です。

しかし、バッグに手を伸ばしたとき、通知が届きました。

SiteSnapshot アラート: 視覚的な変更を検出しました staging.sitesnapshot.io/dashboard (差分: 15%)

自分のドッグフードを食べる

SiteSnapshotでは、積極的な「ドッグフーディング」を実践しています。私たちは自社のアプリケーションを使って自社のアプリケーションを監視しています。デプロイが発生するたびにステージング環境をスキャンするように、ビジュアルモニタリングジョブを設定していました。

私はアラートをクリックし、わずかなピクセルのずれ――たぶんフォントレンダリングの違いか、影の更新程度だろうと予想していました。

代わりに、私はこれを見ました:

サイドバーナビゲーション全体がメインコンテンツ領域に崩れ落ちていました。私が3日かけて構築した美しいデータテーブルは、ナビゲーションメニューによって完全に覆われていました。「設定」ボタンは画面の中央で目的もなく浮いていました。

問題:「私のマシンでは動く」症候群

私の大きな開発用モニターでは、CSS Gridレイアウトには十分なスペースがありました。

/* 私が書いたコード(簡略化) */
.dashboard-grid {
  display: grid;
  grid-template-columns: 250px 1fr; /* 固定サイドバー、可変コンテンツ */
}

しかし、私たちのスキャナーが模倣する標準的な13インチのラップトップ解像度では、グローバルな overflow-x: hidden ユーティリティとの詳細度の競合により、コンテンツが広すぎるとグリッドが予期せず崩れてしまいました。

もしこれに気づいていなければ、私は家に帰っていたでしょう。ユーザー(あるいはもっと悪いことに、共同創業者)が週末に進捗を確認するためにログインし、完全に壊れたインターフェースを見つけていたでしょう。月曜日の朝は緊急のホットフィックスと謝罪で始まっていたはずです。

5分間の修正

SiteSnapshotが正確に 何が 壊れているかを示し、視覚的な差分オーバーレイを提供してくれたおかげで、盲目的にバグを再現する必要はありませんでした。どこを見るべきか正確にわかっていました。

私はVS Codeを開き、競合するCSSクラスを見つけ、堅牢な修正を適用しました。

// 修正:min-widthの強制とより安全なグリッド定義
<div className="grid grid-cols-[250px_minmax(0,1fr)] h-screen">
  <Sidebar className="shrink-0" />
  <main className="overflow-auto">
    {/* ... コンテンツ ... */}
  </main>
</div>

私は修正をプッシュしました。3分後、パイプラインが完了しました。SiteSnapshotは別のスキャンを実行しました。

SiteSnapshot アラート: 視覚的な変更を検出 (差分: 15% -> 0%)

すべてが正常に戻りました。

これが重要な理由(単なるきれいなコード以上のもの)

私たちはよくコードの品質、テストカバレッジ、パフォーマンスメトリクスについて話します。しかし、エンドユーザーにとって、インターフェースこそが現実です。

  • バックエンドが10msで応答しても、「購入」ボタンがポップアップで隠れていれば、あなたのサイトは壊れています。
  • データベースが完璧に正規化されていても、モバイルでテキストが読めなければ、あなたのサイトは壊れています。

単体テストは、特定の解像度でCSSが壊れたことを検出できません。それができるのはビジュアルモニタリングだけです。

あなたの夜を取り戻そう

私は週末を台無しにする可能性のあったバグを、文字通り5分で修正しました。そして、ラップトップを閉じ、オフィスを出ました。定時で。

それが自動化されたビジュアルモニタリングの力です。単なる品質保証ではなく、安心感についてです。私はすべての開発者に同じ自信を持ってほしいのです――金曜日にデプロイして立ち去り、もし何かが 本当に 壊れたとしても、即座にそれを知ることができると知っている自信を。

Is your site visually healthy?

Don't guess. Run a deeper visual scan right now and catch hidden bugs before your users do.

Instant analysis • No credit card required