この記事は、ソフトウェアテスト Advent Calendar 2023 の20日目の記事です。
12月某日、僕は悩んでいました。
開発しているプロダクトの開発環境へのアクセスが遅いことに。。
きっかけ
現在開発しているプロダクトが本番環境と開発環境で分かれています。開発環境で動作確認をして、問題なければ本番リリースという流れです。僕も開発されたfeatureをチームと一緒に動作確認し、疑問点など画面共有をして話をするのですが、その度に「okauchiさん、ページの読み込み遅いですね。ネットワークがあまり強くないですか?」と言われていました。また直近開発環境を使ってE2Eテスト自動化の検討もしたく、こんな読み込みの遅さでは仕事にならないのでストレスが爆発しました。。
検証を始める
アクセスしているデバイス:2021 MacBook Pro(チップやメモリは性能高い)
同時に起動しているアプリ:ほとんどなし、VPN接続ソフトとChromeぐらい
インターネット速度:特段遅いわけでもなく、接続が不安定でもない
他に思い当たるフシは?:直接的にプロダクトコードを触らないので、他のエンジニアの方が起動している、メモリを食うアプリが多い。敷いていれば左手デバイス用のアプリをいくつか動かしているぐらい。
(余談ですが、ぼやかして書くと1つ1つの検証がずさんっぽく見えるなぁ・・w)
本番環境も遅い?:ここで気付き、遅いのはスマホ表示で動作確認をしている時だけだった!
chromeの検証内から選べるスマホ表示を確認するアレ
この画像の左から2番目のアイコンを選択状態にしてページリロードするとスマホ表示が確認できます。皆さん、これを何て読んでいますか?モバイルモード?スマホ表示モード?社内ではSPモードと呼ばれているのですが、「chrome SPモード 遅い」なんてググってもちっとも答えに辿りつかずでした。。同様にモバイルモードとかシミュレータモードとか色々試してもダメ。
(余談ですが、英語で調べていれば答えに辿りつくのが速かったかもしれない)
chatGPTに聞く
結論から言うとchatGPTがいくつか挙げてくれた要因からNetwork throttlingがslow 3Gになっていることに気づき、
これをNo throttlingに設定することでPC表示同等の読み込みが出来るようになりました!
おわりに
まさかNetwork Conditionもエミュレートされているのは盲点でした。。また一度設定をするとなかなか触る機会がないので、チームのエンジニアも覚えていなかったようです。未来の自分がまた苦しまないように記事化しました。経験が浅いドメインに関する問題を解決するのに、chatGPTにブレストしてもらうといい感じかも!